time="2025-04-29T10:50:24Z" 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-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-device-1 Creating Container integration-test-gateway-1 Created Container integration-test-authorization-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-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 authorization-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-04-29T10:52:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46820","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-29T10:52:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46820","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.347164,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:52:15Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1745923935.9831076} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1745923936.017268} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1745923936.018571} 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":1745923936.0199122} 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":1745923936.0373373} 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":1745923936.0401425,"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":1745923936.1135426} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1745923936.1166046} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v1.3.0/opa_linux_amd64","latest_version":"1.3.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v1.3.0","subsystem":"opa","time":"2025-04-29T10:52:16Z"} 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:42232","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-29T10:52:16.181914893Z","id":"01JT0JT3XNNDKCBRSDV69F07WH","name":"crosslab","updated_at":"2025-04-29T10:52:16.181914893Z"},"request_id":"b713233c-e578-4308-a0cc-f768cf3032ba","subsystem":"openfga","timestamp":1745923936.1820173} 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:42232","raw_request":{"schema_version":"1.1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JT0JT494KNM8J4DDXKQGHMBA"},"request_id":"7f678942-4c18-43e7-b5da-31ad7805eb6c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923936.5482233} authorization-1 | {"client_addr":"127.0.0.1:46820","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-29T10:52:16Z"} authorization-1 | {"client_addr":"127.0.0.1:46820","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.234049,"resp_status":204,"subsystem":"opa","time":"2025-04-29T10:52:16Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} gateway-1 | {"time_local":"29/Apr/2025:10:52:52 +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.044","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c53ad4764441f1b58ff5a3104eb8ae0b"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 11ms","method":"HEAD","requestID":"c53ad4764441f1b58ff5a3104eb8ae0b","responseTime":11,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"29/Apr/2025:10:52:52 +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.086","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"1d153cce4f845a839c6d205afe68d2a4"} device-1 | {"level":"info","message":"HEAD /device/status 200 49ms","method":"HEAD","requestID":"194f37c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"29/Apr/2025:10:52:52 +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.034","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"6b352bc91f27c64184d5be8cfd10be2f"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 6ms","method":"HEAD","requestID":"6b352bc91f27c64184d5be8cfd10be2f","responseTime":6,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"29/Apr/2025:10:52:52 +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.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"637a5806523553df273b8eb7ec0463a8"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 40ms","method":"HEAD","requestID":"196557d0-24e8-11f0-b35e-d3a80add6c66","responseTime":40,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"29/Apr/2025:10:52:52 +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.048","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"392b3c1e402fe5275a241cf99a02fb80"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 37ms","method":"HEAD","requestID":"196ecdb0-24e8-11f0-b2b7-bd015067ff24","responseTime":37,"status":200,"url":"/experiment/status"} authentication-1 | {"level":"info","message":"POST /login 201 253ms","method":"POST","requestID":"b6d7af64c69c97d31845ae4e2a89a9e7","responseTime":253,"status":201,"url":"/login"} gateway-1 | {"time_local":"29/Apr/2025:10:53:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.299","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6d7af64c69c97d31845ae4e2a89a9e7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5MX0.SJVpkNC47kB8LnuE0xhCZ5xRby6WN_fZrhc_j5WxGVw","level":"info","message":"auth send jwt","requestID":"2cb7f1207039464b49b3aabc66dcd9d2"} authentication-1 | {"level":"info","message":"GET /auth 200 41ms","method":"GET","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":41,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2cb7f1207039464b49b3aabc66dcd9d2"} authorization-1 | {"client_addr":"127.0.0.1:57436","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:11Z"} authorization-1 | {"client_addr":"127.0.0.1:57436","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.662806,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2cb7f1207039464b49b3aabc66dcd9d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923991,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5MX0.SJVpkNC47kB8LnuE0xhCZ5xRby6WN_fZrhc_j5WxGVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 84ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":84,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62da2bf6-c7cf-4b50-883b-fff3832a28f2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923991.6496747} authorization-1 | {"level":"info","message":"POST /relations/query 200 48ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":48,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5dac428d-8646-47f4-b77d-b9de02633cb6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923991.7006376} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"8184e66c-657b-4d5c-8d55-12a8904c0574","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923991.8014667} authorization-1 | {"level":"info","message":"POST /relations/update 200 139ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":139,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56a24fc0-246d-455a-ad88-a825830a0686","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923991.8058915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:11.801442200Z"}]},"request_id":"c017552a-2183-450d-a0e8-4fbfc09e3230","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923991.8587246} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2cb7f1207039464b49b3aabc66dcd9d2"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.719","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cb7f1207039464b49b3aabc66dcd9d2"} device-1 | {"level":"info","message":"POST /devices? 201 672ms","method":"POST","requestID":"2cb7f1207039464b49b3aabc66dcd9d2","responseTime":672,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5MX0.SJVpkNC47kB8LnuE0xhCZ5xRby6WN_fZrhc_j5WxGVw","level":"info","message":"auth send jwt","requestID":"782e867a4dfcce1d319913b450dbf9ee"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"782e867a4dfcce1d319913b450dbf9ee"} authorization-1 | {"client_addr":"127.0.0.1:57436","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:12Z"} authorization-1 | {"client_addr":"127.0.0.1:57436","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":26.856111,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"782e867a4dfcce1d319913b450dbf9ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923991,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5MX0.SJVpkNC47kB8LnuE0xhCZ5xRby6WN_fZrhc_j5WxGVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":47,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9ebf30e-e9a3-4dde-8c03-2ef7e9373a0a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923992.1806686} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29879211-6730-4fd4-bc7e-2c4eaaf88fda","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923992.1956785} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"73b25d7e-0653-4ac3-897c-0aaca9e912f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923992.2828128} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04ba50ce-bb70-4c4a-8195-a0140db9bc10","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923992.283605} authorization-1 | {"level":"info","message":"POST /relations/update 200 62ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":62,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:12.282799225Z"}]},"request_id":"ddad82dd-6629-4351-9bbb-58e7da38c941","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923992.3272867} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":36,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"782e867a4dfcce1d319913b450dbf9ee"} device-1 | {"level":"info","message":"POST /devices? 201 334ms","method":"POST","requestID":"782e867a4dfcce1d319913b450dbf9ee","responseTime":334,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.346","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"782e867a4dfcce1d319913b450dbf9ee"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33535c6f6b1d9a33e1aa7619e2995347","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":"33535c6f6b1d9a33e1aa7619e2995347","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/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":"33535c6f6b1d9a33e1aa7619e2995347"} device-1 | {"level":"info","message":"OPTIONS /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/websocket 200 2ms","method":"OPTIONS","requestID":"33535c6f6b1d9a33e1aa7619e2995347","responseTime":2,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:53:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/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":"795696cba00bfe328efae308bace888b"} device-1 | {"level":"info","message":"OPTIONS /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/websocket 200 1ms","method":"OPTIONS","requestID":"795696cba00bfe328efae308bace888b","responseTime":1,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5345d6776292029c54a7783e3243af83"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"795696cba00bfe328efae308bace888b","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":"795696cba00bfe328efae308bace888b","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5N30.-hRRJ4lEJBOH_XBuSWEc9olQA7JOxsHE1fLVbuqsoQU","level":"info","message":"auth send jwt","requestID":"5345d6776292029c54a7783e3243af83"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"5345d6776292029c54a7783e3243af83","responseTime":9,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5N30.-hRRJ4lEJBOH_XBuSWEc9olQA7JOxsHE1fLVbuqsoQU","level":"info","message":"auth send jwt","requestID":"5a01261a81e41ecbe19ab581034d9d82"} authentication-1 | {"level":"info","message":"GET /auth 200 44ms","method":"GET","requestID":"5a01261a81e41ecbe19ab581034d9d82","responseTime":44,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5a01261a81e41ecbe19ab581034d9d82"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095765,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5345d6776292029c54a7783e3243af83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923997,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5N30.-hRRJ4lEJBOH_XBuSWEc9olQA7JOxsHE1fLVbuqsoQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"5345d6776292029c54a7783e3243af83","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:17Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91704,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5a01261a81e41ecbe19ab581034d9d82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923997,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5N30.-hRRJ4lEJBOH_XBuSWEc9olQA7JOxsHE1fLVbuqsoQU"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"5a01261a81e41ecbe19ab581034d9d82","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5a01261a81e41ecbe19ab581034d9d82"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/websocket 200 130ms","method":"POST","requestID":"5a01261a81e41ecbe19ab581034d9d82","responseTime":130,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:53:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.178","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":"5a01261a81e41ecbe19ab581034d9d82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5345d6776292029c54a7783e3243af83"} gateway-1 | {"time_local":"29/Apr/2025:10:53:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.371","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":"5345d6776292029c54a7783e3243af83"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/websocket 200 333ms","method":"POST","requestID":"5345d6776292029c54a7783e3243af83","responseTime":333,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI","level":"info","message":"auth send jwt","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":33.517945,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"740418c9a0fd0e7f41cc60a6477b8d1b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b","responseTime":42,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:11.801442200Z"}]},"request_id":"0bfab0f7-0059-4ac8-8c47-3cbbf6862b5e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923998.6161845} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","method":"POST","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b","responseTime":40,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b"} gateway-1 | {"time_local":"29/Apr/2025:10:53:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b"} device-1 | {"level":"info","message":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? 200 138ms","method":"GET","requestID":"740418c9a0fd0e7f41cc60a6477b8d1b","responseTime":138,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI","level":"info","message":"auth send jwt","requestID":"840b14c9e1769158ea6476a1dd598bff"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"840b14c9e1769158ea6476a1dd598bff","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"840b14c9e1769158ea6476a1dd598bff"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.045431,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"840b14c9e1769158ea6476a1dd598bff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"840b14c9e1769158ea6476a1dd598bff","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:12.282799225Z"}]},"request_id":"9bd7fdd3-90bc-4088-b764-7d3f7c2259a3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923998.7240155} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"840b14c9e1769158ea6476a1dd598bff","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"840b14c9e1769158ea6476a1dd598bff"} gateway-1 | {"time_local":"29/Apr/2025:10:53:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"840b14c9e1769158ea6476a1dd598bff"} device-1 | {"level":"info","message":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? 200 83ms","method":"GET","requestID":"840b14c9e1769158ea6476a1dd598bff","responseTime":83,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI","level":"info","message":"auth send jwt","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} authentication-1 | {"level":"info","message":"GET /auth 200 53ms","method":"GET","requestID":"0b8800de0e5a460804aa75ecf41d82c0","responseTime":53,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.01532,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0b8800de0e5a460804aa75ecf41d82c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"0b8800de0e5a460804aa75ecf41d82c0","responseTime":34,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to run experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to book experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully booked experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915697,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 55ms","method":"POST","requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775","responseTime":55,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 57ms","method":"POST","requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775","responseTime":57,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092146,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:12.282799225Z"}]},"request_id":"7c7b19dd-3252-4199-a739-e970b58a4245","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.3849583} authorization-1 | {"level":"info","message":"POST /relations/query 200 17ms","method":"POST","requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:11.801442200Z"}]},"request_id":"3f94dac4-0389-414d-b18a-7659c71a3279","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.3895614} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? 200 142ms","method":"GET","requestID":"2953dd60-24e8-11f0-a431-d1fa1ca0a775","responseTime":142,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? 200 147ms","method":"GET","requestID":"29536830-24e8-11f0-a431-d1fa1ca0a775","responseTime":147,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Setting up experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully set up experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913393,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2996b2c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976054,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully running experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.443677,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2996b2c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"2996b2c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2996b2c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling 200 105ms","method":"POST","requestID":"2996b2c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":105,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c9dd47c-7d6b-4438-80fd-b0f15e78cf43","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.774334} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:12.282799225Z"}]},"request_id":"abcb1bb1-456c-4115-857a-e904c006705a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.8308997} authorization-1 | {"level":"info","message":"POST /relations/query 200 79ms","method":"POST","requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775","responseTime":79,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"29abc160-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:11.801442200Z"}]},"request_id":"02a9a6d9-dc3d-44c3-b3da-245dcfef6a12","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.8771417} authorization-1 | {"level":"info","message":"POST /relations/query 200 17ms","method":"POST","requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? 200 152ms","method":"GET","requestID":"29963d90-24e8-11f0-a431-d1fa1ca0a775","responseTime":152,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F229c7490-5ddb-4441-ac62-d67a04e782d0#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F229c7490-5ddb-4441-ac62-d67a04e782d0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0980339b-3dfb-4e31-b9b3-e1b873a677d8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.9126287} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? 200 235ms","method":"GET","requestID":"2995c860-24e8-11f0-a431-d1fa1ca0a775","responseTime":235,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"29badc90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6f98b12-b690-4775-ba5e-be2c16306bb6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.9140284} authorization-1 | {"level":"info","message":"POST /relations/update 200 182ms","method":"POST","requestID":"0b8800de0e5a460804aa75ecf41d82c0","responseTime":182,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"391fd429-21e8-4e9f-999e-ab1b37c2f887","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745923999.9544268} experiment-1 | {"level":"info","message":"POST /experiments? 201 1205ms","method":"POST","requestID":"0b8800de0e5a460804aa75ecf41d82c0","responseTime":1205,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.010402,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29abc160-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","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":"29/Apr/2025:10:53:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"29abc160-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling 200 193ms","method":"POST","requestID":"29abc160-24e8-11f0-a431-d1fa1ca0a775","responseTime":193,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 184ms","method":"POST","requestID":"29abc160-24e8-11f0-a431-d1fa1ca0a775","responseTime":184,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"87ece5cca9f2dee506c4d07ad239e1f8"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMH0.sOZWL6kYeJVLecj-kdRxkq4bMkpZY9kdAMT7CJhRGVg","level":"info","message":"auth send jwt","requestID":"87ece5cca9f2dee506c4d07ad239e1f8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"87ece5cca9f2dee506c4d07ad239e1f8","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bee980c6-024f-43e7-9536-a6f500f2c3c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.0715356} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.714957,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29badc90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"29badc90-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.174652,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"87ece5cca9f2dee506c4d07ad239e1f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924000,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMH0.sOZWL6kYeJVLecj-kdRxkq4bMkpZY9kdAMT7CJhRGVg"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"29badc90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"87ece5cca9f2dee506c4d07ad239e1f8","responseTime":41,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling 200 151ms","method":"POST","requestID":"29badc90-24e8-11f0-a431-d1fa1ca0a775","responseTime":151,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"29d25c30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:11.801442200Z"}]},"request_id":"ac7127ae-043e-4244-8b40-4b20694a3282","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.1476057} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"87ece5cca9f2dee506c4d07ad239e1f8","responseTime":36,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.670932,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e66997ac-aeac-4547-a594-682b0713e349","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.1519918} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29d25c30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","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 succeeded","requestID":"87ece5cca9f2dee506c4d07ad239e1f8"} device-1 | {"level":"info","message":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? 200 129ms","method":"GET","requestID":"87ece5cca9f2dee506c4d07ad239e1f8","responseTime":129,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87ece5cca9f2dee506c4d07ad239e1f8"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","method":"POST","requestID":"29d25c30-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMH0.sOZWL6kYeJVLecj-kdRxkq4bMkpZY9kdAMT7CJhRGVg","level":"info","message":"auth send jwt","requestID":"4496ce6645d6e1467af69f2d89b86f76"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4496ce6645d6e1467af69f2d89b86f76","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"29d25c30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling 200 91ms","method":"POST","requestID":"29d25c30-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4496ce6645d6e1467af69f2d89b86f76"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Building connection plan","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1310dbb6-8c2a-4cfe-aee6-3db7444303d6"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"624a8fb3-94db-4f65-8af4-cc2f66676c93"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"fdddf6c8-c496-49ae-9c65-a96f73ba160c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089922,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4496ce6645d6e1467af69f2d89b86f76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924000,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMH0.sOZWL6kYeJVLecj-kdRxkq4bMkpZY9kdAMT7CJhRGVg"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"4496ce6645d6e1467af69f2d89b86f76","responseTime":41,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:12.282799225Z"}]},"request_id":"41b6d4e5-de72-4df9-907f-55caa7708fee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.2585776} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"4496ce6645d6e1467af69f2d89b86f76","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.222171,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745923998,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyMzk5OH0.WYdO95kHKsJ9q-V7z6yleFxA-YIRvXZP12nGvzTaeMI"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4496ce6645d6e1467af69f2d89b86f76"} gateway-1 | {"time_local":"29/Apr/2025:10:53:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4496ce6645d6e1467af69f2d89b86f76"} device-1 | {"level":"info","message":"GET /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47? 200 134ms","method":"GET","requestID":"4496ce6645d6e1467af69f2d89b86f76","responseTime":134,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"ea0f12fd-463d-4108-af99-cc25be043948","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.4427516} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd169f68-9911-44c0-ad60-a00b9d02d128","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.444133} authorization-1 | {"level":"info","message":"POST /relations/update 200 61ms","method":"POST","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775","responseTime":61,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50'","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50'","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 289ms","method":"POST","requestID":"29e5e430-24e8-11f0-a431-d1fa1ca0a775","responseTime":289,"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":"29e5e430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","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/7e9f4244-822c-4853-b577-b23d81cb5f50","device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","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/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0b8800de0e5a460804aa75ecf41d82c0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a373880-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.837563,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25b2f64b-841f-47c8-902b-87419e070e40","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.784023} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2a373880-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"2a373880-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a373880-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling 200 53ms","method":"POST","requestID":"2a373880-24e8-11f0-a431-d1fa1ca0a775","responseTime":53,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2a401220-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.615218,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47250dbb-b3ec-436e-920d-c2831e18a805","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924000.8406537} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2a401220-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","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 | {"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2a401220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling 200 100ms","method":"POST","requestID":"2a401220-24e8-11f0-a431-d1fa1ca0a775","responseTime":100,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 98ms","method":"POST","requestID":"2a401220-24e8-11f0-a431-d1fa1ca0a775","responseTime":98,"status":200,"url":"/authorize"} device-1 | {"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7808299907049054038 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:WY47\r\na=ice-pwd:sbmTHzPxW+jMV5IpQsThAZaA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BD:C2:AA:86:96:B7:D7:9D:DD:C7:E2:46:A9:BE:58:A7:20:DA:63:2E:E1:C4:67:5F:DF:3E:4A:25:AA:C5:B6:A7\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3352503715488478853 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:M5oU\r\na=ice-pwd:z9EQ04Wa8PtYhD42wXonUaU9\r\na=ice-options:trickle\r\na=fingerprint:sha-256 7D:69:5B:24:A8:68:57:04:0E:62:BA:6A:D2:77:AF:C4:EF:8E:4A:90:4B:78:6B:92:06:DE:22:49:8B:0C:74:39\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:418672302 1 udp 2113937151 f788aff6-ec52-41b4-a694-d9247d973b26.local 55517 typ host generation 0 ufrag M5oU network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","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/5a90e979-dea4-4b08-a88f-0723df9f8d47'"} device-1 | {"content":{"candidate":"candidate:3784757245 1 udp 2113937151 1fb75856-a1a5-4984-8921-f694fac66b9e.local 37104 typ host generation 0 ufrag WY47 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7e9f4244-822c-4853-b577-b23d81cb5f50","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"daed9a09973be62e7d4719497d4a85b9","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":"daed9a09973be62e7d4719497d4a85b9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} 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/5a90e979-dea4-4b08-a88f-0723df9f8d47"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"}}},"level":"info","message":"received a callback","requestID":"daed9a09973be62e7d4719497d4a85b9"} device-1 | {"device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"7e9f4244-822c-4853-b577-b23d81cb5f50","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"29/Apr/2025:10:53:21 +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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"daed9a09973be62e7d4719497d4a85b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 96ms","method":"POST","requestID":"daed9a09973be62e7d4719497d4a85b9","responseTime":96,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo","level":"info","message":"auth send jwt","requestID":"f090820a71d8ec752fcd76432277640f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f090820a71d8ec752fcd76432277640f","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"f090820a71d8ec752fcd76432277640f"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.026352,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f090820a71d8ec752fcd76432277640f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924001,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f090820a71d8ec752fcd76432277640f","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"peerconnection":"7e9f4244-822c-4853-b577-b23d81cb5f50","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"f090820a71d8ec752fcd76432277640f"} gateway-1 | {"time_local":"29/Apr/2025:10:53:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f090820a71d8ec752fcd76432277640f"} experiment-1 | {"level":"info","message":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 200 145ms","method":"GET","requestID":"f090820a71d8ec752fcd76432277640f","responseTime":145,"status":200,"url":"/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7e9f4244-822c-4853-b577-b23d81cb5f50","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8f683724172b43b8e2b495c641ea504","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":"e8f683724172b43b8e2b495c641ea504","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/5a90e979-dea4-4b08-a88f-0723df9f8d47"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"}}},"level":"info","message":"received a callback","requestID":"e8f683724172b43b8e2b495c641ea504"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2ab9fd10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo","level":"info","message":"auth send jwt","requestID":"274e81ae8d08076b232d5a1de750df25"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"274e81ae8d08076b232d5a1de750df25","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7e9f4244-822c-4853-b577-b23d81cb5f50","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3ba110-c231-4f3f-9e23-cdf244550c0e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924001.650322} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":8.380627,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"274e81ae8d08076b232d5a1de750df25"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ab9fd10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","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 14ms","method":"POST","requestID":"2ab9fd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2ab9fd10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50 200 62ms","method":"GET","requestID":"2ab9fd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":62,"status":200,"url":"/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.987867,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"274e81ae8d08076b232d5a1de750df25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924001,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"274e81ae8d08076b232d5a1de750df25","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"274e81ae8d08076b232d5a1de750df25"} gateway-1 | {"time_local":"29/Apr/2025:10:53:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"274e81ae8d08076b232d5a1de750df25"} experiment-1 | {"level":"info","message":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 200 86ms","method":"GET","requestID":"274e81ae8d08076b232d5a1de750df25","responseTime":86,"status":200,"url":"/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 208ms","method":"POST","requestID":"e8f683724172b43b8e2b495c641ea504","responseTime":208,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2ad32a60-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:53:21 +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.240","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8f683724172b43b8e2b495c641ea504"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.108077,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"563dd247-4371-4507-90fb-ba0d27d4d961","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924001.82991} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ad32a60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"2ad32a60-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo","level":"info","message":"auth send jwt","requestID":"697a06e4fb8ddeea6db71ed820823024"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"697a06e4fb8ddeea6db71ed820823024","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2ad32a60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling 200 85ms","method":"POST","requestID":"2ad32a60-24e8-11f0-a431-d1fa1ca0a775","responseTime":85,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"697a06e4fb8ddeea6db71ed820823024"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2ae0bef0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41478","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.300781,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.941858,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"697a06e4fb8ddeea6db71ed820823024","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924001,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"697a06e4fb8ddeea6db71ed820823024","responseTime":42,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19be57f2-cb54-426f-baaf-360f2ca62a62","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924001.9005654} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ae0bef0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 81ms","method":"POST","requestID":"2ae0bef0-24e8-11f0-a431-d1fa1ca0a775","responseTime":81,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"697a06e4fb8ddeea6db71ed820823024"} gateway-1 | {"time_local":"29/Apr/2025:10:53:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"697a06e4fb8ddeea6db71ed820823024"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo","level":"info","message":"auth send jwt","requestID":"ca2c7636142f3c63695e46d5656833b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2ae0bef0-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"ca2c7636142f3c63695e46d5656833b8","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling 200 105ms","method":"POST","requestID":"2ae0bef0-24e8-11f0-a431-d1fa1ca0a775","responseTime":105,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling"} experiment-1 | {"level":"info","message":"GET /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 200 131ms","method":"GET","requestID":"697a06e4fb8ddeea6db71ed820823024","responseTime":131,"status":200,"url":"/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"ca2c7636142f3c63695e46d5656833b8"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.065756,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ca2c7636142f3c63695e46d5656833b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924001,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"ca2c7636142f3c63695e46d5656833b8","responseTime":36,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Attempting to finish experiment","requestID":"ca2c7636142f3c63695e46d5656833b8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.963597,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924001,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMX0.lOIl2DjFqL2tMqGXLZgSdrx7huD33UdOPVdr2acZcdo"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","device":"e77212f1-51b1-43f8-971b-169b05d6b0dc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50","device":"5a90e979-dea4-4b08-a88f-0723df9f8d47","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/7e9f4244-822c-4853-b577-b23d81cb5f50' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7e9f4244-822c-4853-b577-b23d81cb5f50","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c34ac11abf2746717178e8c7478d5c96","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":"c34ac11abf2746717178e8c7478d5c96","responseTime":2,"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/5a90e979-dea4-4b08-a88f-0723df9f8d47"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"}}},"level":"info","message":"received a callback","requestID":"c34ac11abf2746717178e8c7478d5c96"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b9c52c94ddbea76a84eb60997264dc4b","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":"b9c52c94ddbea76a84eb60997264dc4b","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7e9f4244-822c-4853-b577-b23d81cb5f50': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7e9f4244-822c-4853-b577-b23d81cb5f50","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"8625bebf-60aa-4fcb-aab3-f095c01846e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.2215207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"756f65d3-d4eb-4c8d-8559-17d234193c10","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.2221131} 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/5a90e979-dea4-4b08-a88f-0723df9f8d47"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"}}},"level":"info","message":"received a callback","requestID":"b9c52c94ddbea76a84eb60997264dc4b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 59ms","method":"POST","requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775","responseTime":59,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50 204 192ms","method":"DELETE","requestID":"2b033b10-24e8-11f0-a431-d1fa1ca0a775","responseTime":192,"status":204,"url":"/peerconnections/7e9f4244-822c-4853-b577-b23d81cb5f50"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"},"level":"info","message":"Successfully finished experiment","requestID":"ca2c7636142f3c63695e46d5656833b8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b29fcf0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.236796,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a90e979-dea4-4b08-a88f-0723df9f8d47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49aff93a-b0b5-4252-a276-885fc8afd703","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.375882} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2b29fcf0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47","object_type":"device","rebac_allow":false,"scope_allow":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":"2b29fcf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b29fcf0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling 200 99ms","method":"POST","requestID":"2b29fcf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":99,"status":200,"url":"/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F229c7490-5ddb-4441-ac62-d67a04e782d0': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F229c7490-5ddb-4441-ac62-d67a04e782d0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"fd53cbdc-7399-4a72-93fd-b945559d333e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.4701862} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42229f33-3a51-4595-8443-2b541945e0c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.4709027} authorization-1 | {"level":"info","message":"POST /relations/update 200 137ms","method":"POST","requestID":"ca2c7636142f3c63695e46d5656833b8","responseTime":137,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2b3e4840-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe77212f1-51b1-43f8-971b-169b05d6b0dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3d3b550-ed2c-4f96-aa89-45be0b463257","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924002.5075576} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.763481,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2b3e4840-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc","object_type":"device","rebac_allow":false,"scope_allow":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":"2b3e4840-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2b3e4840-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling 200 54ms","method":"POST","requestID":"2b3e4840-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0","requestID":"ca2c7636142f3c63695e46d5656833b8"} gateway-1 | {"time_local":"29/Apr/2025:10:53:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.756","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca2c7636142f3c63695e46d5656833b8"} experiment-1 | {"level":"info","message":"DELETE /experiments/229c7490-5ddb-4441-ac62-d67a04e782d0 204 734ms","method":"DELETE","requestID":"ca2c7636142f3c63695e46d5656833b8","responseTime":734,"status":204,"url":"/experiments/229c7490-5ddb-4441-ac62-d67a04e782d0"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.550","http_referrer":"","http_user_agent":"node-fetch","requestID":"c34ac11abf2746717178e8c7478d5c96"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 545ms","method":"POST","requestID":"c34ac11abf2746717178e8c7478d5c96","responseTime":545,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.567","http_referrer":"","http_user_agent":"node-fetch","requestID":"b9c52c94ddbea76a84eb60997264dc4b"} gateway-1 | {"time_local":"29/Apr/2025:10:53:22 +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.855","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":"c3cbd41f975ab0d504a2a113aa781794"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 562ms","method":"POST","requestID":"b9c52c94ddbea76a84eb60997264dc4b","responseTime":562,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"4.743","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":"7a46d058f0267b2404651422d8dd4c99"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMn0.Cu-KXQ-OOyqnHkA9xLCuqv3fgH6L3VSILB6L4P3vpaI","level":"info","message":"auth send jwt","requestID":"12101176223959ce9efe88db339a8470"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"12101176223959ce9efe88db339a8470","responseTime":14,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"12101176223959ce9efe88db339a8470"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873258,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"12101176223959ce9efe88db339a8470","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924002,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwMn0.Cu-KXQ-OOyqnHkA9xLCuqv3fgH6L3VSILB6L4P3vpaI"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5a90e979-dea4-4b08-a88f-0723df9f8d47' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e77212f1-51b1-43f8-971b-169b05d6b0dc' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"98c56b91-e021-4282-8254-0420c605b40f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.1803327} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8d53cf7-69f8-4a40-bfe1-976d23989613","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.1924577} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"7f0f7484-59ae-45cd-a1f7-c87b8877ba6f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.2725909} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a0b378b-2160-499a-99f3-c6b2a23a920e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.2734444} authorization-1 | {"level":"info","message":"POST /relations/update 200 97ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","responseTime":97,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.272574730Z"}]},"request_id":"04bcd56e-57c4-476d-a63d-1e454c38b3f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.329362} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"12101176223959ce9efe88db339a8470"} device-1 | {"level":"info","message":"POST /devices? 201 527ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","responseTime":527,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.579","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12101176223959ce9efe88db339a8470"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","method":"POST","requestID":"12101176223959ce9efe88db339a8470","responseTime":37,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwM30.W77z4-81WJe_jjAbA7xjC8slEiUy05AENqSxObVESkg","level":"info","message":"auth send jwt","requestID":"0ae9c9cc8c661d8933b704f19c9874f0"} authentication-1 | {"level":"info","message":"GET /auth 200 23ms","method":"GET","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":23,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ae9c9cc8c661d8933b704f19c9874f0"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:23Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.997377,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0ae9c9cc8c661d8933b704f19c9874f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924003,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwM30.W77z4-81WJe_jjAbA7xjC8slEiUy05AENqSxObVESkg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31489e55-c7e8-4fc7-b14f-ed6f917eca78","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.4693084} authorization-1 | {"level":"info","message":"POST /relations/query 200 39ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":39,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30f27c07-af97-4771-92dd-099410ad216f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.476571} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a3628bc9-41d8-461d-a6de-c1294499e9b7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.559785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5877a325-0f3d-4bc2-9fc3-a54627c87421","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.561117} authorization-1 | {"level":"info","message":"POST /relations/update 200 87ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":87,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"4d57ea58-6453-4ebf-ad4a-325c55e9e5df","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924003.5715382} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ae9c9cc8c661d8933b704f19c9874f0"} device-1 | {"level":"info","message":"POST /devices? 201 210ms","method":"POST","requestID":"0ae9c9cc8c661d8933b704f19c9874f0","responseTime":210,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ae9c9cc8c661d8933b704f19c9874f0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNX0.YqpijFp65gZgwjdod2Sx73h6WCGHFhVO_8NSCm6eX6s","level":"info","message":"auth send jwt","requestID":"67933fc62ca68fe6710004fe33b51f47"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67933fc62ca68fe6710004fe33b51f47","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"67933fc62ca68fe6710004fe33b51f47"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:25Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876177,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67933fc62ca68fe6710004fe33b51f47","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924005,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNX0.YqpijFp65gZgwjdod2Sx73h6WCGHFhVO_8NSCm6eX6s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"67933fc62ca68fe6710004fe33b51f47","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"d27c5b00-bd11-4236-ac22-7fb5aaa73886","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924005.860301} authorization-1 | {"level":"info","message":"POST /relations/query 200 76ms","method":"POST","requestID":"67933fc62ca68fe6710004fe33b51f47","responseTime":76,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5bce64da-da28-410d-ab29-32fead4470ef","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924005.9157162} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"67933fc62ca68fe6710004fe33b51f47","responseTime":7,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"a541e468-25df-423a-b4f8-622012fd0e44","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924006.0054953} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"67933fc62ca68fe6710004fe33b51f47","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"67933fc62ca68fe6710004fe33b51f47"} gateway-1 | {"time_local":"29/Apr/2025:10:53:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1fca360f-dc24-4801-9de4-1742bba149a2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.252","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"67933fc62ca68fe6710004fe33b51f47"} device-1 | {"level":"info","message":"PATCH /devices/1fca360f-dc24-4801-9de4-1742bba149a2 200 246ms","method":"PATCH","requestID":"67933fc62ca68fe6710004fe33b51f47","responseTime":246,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNn0.QJZmc0H2PEOCqqEAXf6_Z-LIxwu2V_ENEoQL733PaAw","level":"info","message":"auth send jwt","requestID":"6af72d203080dce9f215e7892c568b3e"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"6af72d203080dce9f215e7892c568b3e","responseTime":32,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6af72d203080dce9f215e7892c568b3e"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938776,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6af72d203080dce9f215e7892c568b3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924006,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNn0.QJZmc0H2PEOCqqEAXf6_Z-LIxwu2V_ENEoQL733PaAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"6af72d203080dce9f215e7892c568b3e","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6af72d203080dce9f215e7892c568b3e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.187","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6af72d203080dce9f215e7892c568b3e"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/websocket 200 153ms","method":"POST","requestID":"6af72d203080dce9f215e7892c568b3e","responseTime":153,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cd3ebafc3d81c9540687af79f481c60f","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":"cd3ebafc3d81c9540687af79f481c60f","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/47f59274-0b36-4528-9119-2b41cad38e48/websocket 200 1ms","method":"OPTIONS","requestID":"cd3ebafc3d81c9540687af79f481c60f","responseTime":1,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:53:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/47f59274-0b36-4528-9119-2b41cad38e48/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":"cd3ebafc3d81c9540687af79f481c60f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNn0.QJZmc0H2PEOCqqEAXf6_Z-LIxwu2V_ENEoQL733PaAw","level":"info","message":"auth send jwt","requestID":"3d0397b066e1f3058b257423c254b9ba"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3d0397b066e1f3058b257423c254b9ba","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3d0397b066e1f3058b257423c254b9ba"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:26Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997122,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3d0397b066e1f3058b257423c254b9ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924006,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwNn0.QJZmc0H2PEOCqqEAXf6_Z-LIxwu2V_ENEoQL733PaAw"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","method":"POST","requestID":"3d0397b066e1f3058b257423c254b9ba","responseTime":40,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3d0397b066e1f3058b257423c254b9ba"} gateway-1 | {"time_local":"29/Apr/2025:10:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.097","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":"3d0397b066e1f3058b257423c254b9ba"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/websocket 200 93ms","method":"POST","requestID":"3d0397b066e1f3058b257423c254b9ba","responseTime":93,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo","level":"info","message":"auth send jwt","requestID":"067c8dad1efae5a4b2d20093bfe88337"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"067c8dad1efae5a4b2d20093bfe88337","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"067c8dad1efae5a4b2d20093bfe88337"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947334,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"067c8dad1efae5a4b2d20093bfe88337","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"067c8dad1efae5a4b2d20093bfe88337","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.272574730Z"}]},"request_id":"6b0698f9-144d-461b-ad66-598d30c69086","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.1545012} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","method":"POST","requestID":"067c8dad1efae5a4b2d20093bfe88337","responseTime":37,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"067c8dad1efae5a4b2d20093bfe88337"} gateway-1 | {"time_local":"29/Apr/2025:10:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"067c8dad1efae5a4b2d20093bfe88337"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo","level":"info","message":"auth send jwt","requestID":"c32b9ec7326f599385914588aa4532b7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c32b9ec7326f599385914588aa4532b7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? 200 62ms","method":"GET","requestID":"067c8dad1efae5a4b2d20093bfe88337","responseTime":62,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c32b9ec7326f599385914588aa4532b7"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939461,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c32b9ec7326f599385914588aa4532b7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c32b9ec7326f599385914588aa4532b7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"11d44762-9074-4fa3-b259-37c89b315a1c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.2084687} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c32b9ec7326f599385914588aa4532b7","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c32b9ec7326f599385914588aa4532b7"} gateway-1 | {"time_local":"29/Apr/2025:10:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c32b9ec7326f599385914588aa4532b7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo","level":"info","message":"auth send jwt","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} authentication-1 | {"level":"info","message":"GET /auth 200 41ms","method":"GET","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb","responseTime":41,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? 200 92ms","method":"GET","requestID":"c32b9ec7326f599385914588aa4532b7","responseTime":92,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2?"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":41.648795,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 63ms","method":"POST","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb","responseTime":63,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to run experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to book experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully booked experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940048,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.272574730Z"}]},"request_id":"9f8e3b2e-0e95-420e-b842-4920126af1b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.537587} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"671129c0-2c97-48a2-8944-2acb9c44aad5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.537789} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":27,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 44ms","method":"POST","requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? 200 97ms","method":"GET","requestID":"2e325af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":97,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? 200 101ms","method":"GET","requestID":"2e320cd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":101,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Setting up experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully locked booking for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to update booking for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully updated booking for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully set up experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e5ced60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935899,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully running experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d151a32-ab35-402f-a868-e006a7bd1195","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.7507467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.272574730Z"}]},"request_id":"5c27f653-1bb5-4aca-853c-9668eba6033e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.7522788} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.796003,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.181886,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e5ced60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"2e5ced60-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","method":"POST","requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e5ced60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling 200 56ms","method":"POST","requestID":"2e5ced60-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? 200 62ms","method":"GET","requestID":"2e5c2a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":62,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"4e5b9014-3549-4564-bf9e-c71e924a1a1b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.7881205} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e661520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? 200 67ms","method":"GET","requestID":"2e5c7830-24e8-11f0-a431-d1fa1ca0a775","responseTime":67,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2?"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a0305d0-a2d6-44ee-9b47-91800d04a0b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.8253038} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.564917,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e661520-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","rebac_allow":false,"scope_allow":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":"2e661520-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e6b9360-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e661520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling 200 48ms","method":"POST","requestID":"2e661520-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b65cb40b-aeaf-4f1e-a8b4-9f10910f5618","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.8378637} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.70855,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e6b9360-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","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 succeeded","requestID":"2e6b9360-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling 200 47ms","method":"POST","requestID":"2e6b9360-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"2e6b9360-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2e733480-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"87b8d4d0-a33d-4efd-8183-384e573dd60f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.881922} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e843d2ac-eb82-4ff9-b73d-02b4dca56478","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.8832731} authorization-1 | {"level":"info","message":"POST /relations/update 200 145ms","method":"POST","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb","responseTime":145,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12fc8464-4de8-4e9d-bb02-56a1192e0781","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924007.890816} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.219174,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e733480-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","rebac_allow":false,"scope_allow":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":"2e733480-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2e733480-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling 200 43ms","method":"POST","requestID":"2e733480-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Building connection plan","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"951f1a87-d6d1-4914-ad8a-0ed618a9cebf"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"76872999-d418-4a83-b43b-b6fd8c109403"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bb20387d-2cf7-4729-8321-f69ae65b2efc"}]},"level":"info","message":"Built pairwise service configurations","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.899838,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:53:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.752","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} experiment-1 | {"level":"info","message":"POST /experiments? 201 721ms","method":"POST","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb","responseTime":721,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo","level":"info","message":"auth send jwt","requestID":"a7c8586fd6771c97426db2f4ab013fd6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a7c8586fd6771c97426db2f4ab013fd6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7c8586fd6771c97426db2f4ab013fd6"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.795202,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a7c8586fd6771c97426db2f4ab013fd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924007,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwN30.KVg8kT23k7Q96pLnfWqm4mgYOCo0QZFNFZwEH7FUwPo"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"a7c8586fd6771c97426db2f4ab013fd6","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0e68a83d-fcfb-4f65-a3b5-30f1eed12717","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.0174663} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fad55950-624b-49cb-8c8e-61994d494435","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.017801} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775","responseTime":55,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.272574730Z"}]},"request_id":"ba9d3a92-300c-479c-9b6d-fdd1531378a3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.0251553} authorization-1 | {"level":"info","message":"POST /relations/query 200 46ms","method":"POST","requestID":"a7c8586fd6771c97426db2f4ab013fd6","responseTime":46,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5'","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5'","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 184ms","method":"POST","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775","responseTime":184,"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":"a7c8586fd6771c97426db2f4ab013fd6"} gateway-1 | {"time_local":"29/Apr/2025:10:53:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7c8586fd6771c97426db2f4ab013fd6"} device-1 | {"level":"info","message":"GET /devices/47f59274-0b36-4528-9119-2b41cad38e48? 200 143ms","method":"GET","requestID":"a7c8586fd6771c97426db2f4ab013fd6","responseTime":143,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"2e7be710-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwOH0.mUBvmzhOjCgw4Q7eZ8yB1SF5Zitcg02tHZzJ0b2WNb8","level":"info","message":"auth send jwt","requestID":"c44ebf013527fabe97ab30a3cdd2ef00"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c44ebf013527fabe97ab30a3cdd2ef00","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c44ebf013527fabe97ab30a3cdd2ef00"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855112,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c44ebf013527fabe97ab30a3cdd2ef00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924008,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAwOH0.mUBvmzhOjCgw4Q7eZ8yB1SF5Zitcg02tHZzJ0b2WNb8"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c44ebf013527fabe97ab30a3cdd2ef00","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","device":"47f59274-0b36-4528-9119-2b41cad38e48","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} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:23.559769676Z"}]},"request_id":"d7bb2c98-a0cd-46ec-82d2-1c871b878fef","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.17735} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"c44ebf013527fabe97ab30a3cdd2ef00","responseTime":36,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c44ebf013527fabe97ab30a3cdd2ef00"} device-1 | {"level":"info","message":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? 200 83ms","method":"GET","requestID":"c44ebf013527fabe97ab30a3cdd2ef00","responseTime":83,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fca360f-dc24-4801-9de4-1742bba149a2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c44ebf013527fabe97ab30a3cdd2ef00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"eb1a419c5aa8fc775e8d55dbcf19cdbb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2eb40e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ceb88f7-f6ed-44f5-bb0a-c9806e6c1d0f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.3131769} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.4166,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2eb40e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","rebac_allow":false,"scope_allow":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":"2eb40e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2eb40e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling 200 22ms","method":"POST","requestID":"2eb40e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":22,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2eb79080-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"180bc98d-22d5-4156-94d3-817237cea023","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924008.3588214} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.060503,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2eb79080-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"2eb79080-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2eb79080-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling 200 45ms","method":"POST","requestID":"2eb79080-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling"} device-1 | {"device":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1982101287153605029 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:fNXI\r\na=ice-pwd:QWzhkr78ddiA4uMM3M908k+o\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AA:52:0D:95:9A:85:7D:2F:14:EC:88:3D:66:63:A8:5D:89:F4:F1:97:EE:5C:4F:05:66:FB:2B:22:8C:A1:2F:AB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1138102006 1 udp 2113937151 5d011cfc-f771-436a-bdd3-79cb982f4731.local 41009 typ host generation 0 ufrag fNXI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"1fca360f-dc24-4801-9de4-1742bba149a2","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/05596e83-b877-4df7-aef0-566090b660b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"318a89d72e04c43e8e0dd72dccb7e11c","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":"318a89d72e04c43e8e0dd72dccb7e11c","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/47f59274-0b36-4528-9119-2b41cad38e48"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"}}},"level":"info","message":"received a callback","requestID":"318a89d72e04c43e8e0dd72dccb7e11c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"318a89d72e04c43e8e0dd72dccb7e11c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +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":"318a89d72e04c43e8e0dd72dccb7e11c"} device-1 | {"device":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","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/05596e83-b877-4df7-aef0-566090b660b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea15295c01cca0ee05b71cf8bb952282","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":"ea15295c01cca0ee05b71cf8bb952282","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/47f59274-0b36-4528-9119-2b41cad38e48"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"}}},"level":"info","message":"received a callback","requestID":"ea15295c01cca0ee05b71cf8bb952282"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"2ff0acc0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F05596e83-b877-4df7-aef0-566090b660b5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ead45745-e325-4c80-a139-5ce29c350ad3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.3846133} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.677388,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ff0acc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","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":"2ff0acc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"2ff0acc0-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA","level":"info","message":"auth send jwt","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/05596e83-b877-4df7-aef0-566090b660b5 200 13ms","method":"GET","requestID":"2ff0acc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.924576,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924010,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 66ms","method":"POST","requestID":"ea15295c01cca0ee05b71cf8bb952282","responseTime":66,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +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.071","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea15295c01cca0ee05b71cf8bb952282"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"2ff9fb90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef592bdc-526e-4cdf-beb0-409bbccef5a8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.4709854} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.217137,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ff9fb90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","rebac_allow":false,"scope_allow":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":"2ff9fb90-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b"} experiment-1 | {"level":"info","message":"GET /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262 200 58ms","method":"GET","requestID":"eddb6a4ee6dc2cc31bf95dd91b74a45b","responseTime":58,"status":200,"url":"/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA","level":"info","message":"auth send jwt","requestID":"30b32d5b01620542a662d3cb5ba5e867"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","requestID":"30b32d5b01620542a662d3cb5ba5e867"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"30b32d5b01620542a662d3cb5ba5e867","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"2ff9fb90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling 200 40ms","method":"POST","requestID":"2ff9fb90-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.880131,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"30b32d5b01620542a662d3cb5ba5e867","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924010,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30010070-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"30b32d5b01620542a662d3cb5ba5e867","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Attempting to finish experiment","requestID":"30b32d5b01620542a662d3cb5ba5e867"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48143458-3aac-4e03-a49d-5a646e0c8356","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.5191116} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.435639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.014468,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"30010070-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","rebac_allow":false,"scope_allow":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":"30010070-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924010,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30010070-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling 200 44ms","method":"POST","requestID":"30010070-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5","device":"47f59274-0b36-4528-9119-2b41cad38e48","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"1fca360f-dc24-4801-9de4-1742bba149a2","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":"1fca360f-dc24-4801-9de4-1742bba149a2","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/05596e83-b877-4df7-aef0-566090b660b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"closed","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":"closed","url":"http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"}}},"level":"info","message":"received a callback","requestID":"6366d2119565dcdb5fa32d28240f2be0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6366d2119565dcdb5fa32d28240f2be0","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":"6366d2119565dcdb5fa32d28240f2be0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"157f8dfa97d315a7354ec832724acba0","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":"157f8dfa97d315a7354ec832724acba0","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/47f59274-0b36-4528-9119-2b41cad38e48"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"}}},"level":"info","message":"received a callback","requestID":"157f8dfa97d315a7354ec832724acba0"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F05596e83-b877-4df7-aef0-566090b660b5': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F05596e83-b877-4df7-aef0-566090b660b5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"57d93300-5f11-4fae-8561-b282ea726c95","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.5838926} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01171bd4-2861-4055-a4a5-476a03dcb5c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.5847178} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"05596e83-b877-4df7-aef0-566090b660b5","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/05596e83-b877-4df7-aef0-566090b660b5 204 150ms","method":"DELETE","requestID":"3004f810-24e8-11f0-a431-d1fa1ca0a775","responseTime":150,"status":204,"url":"/peerconnections/05596e83-b877-4df7-aef0-566090b660b5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"},"level":"info","message":"Successfully finished experiment","requestID":"30b32d5b01620542a662d3cb5ba5e867"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"30224410-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F47f59274-0b36-4528-9119-2b41cad38e48","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d8b1977-92da-4797-8307-440b9619737b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.7120855} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.362783,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"30224410-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48","object_type":"device","rebac_allow":false,"scope_allow":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":"30224410-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"30224410-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling 200 15ms","method":"POST","requestID":"30224410-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/47f59274-0b36-4528-9119-2b41cad38e48/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3024b510-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fca360f-dc24-4801-9de4-1742bba149a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60f79f7b-98be-421c-b4a6-5c537883e38d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.7262669} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.344079,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3024b510-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"3024b510-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"22dde4fc-86a2-4742-b651-ba80a4a6842b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.755152} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5c7207f-5a85-49ed-a568-89aac7efc063","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924010.7563393} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3024b510-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling 200 43ms","method":"POST","requestID":"3024b510-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/1fca360f-dc24-4801-9de4-1742bba149a2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 85ms","method":"POST","requestID":"30b32d5b01620542a662d3cb5ba5e867","responseTime":85,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262","requestID":"30b32d5b01620542a662d3cb5ba5e867"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262 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":"30b32d5b01620542a662d3cb5ba5e867"} experiment-1 | {"level":"info","message":"DELETE /experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262 204 434ms","method":"DELETE","requestID":"30b32d5b01620542a662d3cb5ba5e867","responseTime":434,"status":204,"url":"/experiments/47bbbfe0-0c46-4e87-a0f7-5fcbfcc2e262"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +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.673","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d2f094acb646e0559e6074eabb08b6ea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 343ms","method":"POST","requestID":"6366d2119565dcdb5fa32d28240f2be0","responseTime":343,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +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.368","http_referrer":"","http_user_agent":"node-fetch","requestID":"6366d2119565dcdb5fa32d28240f2be0"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.919","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":"d7937cb2640e56770ab581f9215ed195"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA","level":"info","message":"auth send jwt","requestID":"c53170fc1bd9c1afd03d76b13a368e14"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c53170fc1bd9c1afd03d76b13a368e14"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 380ms","method":"POST","requestID":"157f8dfa97d315a7354ec832724acba0","responseTime":380,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:30 +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.385","http_referrer":"","http_user_agent":"node-fetch","requestID":"157f8dfa97d315a7354ec832724acba0"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.839936,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c53170fc1bd9c1afd03d76b13a368e14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924010,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMH0.xH7r1MWjh83yFGQFXy4yz3UYeYPg_kVe_FQWnDkVIsA"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1fca360f-dc24-4801-9de4-1742bba149a2' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/47f59274-0b36-4528-9119-2b41cad38e48' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67ed5878-1964-40c0-a5af-184a4544250f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.0143383} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40f117e6-1016-4ab9-a3fa-1dffcb4adfa2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.0200834} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"8bf4dc96-8473-4db1-906c-460b7f79471f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.0632772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e9ab4a4-6816-4aef-8337-3b2807897e49","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.0893626} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":47,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"cb90302b-9410-48ee-a02a-9878b4e2847a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.095142} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c53170fc1bd9c1afd03d76b13a368e14"} device-1 | {"level":"info","message":"POST /devices? 201 149ms","method":"POST","requestID":"c53170fc1bd9c1afd03d76b13a368e14","responseTime":149,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c53170fc1bd9c1afd03d76b13a368e14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMX0.zjHgkATTe0RnKj1bIjqpBE9CKeWa2bZrL2g1RWlssos","level":"info","message":"auth send jwt","requestID":"c921854af92734356c91d3f0270e6c6f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c921854af92734356c91d3f0270e6c6f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c921854af92734356c91d3f0270e6c6f"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:31Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.059227,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c921854af92734356c91d3f0270e6c6f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924011,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMX0.zjHgkATTe0RnKj1bIjqpBE9CKeWa2bZrL2g1RWlssos"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"43b30b24-b17e-4a2c-864f-c4ce5c74d1e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.159907} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","responseTime":28,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d96706cd-4e85-4f5b-b26d-5637bdc78036","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.1903074} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a127e1af-e472-4c57-9a70-c9a93f552bee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.2012887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ee17dda-8216-4e8e-a41d-793f170cc45d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.2015498} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.201271803Z"}]},"request_id":"0ce4ef6a-30d3-46d9-9b03-f82a4ef6fd41","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924011.2075768} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","responseTime":28,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:53:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c921854af92734356c91d3f0270e6c6f"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c921854af92734356c91d3f0270e6c6f"} device-1 | {"level":"info","message":"POST /devices? 201 126ms","method":"POST","requestID":"c921854af92734356c91d3f0270e6c6f","responseTime":126,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMn0.fySlWB1gR2QK6DomPHFmcOxY5bYVLogi4Sf5ZMYY8_4","level":"info","message":"auth send jwt","requestID":"cb8a081c3c260cac4917c8a93dfd3436"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb8a081c3c260cac4917c8a93dfd3436","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cb8a081c3c260cac4917c8a93dfd3436"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cb8a081c3c260cac4917c8a93dfd3436","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924012,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMn0.fySlWB1gR2QK6DomPHFmcOxY5bYVLogi4Sf5ZMYY8_4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb8a081c3c260cac4917c8a93dfd3436","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"b1440b68-37b5-4a27-8b5a-9eb770648a64","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924012.5979085} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cb8a081c3c260cac4917c8a93dfd3436","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48e4f287-cbf1-42d8-bfce-b64610530e3e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924012.6282105} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cb8a081c3c260cac4917c8a93dfd3436","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"6df8e4ea-d63b-4390-bf2d-c728b836fce7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924012.6823833} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cb8a081c3c260cac4917c8a93dfd3436","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cb8a081c3c260cac4917c8a93dfd3436"} device-1 | {"level":"info","message":"PATCH /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c 200 98ms","method":"PATCH","requestID":"cb8a081c3c260cac4917c8a93dfd3436","responseTime":98,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"} gateway-1 | {"time_local":"29/Apr/2025:10:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.103","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cb8a081c3c260cac4917c8a93dfd3436"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMn0.fySlWB1gR2QK6DomPHFmcOxY5bYVLogi4Sf5ZMYY8_4","level":"info","message":"auth send jwt","requestID":"8626097e50d188e112cc28b88baca789"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8626097e50d188e112cc28b88baca789","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8626097e50d188e112cc28b88baca789"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:32Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96161,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8626097e50d188e112cc28b88baca789","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924012,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxMn0.fySlWB1gR2QK6DomPHFmcOxY5bYVLogi4Sf5ZMYY8_4"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"8626097e50d188e112cc28b88baca789","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8626097e50d188e112cc28b88baca789"} gateway-1 | {"time_local":"29/Apr/2025:10:53:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8626097e50d188e112cc28b88baca789"} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/websocket 200 50ms","method":"POST","requestID":"8626097e50d188e112cc28b88baca789","responseTime":50,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"53bea1d97b43e3ac0b8399e8d7b12d80","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":"53bea1d97b43e3ac0b8399e8d7b12d80","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c46238c6-5e3c-4325-9922-5596cceb7004/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":"53bea1d97b43e3ac0b8399e8d7b12d80"} device-1 | {"level":"info","message":"OPTIONS /devices/c46238c6-5e3c-4325-9922-5596cceb7004/websocket 200 1ms","method":"OPTIONS","requestID":"53bea1d97b43e3ac0b8399e8d7b12d80","responseTime":1,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ","level":"info","message":"auth send jwt","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939696,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393"} gateway-1 | {"time_local":"29/Apr/2025:10:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/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":"a42db2ddfbeaf909ec4ab1f9ce93e393"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/websocket 200 43ms","method":"POST","requestID":"a42db2ddfbeaf909ec4ab1f9ce93e393","responseTime":43,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ","level":"info","message":"auth send jwt","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96254,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"6a97cdce-239a-4e7b-994c-86798fe17fb1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924013.9379253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230"} gateway-1 | {"time_local":"29/Apr/2025:10:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? 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":"c1d31fbe76f626bdb85c1ec6b7a6d230"} device-1 | {"level":"info","message":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? 200 12ms","method":"GET","requestID":"c1d31fbe76f626bdb85c1ec6b7a6d230","responseTime":12,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ","level":"info","message":"auth send jwt","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698472,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f43e1024f941878cfc6c09a6ed6f6d4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.201271803Z"}]},"request_id":"79a1aada-6241-4ee9-bfa1-346d05ca90b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924013.9810648} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e"} device-1 | {"level":"info","message":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? 200 14ms","method":"GET","requestID":"f43e1024f941878cfc6c09a6ed6f6d4e","responseTime":14,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ","level":"info","message":"auth send jwt","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6bbc7866f6c6cd847b471f23cc624d79","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.772242,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6bbc7866f6c6cd847b471f23cc624d79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6bbc7866f6c6cd847b471f23cc624d79","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to run experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to book experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully booked experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907194,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776565,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"75ea0c97-14b3-4a22-ac2a-5adfd38c908b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.1241086} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.201271803Z"}]},"request_id":"5d2ef399-2b5d-4438-abc6-98d3dd36478c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.125498} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? 200 42ms","method":"GET","requestID":"32267880-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? 200 18ms","method":"GET","requestID":"322a4910-24e8-11f0-a431-d1fa1ca0a775","responseTime":18,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Setting up experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully set up experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully running experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32415380-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922766,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984934,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.350653,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27fb7b1e-b064-40a7-a0d8-a9f25b7f1700","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.2737026} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32415380-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","rebac_allow":false,"scope_allow":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":"32415380-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.201271803Z"}]},"request_id":"615f175e-2b5a-474a-8e61-2fdad191849e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.276784} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32415380-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"4872bfb4-0375-4c2b-9f35-af9e019a0089","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.2797441} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling 200 41ms","method":"POST","requestID":"32415380-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F32f51897-33a1-49fe-a2ca-4537ec9215a3#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F32f51897-33a1-49fe-a2ca-4537ec9215a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"4f3e17cb-516c-4e4f-a09a-3681e1fdcda5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3102367} device-1 | {"level":"info","message":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? 200 49ms","method":"GET","requestID":"32410560-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fba7b777-9b80-4c4b-81b5-010b1ef6c73c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3125944} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"6bbc7866f6c6cd847b471f23cc624d79","responseTime":46,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? 200 51ms","method":"GET","requestID":"3240de50-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3248cd90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"324942c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} gateway-1 | {"time_local":"29/Apr/2025:10:53:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.336","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"level":"info","message":"POST /experiments? 201 332ms","method":"POST","requestID":"6bbc7866f6c6cd847b471f23cc624d79","responseTime":332,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6fcb5b9-063c-425a-a51d-d12d98c5ddb6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3251183} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60257d60-f2bb-4a52-b860-f2b868acbd6d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3252316} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.877024,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"324942c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"324942c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNH0.uygp3O9Wvo3v69NCXrCKJou5OJS041uCnv2AcB0hoSU","level":"info","message":"auth send jwt","requestID":"80c3f69479cafa8adac6228d746456d9"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"80c3f69479cafa8adac6228d746456d9","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.546591,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3248cd90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","rebac_allow":false,"scope_allow":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":"3248cd90-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80c3f69479cafa8adac6228d746456d9"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"324942c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940094,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"80c3f69479cafa8adac6228d746456d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924014,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNH0.uygp3O9Wvo3v69NCXrCKJou5OJS041uCnv2AcB0hoSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80c3f69479cafa8adac6228d746456d9","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling 200 48ms","method":"POST","requestID":"324942c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32510af0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3248cd90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling 200 56ms","method":"POST","requestID":"3248cd90-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.063261302Z"}]},"request_id":"02cf1753-c6ae-47bc-a76e-85a0f4b7de34","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3685238} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"80c3f69479cafa8adac6228d746456d9","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6df1cdb-e93d-4059-9df3-375fdeaa6eb0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.3737707} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80c3f69479cafa8adac6228d746456d9"} gateway-1 | {"time_local":"29/Apr/2025:10:53:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80c3f69479cafa8adac6228d746456d9"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.410972,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} device-1 | {"level":"info","message":"GET /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c? 200 18ms","method":"GET","requestID":"80c3f69479cafa8adac6228d746456d9","responseTime":18,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32510af0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","rebac_allow":false,"scope_allow":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":"32510af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNH0.uygp3O9Wvo3v69NCXrCKJou5OJS041uCnv2AcB0hoSU","level":"info","message":"auth send jwt","requestID":"4626e37a32e248897425ac07f129f8f2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4626e37a32e248897425ac07f129f8f2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32510af0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Building connection plan","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"66d5fa06-9bf4-4890-bb8b-dff494b10258"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0114eeb5-d6f4-40a2-91e6-08aef9d50e27"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d112f093-653a-44eb-b12a-303bfbd70ce4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling 200 44ms","method":"POST","requestID":"32510af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4626e37a32e248897425ac07f129f8f2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871087,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4626e37a32e248897425ac07f129f8f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924014,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNH0.uygp3O9Wvo3v69NCXrCKJou5OJS041uCnv2AcB0hoSU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4626e37a32e248897425ac07f129f8f2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.82415,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924013,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxM30.UnHH9gD3clF6UIxgN_CvvDnBN0dtRXFCkf4NG3rJgPQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:31.201271803Z"}]},"request_id":"93871a22-55b3-4765-b75d-fd4294be4746","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.4228997} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"4626e37a32e248897425ac07f129f8f2","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4626e37a32e248897425ac07f129f8f2"} gateway-1 | {"time_local":"29/Apr/2025:10:53:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4626e37a32e248897425ac07f129f8f2"} device-1 | {"level":"info","message":"GET /devices/c46238c6-5e3c-4325-9922-5596cceb7004? 200 42ms","method":"GET","requestID":"4626e37a32e248897425ac07f129f8f2","responseTime":42,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"7ea01d39-d6f0-4983-90ef-4340dffa0975","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.4594653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b069d2c6-33b2-42b1-9bd4-41cd614f15c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.4596868} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979'","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979'","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 86ms","method":"POST","requestID":"325836e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":86,"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":"325836e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","device":"c46238c6-5e3c-4325-9922-5596cceb7004","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/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6bbc7866f6c6cd847b471f23cc624d79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"326dbab0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddd136bc-57ec-4457-8b12-3ee0603435bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.559827} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.442447,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"326dbab0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","rebac_allow":false,"scope_allow":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":"326dbab0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"326dbab0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling 200 11ms","method":"POST","requestID":"326dbab0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"32738710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:34Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2dedacd1-e141-4380-b4c0-b2343f95eaf7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924014.5984612} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.230133,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:34Z"} device-1 | {"device":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c46238c6-5e3c-4325-9922-5596cceb7004","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/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32738710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","rebac_allow":false,"scope_allow":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":"32738710-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"32738710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling 200 12ms","method":"POST","requestID":"32738710-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling"} device-1 | {"device":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 104287636049585448 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:pooE\r\na=ice-pwd:8fhTVTilzGiJiy/fT6q6gdLM\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A8:F2:7A:8E:61:9A:25:B8:22:12:0B:65:A4:2E:A6:6D:90:30:2D:0C:F0:B5:84:67:9B:6F:7F:40:A5:1C:64:51\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3501526409 1 udp 2113937151 372c4c13-b161-4148-9548-afee6fb55c8e.local 54991 typ host generation 0 ufrag pooE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c46238c6-5e3c-4325-9922-5596cceb7004","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/c46238c6-5e3c-4325-9922-5596cceb7004'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"06af6f037ffb35cb6452de8f42718c1f","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":"06af6f037ffb35cb6452de8f42718c1f","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/c46238c6-5e3c-4325-9922-5596cceb7004"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"}}},"level":"info","message":"received a callback","requestID":"06af6f037ffb35cb6452de8f42718c1f"} device-1 | {"device":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"06af6f037ffb35cb6452de8f42718c1f","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"06af6f037ffb35cb6452de8f42718c1f"} device-1 | {"device":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c46238c6-5e3c-4325-9922-5596cceb7004","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","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/0699248f-e262-4a6b-b7d6-feaf2a6bd979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"79adce1897212fdc3d603dea851fb7e6","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":"79adce1897212fdc3d603dea851fb7e6","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/c46238c6-5e3c-4325-9922-5596cceb7004"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"}}},"level":"info","message":"received a callback","requestID":"79adce1897212fdc3d603dea851fb7e6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"33b13730-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0699248f-e262-4a6b-b7d6-feaf2a6bd979","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eebf8a6c-6e5f-4136-a170-a0eaad52548d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.6800838} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.501266,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33b13730-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","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":"33b13730-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"33b13730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979 200 9ms","method":"GET","requestID":"33b13730-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNn0.ikv-nhD4FpiMcIl5ms8xTU_9IvAYJTrMLvCO5Yw8iyY","level":"info","message":"auth send jwt","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33b97490-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"79adce1897212fdc3d603dea851fb7e6"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.886043,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bd937ef1c6a6b4e699ac8876ab82bd65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924016,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNn0.ikv-nhD4FpiMcIl5ms8xTU_9IvAYJTrMLvCO5Yw8iyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371483,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f47c6b70-4f30-452f-9f7e-07a2ba10c41a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.7589164} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"79adce1897212fdc3d603dea851fb7e6","responseTime":58,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33b97490-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","rebac_allow":false,"scope_allow":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":"33b97490-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65"} experiment-1 | {"level":"info","message":"GET /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3 200 47ms","method":"GET","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65","responseTime":47,"status":200,"url":"/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"} gateway-1 | {"time_local":"29/Apr/2025:10:53:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd937ef1c6a6b4e699ac8876ab82bd65"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33b97490-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling 200 38ms","method":"POST","requestID":"33b97490-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33c02b50-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNn0.ikv-nhD4FpiMcIl5ms8xTU_9IvAYJTrMLvCO5Yw8iyY","level":"info","message":"auth send jwt","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.994399,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924016,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNn0.ikv-nhD4FpiMcIl5ms8xTU_9IvAYJTrMLvCO5Yw8iyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.816487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3871f93c-1fd9-4ee7-9ed3-8f865639bdeb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.8072608} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33c02b50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","rebac_allow":false,"scope_allow":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":"33c02b50-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33c02b50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling 200 39ms","method":"POST","requestID":"33c02b50-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Attempting to finish experiment","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":3.395676,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924016,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxNn0.ikv-nhD4FpiMcIl5ms8xTU_9IvAYJTrMLvCO5Yw8iyY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979","device":"c46238c6-5e3c-4325-9922-5596cceb7004","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/0699248f-e262-4a6b-b7d6-feaf2a6bd979' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0699248f-e262-4a6b-b7d6-feaf2a6bd979","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4fcd34c8058c0d7805efaa3ca3b6a9ba","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":"bba17029-8c4f-426b-91f4-8324faaf9a6c","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"}} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4fcd34c8058c0d7805efaa3ca3b6a9ba","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0699248f-e262-4a6b-b7d6-feaf2a6bd979': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0699248f-e262-4a6b-b7d6-feaf2a6bd979","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"2d7421a9-d77f-4586-aa7a-4f2de5e991ef","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.8623474} 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/c46238c6-5e3c-4325-9922-5596cceb7004"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"}}},"level":"info","message":"received a callback","requestID":"4fcd34c8058c0d7805efaa3ca3b6a9ba"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e31da1d89a9a9848f3ede75b87e7f140","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":"e31da1d89a9a9848f3ede75b87e7f140","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/c46238c6-5e3c-4325-9922-5596cceb7004"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"}}},"level":"info","message":"received a callback","requestID":"e31da1d89a9a9848f3ede75b87e7f140"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"876c8b3c-4997-403d-8969-90a6b77aa9bd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.862652} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979 204 98ms","method":"DELETE","requestID":"33c66ce0-24e8-11f0-a431-d1fa1ca0a775","responseTime":98,"status":204,"url":"/peerconnections/0699248f-e262-4a6b-b7d6-feaf2a6bd979"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"},"level":"info","message":"Successfully finished experiment","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33dbc9a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc46238c6-5e3c-4325-9922-5596cceb7004","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"520a2b3e-1a57-483f-8bbd-784cb892334e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.9589405} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.785014,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33dbc9a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004","object_type":"device","rebac_allow":false,"scope_allow":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":"33dbc9a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33dbc9a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling 200 10ms","method":"POST","requestID":"33dbc9a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/c46238c6-5e3c-4325-9922-5596cceb7004/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"33dd9e60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F32f51897-33a1-49fe-a2ca-4537ec9215a3': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F32f51897-33a1-49fe-a2ca-4537ec9215a3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"b6f6f75f-943d-4ad4-9c6a-45dfd2e62dad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.9953897} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba17029-8c4f-426b-91f4-8324faaf9a6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ddcb7c0-1e84-45aa-8841-22dd5747d8ec","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.9954126} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e55b072e-d058-4f53-8e13-7a05c5708198","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924016.9958096} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.460818,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33dd9e60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c","object_type":"device","rebac_allow":false,"scope_allow":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":"33dd9e60-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"33dd9e60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling 200 37ms","method":"POST","requestID":"33dd9e60-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.333","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e"} experiment-1 | {"level":"info","message":"DELETE /experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3 204 329ms","method":"DELETE","requestID":"ffcac4c7a2f3bc2c404a104aaf2f6f4e","responseTime":329,"status":204,"url":"/experiments/32f51897-33a1-49fe-a2ca-4537ec9215a3"} gateway-1 | {"time_local":"29/Apr/2025:10:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2289","request_time":"4.363","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2bd979cb6af70f6862162cd44cb6dbec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 249ms","method":"POST","requestID":"4fcd34c8058c0d7805efaa3ca3b6a9ba","responseTime":249,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.252","http_referrer":"","http_user_agent":"node-fetch","requestID":"4fcd34c8058c0d7805efaa3ca3b6a9ba"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 271ms","method":"POST","requestID":"e31da1d89a9a9848f3ede75b87e7f140","responseTime":271,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.274","http_referrer":"","http_user_agent":"node-fetch","requestID":"e31da1d89a9a9848f3ede75b87e7f140"} gateway-1 | {"time_local":"29/Apr/2025:10:53:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.256","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":"6d25e63ee95741f1e8099f4d03e4363a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxN30.KJX7Qxs2MjPQyGZMHYj37aKiZMH0iBAVvrwMSeCxXbo","level":"info","message":"auth send jwt","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":35,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.957223,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924017,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxN30.KJX7Qxs2MjPQyGZMHYj37aKiZMH0iBAVvrwMSeCxXbo"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c46238c6-5e3c-4325-9922-5596cceb7004' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bba17029-8c4f-426b-91f4-8324faaf9a6c' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"55eb66c1-01db-4c7d-8de0-d0d91d4ca80e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.205305} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cad9767-9a44-4812-b215-a87c45411133","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.2355924} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"dca4308a-bb3c-4ef1-aa24-322b8f3ca6bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.247186} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f69d207a-c7de-4a52-95eb-0db55bd75061","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.2474961} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":16,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"e656053d-6868-4fc6-af03-97358cb7774e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.2541237} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147"} device-1 | {"level":"info","message":"POST /devices? 201 136ms","method":"POST","requestID":"c6fc6eaccabe7a4e96bb0464de7e5147","responseTime":136,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxN30.KJX7Qxs2MjPQyGZMHYj37aKiZMH0iBAVvrwMSeCxXbo","level":"info","message":"auth send jwt","requestID":"dd1be5349635c1b3a1cfbe4791106021"} device-1 | {"level":"info","message":"postDevices called","requestID":"dd1be5349635c1b3a1cfbe4791106021"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd1be5349635c1b3a1cfbe4791106021","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:37Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.008817,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"dd1be5349635c1b3a1cfbe4791106021","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924017,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxN30.KJX7Qxs2MjPQyGZMHYj37aKiZMH0iBAVvrwMSeCxXbo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5fc9351-79c1-42cd-b819-814a48b010b0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.3390238} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c8ee1c0-f2fb-4006-af12-44f08393f3d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.3445034} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"5f840d79-534a-43c1-994b-1003d431e03b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.3552656} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"def7f26b-a77d-40b2-ba6f-24deb5a7d34f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.3553686} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"4ab0b9b4-4018-4053-9674-4da6dbed6808","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924017.384063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dd1be5349635c1b3a1cfbe4791106021"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd1be5349635c1b3a1cfbe4791106021"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"dd1be5349635c1b3a1cfbe4791106021","responseTime":101,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"890934e0e42667f40374b8ee3b56e5f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"890934e0e42667f40374b8ee3b56e5f3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"890934e0e42667f40374b8ee3b56e5f3"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747532,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"890934e0e42667f40374b8ee3b56e5f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"890934e0e42667f40374b8ee3b56e5f3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"a2f83b12-38ba-4bdd-a00d-4f56192ca2e3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.361756} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"890934e0e42667f40374b8ee3b56e5f3","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fce45eb3-2d81-4ee2-8705-1afb2aeb1753","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.3896942} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"890934e0e42667f40374b8ee3b56e5f3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"f1e2b0e4-eb7c-4292-bd8c-5f942dda1b3d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.4023404} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"890934e0e42667f40374b8ee3b56e5f3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"890934e0e42667f40374b8ee3b56e5f3"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214 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":"890934e0e42667f40374b8ee3b56e5f3"} device-1 | {"level":"info","message":"PATCH /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214 200 54ms","method":"PATCH","requestID":"890934e0e42667f40374b8ee3b56e5f3","responseTime":54,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875585,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"09ca6d5f62cfbf5d135330c7f2e13a65","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/websocket 200 41ms","method":"POST","requestID":"09ca6d5f62cfbf5d135330c7f2e13a65","responseTime":41,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"c2ede266d6a95323814a22349047b5da"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c2ede266d6a95323814a22349047b5da"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c2ede266d6a95323814a22349047b5da","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874589,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c2ede266d6a95323814a22349047b5da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2ede266d6a95323814a22349047b5da","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214' connected"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"f54b8511-40df-4f29-a16e-3746058b247e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.496815} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c2ede266d6a95323814a22349047b5da","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2416f416-ec9a-4eba-8083-dfcf73f32996","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.5021663} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c2ede266d6a95323814a22349047b5da","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"2c5c2dfb-3508-4a41-951a-d45ed784a27b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.5376015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c2ede266d6a95323814a22349047b5da","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c2ede266d6a95323814a22349047b5da"} device-1 | {"level":"info","message":"PATCH /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc 200 56ms","method":"PATCH","requestID":"c2ede266d6a95323814a22349047b5da","responseTime":56,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc 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":"c2ede266d6a95323814a22349047b5da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"0fca627513439a58779f185302cc0581"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0fca627513439a58779f185302cc0581","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0fca627513439a58779f185302cc0581"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930855,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0fca627513439a58779f185302cc0581","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0fca627513439a58779f185302cc0581","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0fca627513439a58779f185302cc0581"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.054","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"0fca627513439a58779f185302cc0581"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/websocket 200 51ms","method":"POST","requestID":"0fca627513439a58779f185302cc0581","responseTime":51,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"daa9edf9e78a85fc833f87c2539646b2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"daa9edf9e78a85fc833f87c2539646b2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"daa9edf9e78a85fc833f87c2539646b2"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713799,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"daa9edf9e78a85fc833f87c2539646b2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"daa9edf9e78a85fc833f87c2539646b2","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"1e32d82b-0ffb-4551-be3a-0bde7b1109f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.64722} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"daa9edf9e78a85fc833f87c2539646b2","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? 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":"daa9edf9e78a85fc833f87c2539646b2"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"daa9edf9e78a85fc833f87c2539646b2"} device-1 | {"level":"info","message":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? 200 35ms","method":"GET","requestID":"daa9edf9e78a85fc833f87c2539646b2","responseTime":35,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"b5374e0fa0d57ac9628086826a7f7e9c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b5374e0fa0d57ac9628086826a7f7e9c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b5374e0fa0d57ac9628086826a7f7e9c"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850379,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b5374e0fa0d57ac9628086826a7f7e9c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b5374e0fa0d57ac9628086826a7f7e9c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"eec45f4c-2079-4f2e-a6ba-85741eccf657","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.687362} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b5374e0fa0d57ac9628086826a7f7e9c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b5374e0fa0d57ac9628086826a7f7e9c"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 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":"b5374e0fa0d57ac9628086826a7f7e9c"} device-1 | {"level":"info","message":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 200 11ms","method":"GET","requestID":"b5374e0fa0d57ac9628086826a7f7e9c","responseTime":11,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0","level":"info","message":"auth send jwt","requestID":"6ada8004be0334a9c020237baadef522"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"6ada8004be0334a9c020237baadef522","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6ada8004be0334a9c020237baadef522"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.714342,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6ada8004be0334a9c020237baadef522","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ada8004be0334a9c020237baadef522","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to run experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to book experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully booked experiment","requestID":"6ada8004be0334a9c020237baadef522"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662644,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838845,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"7afc2268-b34c-4a9a-a610-0be279cc780d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.8214536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"4d41009d-4dc6-43bf-82af-a755578b9cf4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.8221548} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? 200 38ms","method":"GET","requestID":"34f3a240-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 200 37ms","method":"GET","requestID":"34f3c950-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Setting up experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully set up experiment","requestID":"6ada8004be0334a9c020237baadef522"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"350814a0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully running experiment","requestID":"6ada8004be0334a9c020237baadef522"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897051,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.737263,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.384298,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95c33c50-574e-4cac-9fbe-fa48447d9986","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9298642} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"350814a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","rebac_allow":false,"scope_allow":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":"350814a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"350814a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling 200 13ms","method":"POST","requestID":"350814a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"f6a3b967-a87b-42e3-bee6-4799907ff32f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9348664} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"8af8d6da-fa45-4560-84d7-620db8783ff2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9364138} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"350ea450-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? 200 49ms","method":"GET","requestID":"35077860-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 200 47ms","method":"GET","requestID":"3507c680-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29998c1a-0c4a-4cd2-b303-0313f614e903#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29998c1a-0c4a-4cd2-b303-0313f614e903","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"27d3ad8e-463b-406b-a492-6bd47420c7dc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.940637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e230217c-bf0b-42d9-9a62-4aec56a6fba3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9650722} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"350f67a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"6ada8004be0334a9c020237baadef522","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c428ebe-b732-4dcd-945f-78968bb7c579","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9748383} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798762,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"350ea450-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","rebac_allow":false,"scope_allow":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":"350ea450-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.404373,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"864acffd-8691-4d31-9ace-03f42690d76d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924018.9758296} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"350f67a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","rebac_allow":false,"scope_allow":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":"350f67a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6ada8004be0334a9c020237baadef522"} gateway-1 | {"time_local":"29/Apr/2025:10:53:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.288","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"level":"info","message":"POST /experiments? 201 256ms","method":"POST","requestID":"6ada8004be0334a9c020237baadef522","responseTime":256,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"350ea450-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling 200 17ms","method":"POST","requestID":"350ea450-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"350f67a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling 200 14ms","method":"POST","requestID":"350f67a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOX0._lw-oCOVI-y_tXX8e66I6q_aDfqe2AYHcjIKgEzc_8I","level":"info","message":"auth send jwt","requestID":"b2707d9e75341a2681c025ab1661f88e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2707d9e75341a2681c025ab1661f88e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"35164570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2707d9e75341a2681c025ab1661f88e"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900633,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b2707d9e75341a2681c025ab1661f88e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924019,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOX0._lw-oCOVI-y_tXX8e66I6q_aDfqe2AYHcjIKgEzc_8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b2707d9e75341a2681c025ab1661f88e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f6574ce-fb68-4283-b73f-4cb16f16d40a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.0218534} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.915341,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"35164570-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","rebac_allow":false,"scope_allow":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":"35164570-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.247171192Z"}]},"request_id":"4a15f486-df43-4514-93de-14c220ea5b79","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.0282314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b2707d9e75341a2681c025ab1661f88e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"35164570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling 200 15ms","method":"POST","requestID":"35164570-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Building connection plan","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3352c984-9f19-41b6-a3f1-5bf21d19cd08"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"75a52652-f730-4481-80e4-678bd36eb1bd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"07024578-609a-4341-b14e-2e711b36382a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6ada8004be0334a9c020237baadef522"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6ada8004be0334a9c020237baadef522"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2707d9e75341a2681c025ab1661f88e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2707d9e75341a2681c025ab1661f88e"} device-1 | {"level":"info","message":"GET /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214? 200 40ms","method":"GET","requestID":"b2707d9e75341a2681c025ab1661f88e","responseTime":40,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOX0._lw-oCOVI-y_tXX8e66I6q_aDfqe2AYHcjIKgEzc_8I","level":"info","message":"auth send jwt","requestID":"29a9c96d774ce44a19f188c4e8f419a7"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.820678,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29a9c96d774ce44a19f188c4e8f419a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"29a9c96d774ce44a19f188c4e8f419a7"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924018,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOH0.nmafuCHgNXt3dfSFt4UQg74Cab7sbyp3q97HzwF1PE0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"29a9c96d774ce44a19f188c4e8f419a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924019,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAxOX0._lw-oCOVI-y_tXX8e66I6q_aDfqe2AYHcjIKgEzc_8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"29a9c96d774ce44a19f188c4e8f419a7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:37.355251039Z"}]},"request_id":"3c72ee33-782d-4f65-80dd-0d91602861f5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.0722322} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"29a9c96d774ce44a19f188c4e8f419a7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"29a9c96d774ce44a19f188c4e8f419a7"} device-1 | {"level":"info","message":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 200 13ms","method":"GET","requestID":"29a9c96d774ce44a19f188c4e8f419a7","responseTime":13,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc? 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":"29a9c96d774ce44a19f188c4e8f419a7"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"07bb42ae-b51d-4e9b-b2e7-9f701bca32d4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.0768714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32895a85-4b54-4428-840c-633dfda56939","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.0771937} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1'","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1'","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} 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":"351cd520-24e8-11f0-a431-d1fa1ca0a775","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":"351cd520-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6ada8004be0334a9c020237baadef522"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3533b880-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c291570c-2101-430b-bac5-cad334c00928","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.213505} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.803617,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3533b880-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","rebac_allow":false,"scope_allow":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":"3533b880-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3533b880-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling 200 11ms","method":"POST","requestID":"3533b880-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3535db60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4222353b-39b5-4a94-92ba-ae0a3abbb434","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924019.2508082} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.489428,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3535db60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","rebac_allow":false,"scope_allow":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":"3535db60-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3535db60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling 200 33ms","method":"POST","requestID":"3535db60-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling"} device-1 | {"device":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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/fc58f4c9-396a-4157-98a0-476b7e80a9f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"001ba675f30b9e54ee0b2ec17a7c6c45","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":"001ba675f30b9e54ee0b2ec17a7c6c45","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/e48fc61e-2258-4cb1-a42b-67e72cfd0214"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"}}},"level":"info","message":"received a callback","requestID":"001ba675f30b9e54ee0b2ec17a7c6c45"} device-1 | {"device":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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"}} gateway-1 | {"time_local":"29/Apr/2025:10:53: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":"001ba675f30b9e54ee0b2ec17a7c6c45"} device-1 | {"device":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"001ba675f30b9e54ee0b2ec17a7c6c45","responseTime":30,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","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/fc58f4c9-396a-4157-98a0-476b7e80a9f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ab23e5c9437e907d575dbff62ca48a29","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":"ab23e5c9437e907d575dbff62ca48a29","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/e48fc61e-2258-4cb1-a42b-67e72cfd0214"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"}}},"level":"info","message":"received a callback","requestID":"ab23e5c9437e907d575dbff62ca48a29"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3676bfd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA","level":"info","message":"auth send jwt","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffc58f4c9-396a-4157-98a0-476b7e80a9f1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a59bc76e-7706-469c-93c5-e51b3c9960c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.3314753} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.106564,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3676bfd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1","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 7ms","method":"POST","requestID":"3676bfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3676bfd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1 200 11ms","method":"GET","requestID":"3676bfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":33.03656,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924021,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256","responseTime":36,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"ab23e5c9437e907d575dbff62ca48a29","responseTime":60,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.064","http_referrer":"","http_user_agent":"node-fetch","requestID":"ab23e5c9437e907d575dbff62ca48a29"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"367f4b50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256"} gateway-1 | {"time_local":"29/Apr/2025:10:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256"} experiment-1 | {"level":"info","message":"GET /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903 200 79ms","method":"GET","requestID":"9e2ab6f4c8d8cd3bdb30ec32a8534256","responseTime":79,"status":200,"url":"/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a89940da-21d0-472d-8723-ed8114f20dab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.4111378} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.824888,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"367f4b50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","rebac_allow":false,"scope_allow":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":"367f4b50-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"367f4b50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling 200 36ms","method":"POST","requestID":"367f4b50-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA","level":"info","message":"auth send jwt","requestID":"149242ac32bbded4b3f00030a556aba9"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"149242ac32bbded4b3f00030a556aba9","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36853ec0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","requestID":"149242ac32bbded4b3f00030a556aba9"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.794695,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"149242ac32bbded4b3f00030a556aba9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924021,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"149242ac32bbded4b3f00030a556aba9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc7d4568-409b-49c7-acd2-f1c34a2da86e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.4254239} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.139698,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"36853ec0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","rebac_allow":false,"scope_allow":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":"36853ec0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36853ec0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Attempting to finish experiment","requestID":"149242ac32bbded4b3f00030a556aba9"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling 200 12ms","method":"POST","requestID":"36853ec0-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.774908,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924021,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"e48fc61e-2258-4cb1-a42b-67e72cfd0214","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":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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":"38287a07-6d3b-42b4-bf04-5170f31fabbc","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/fc58f4c9-396a-4157-98a0-476b7e80a9f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffc58f4c9-396a-4157-98a0-476b7e80a9f1': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffc58f4c9-396a-4157-98a0-476b7e80a9f1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"26990066-98dc-4938-badd-e73206eebe57","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.4783943} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1171d6cd-6c45-49e5-b5fe-8aaec7eb7984","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.478704} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a1e61f60417544d490d8d0124b661a6","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":"8a1e61f60417544d490d8d0124b661a6","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e4ae1eebd042f61d5fd236a82fc23cb0","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":"e4ae1eebd042f61d5fd236a82fc23cb0","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":"closed","url":"http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"}}},"level":"info","message":"received a callback","requestID":"8a1e61f60417544d490d8d0124b661a6"} 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/e48fc61e-2258-4cb1-a42b-67e72cfd0214"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"}}},"level":"info","message":"received a callback","requestID":"e4ae1eebd042f61d5fd236a82fc23cb0"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"fc58f4c9-396a-4157-98a0-476b7e80a9f1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1 204 71ms","method":"DELETE","requestID":"368b8050-24e8-11f0-a431-d1fa1ca0a775","responseTime":71,"status":204,"url":"/peerconnections/fc58f4c9-396a-4157-98a0-476b7e80a9f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"},"level":"info","message":"Successfully finished experiment","requestID":"149242ac32bbded4b3f00030a556aba9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36a0dd10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe48fc61e-2258-4cb1-a42b-67e72cfd0214","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88e846c1-03a9-4c2d-8c10-076bd62c5734","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.6072106} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.925804,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"36a0dd10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214","object_type":"device","rebac_allow":false,"scope_allow":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":"36a0dd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36a0dd10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling 200 11ms","method":"POST","requestID":"36a0dd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"36a2d8e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38287a07-6d3b-42b4-bf04-5170f31fabbc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de837239-f2e9-494b-8a2a-58128188e84f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.6189504} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.70393,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"36a2d8e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc","object_type":"device","rebac_allow":false,"scope_allow":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":"36a2d8e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"36a2d8e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling 200 9ms","method":"POST","requestID":"36a2d8e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29998c1a-0c4a-4cd2-b303-0313f614e903': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F29998c1a-0c4a-4cd2-b303-0313f614e903","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"2d4c6b96-9278-4a86-943f-1efb035e75e3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.6506891} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85159782-22ea-42c5-850d-6157b9319a53","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.651077} authorization-1 | {"level":"info","message":"POST /relations/update 200 76ms","method":"POST","requestID":"149242ac32bbded4b3f00030a556aba9","responseTime":76,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903","requestID":"149242ac32bbded4b3f00030a556aba9"} gateway-1 | {"time_local":"29/Apr/2025:10:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.384","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"149242ac32bbded4b3f00030a556aba9"} experiment-1 | {"level":"info","message":"DELETE /experiments/29998c1a-0c4a-4cd2-b303-0313f614e903 204 377ms","method":"DELETE","requestID":"149242ac32bbded4b3f00030a556aba9","responseTime":377,"status":204,"url":"/experiments/29998c1a-0c4a-4cd2-b303-0313f614e903"} gateway-1 | {"time_local":"29/Apr/2025:10:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.343","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2d3cf67c3a1fe52bcc54d5d03aa355c9"} gateway-1 | {"time_local":"29/Apr/2025:10:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.198","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ac63c6bdb794f41d601a5d50dd1c9dc5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 295ms","method":"POST","requestID":"8a1e61f60417544d490d8d0124b661a6","responseTime":295,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.323","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a1e61f60417544d490d8d0124b661a6"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/38287a07-6d3b-42b4-bf04-5170f31fabbc' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA","level":"info","message":"auth send jwt","requestID":"8cb4fdfc31190162bc25691fa45d3ce3"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","responseTime":12,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8cb4fdfc31190162bc25691fa45d3ce3"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 309ms","method":"POST","requestID":"e4ae1eebd042f61d5fd236a82fc23cb0","responseTime":309,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.338","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4ae1eebd042f61d5fd236a82fc23cb0"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.101412,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8cb4fdfc31190162bc25691fa45d3ce3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924021,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e48fc61e-2258-4cb1-a42b-67e72cfd0214' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd51e8-c86b-49b9-b5de-57072adc372d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2a729a6b-83f9-49a5-8485-a63636e652a1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.8647065} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6199e82f-51bc-4988-b898-948203c13742","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.8950787} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd51e8-c86b-49b9-b5de-57072adc372d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"fad2e748-560d-4e97-8a7b-3a2966a33e7b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.907298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4446a11-ac5b-497d-b4d7-2f9c9d8126bd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.908176} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd51e8-c86b-49b9-b5de-57072adc372d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66cd51e8-c86b-49b9-b5de-57072adc372d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:41.907280399Z"}]},"request_id":"d81eb2a3-f8d0-4787-b69f-dc7e195330b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924021.9405932} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8cb4fdfc31190162bc25691fa45d3ce3"} gateway-1 | {"time_local":"29/Apr/2025:10:53:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8cb4fdfc31190162bc25691fa45d3ce3"} device-1 | {"level":"info","message":"POST /devices? 201 132ms","method":"POST","requestID":"8cb4fdfc31190162bc25691fa45d3ce3","responseTime":132,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA","level":"info","message":"auth send jwt","requestID":"d06d5716db0f6d15a399bf7b2e910597"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"d06d5716db0f6d15a399bf7b2e910597","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d06d5716db0f6d15a399bf7b2e910597"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.032503,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d06d5716db0f6d15a399bf7b2e910597","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924021,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMX0.j5I7fWe5kxV6Bt43bWY1RT5yB7PNsyiNo8Nxc62rPEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f3810a9-778b-4814-a052-d9cd0fec6871","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7a77d55b-9bc9-4145-aa86-f86b1262d0d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.0353036} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","responseTime":29,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5688806a-464f-4be4-9ab1-d7328d359192","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.0424929} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f3810a9-778b-4814-a052-d9cd0fec6871","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"714b86ff-f1ce-47ba-9d6b-7b6fe3cb27a0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.0550995} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a15a6cb-af59-47c8-a896-6e97145e0110","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.0553896} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f3810a9-778b-4814-a052-d9cd0fec6871","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f3810a9-778b-4814-a052-d9cd0fec6871","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.055081762Z"}]},"request_id":"170ac290-4964-4b1a-8fe1-062d4119ff43","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.084227} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d06d5716db0f6d15a399bf7b2e910597"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d06d5716db0f6d15a399bf7b2e910597"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"d06d5716db0f6d15a399bf7b2e910597","responseTime":131,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"d037d32b72c19fa88a2c0ac004db4917"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d037d32b72c19fa88a2c0ac004db4917","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d037d32b72c19fa88a2c0ac004db4917"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.879697,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d037d32b72c19fa88a2c0ac004db4917","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb3bb823-1c10-4a7f-a78e-7cc96c44332e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"056d6ae8-9f63-4123-8c71-fbe5ebbb69b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.137723} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"454f2623-2f59-4533-958e-6ea9f10998b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.14333} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb3bb823-1c10-4a7f-a78e-7cc96c44332e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"52ad97a2-71fb-4b8e-b67c-777d94a6e1da","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.1832898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2887aba-21e4-4ff9-a715-2e571045cce5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.1836052} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","responseTime":43,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb3bb823-1c10-4a7f-a78e-7cc96c44332e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb3bb823-1c10-4a7f-a78e-7cc96c44332e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.183273247Z"}]},"request_id":"17dfcb79-b944-4709-b8ff-db5a27d2513d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.188221} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d037d32b72c19fa88a2c0ac004db4917"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d037d32b72c19fa88a2c0ac004db4917"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"d037d32b72c19fa88a2c0ac004db4917","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"65d76ebab0f65c4fb2a83f627076e063"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65d76ebab0f65c4fb2a83f627076e063","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"65d76ebab0f65c4fb2a83f627076e063"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.066012,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"65d76ebab0f65c4fb2a83f627076e063","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0be5debc-79de-419c-8180-4e1c43d8b7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"60ed9802-4359-4076-9557-e2a4c04cc24c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.2427535} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b39fd777-a592-4692-88ca-524fa983dac1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.248331} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0be5debc-79de-419c-8180-4e1c43d8b7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"81516d39-cf6e-447f-9db4-09007e4f1356","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.2858872} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d192d69b-08bc-4bb9-987c-6798d67f4fbf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.2861168} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0be5debc-79de-419c-8180-4e1c43d8b7a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0be5debc-79de-419c-8180-4e1c43d8b7a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.285869617Z"}]},"request_id":"b9ab5b39-f495-4285-9cae-b5587eeca0e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.2910984} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"65d76ebab0f65c4fb2a83f627076e063"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65d76ebab0f65c4fb2a83f627076e063"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"65d76ebab0f65c4fb2a83f627076e063","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"26a8987323ec0387eba3992d7e0ec442"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"26a8987323ec0387eba3992d7e0ec442","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"26a8987323ec0387eba3992d7e0ec442"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.826679,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"26a8987323ec0387eba3992d7e0ec442","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42b9946-fa19-4da1-89f4-9d54a4110224","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a847de53-1894-40d4-84c7-7536e488cd19","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.3719075} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab0d47c6-f36b-455d-a105-b0f47a6c4f5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.3769948} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42b9946-fa19-4da1-89f4-9d54a4110224","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"819ffc4e-8368-4419-ba0d-c8fb950f9e58","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.423298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e51c73ee-526d-4f8d-995c-390fa7bc9b5c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.4235575} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","responseTime":49,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42b9946-fa19-4da1-89f4-9d54a4110224","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc42b9946-fa19-4da1-89f4-9d54a4110224","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.423278681Z"}]},"request_id":"6f131c15-c1d3-4581-90c2-5c54c4bd6df5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.428873} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"26a8987323ec0387eba3992d7e0ec442"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26a8987323ec0387eba3992d7e0ec442"} device-1 | {"level":"info","message":"POST /devices? 201 109ms","method":"POST","requestID":"26a8987323ec0387eba3992d7e0ec442","responseTime":109,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"8d5a3436e37e9193cd3b3c1779d5a980"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8d5a3436e37e9193cd3b3c1779d5a980"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820931,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d5a3436e37e9193cd3b3c1779d5a980","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c33f5eff-9a59-4328-ae38-8d8c8628103d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.4835293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60680a43-62c6-4f28-9180-147e48c9180a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.5130498} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a0941e2c-fcb2-40ab-ba01-dfccc4c8455d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.561074} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff73c34f-76eb-4fb9-8c60-67fca0a24726","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.5612884} authorization-1 | {"level":"info","message":"POST /relations/update 200 74ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","responseTime":74,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.561041839Z"}]},"request_id":"f5b5bc89-96a7-4f7a-85d7-874ad1b8d466","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.5657833} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8d5a3436e37e9193cd3b3c1779d5a980"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d5a3436e37e9193cd3b3c1779d5a980"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"8d5a3436e37e9193cd3b3c1779d5a980","responseTime":131,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"0fc4cc91cc491293a9bf1c468451fd44"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0fc4cc91cc491293a9bf1c468451fd44","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0fc4cc91cc491293a9bf1c468451fd44"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.654553,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0fc4cc91cc491293a9bf1c468451fd44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e516c16-3924-4979-9850-56f0a42c5f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e328e6b6-5630-4fc8-879f-718bc2541368","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.6246269} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"498116c2-d042-4a1a-a094-6bc2b10f3716","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.6309443} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e516c16-3924-4979-9850-56f0a42c5f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"63979563-595e-4913-a7f7-d982988a760a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.6702971} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30d43195-d334-4193-a21a-caedc752b2dd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.6705937} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","responseTime":42,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e516c16-3924-4979-9850-56f0a42c5f40","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2e516c16-3924-4979-9850-56f0a42c5f40","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.670281821Z"}]},"request_id":"532856c7-06a4-4e4a-8115-0b80b5b29fc3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.6763632} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0fc4cc91cc491293a9bf1c468451fd44"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fc4cc91cc491293a9bf1c468451fd44"} device-1 | {"level":"info","message":"POST /devices? 201 106ms","method":"POST","requestID":"0fc4cc91cc491293a9bf1c468451fd44","responseTime":106,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.038135,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83f1250a-d6c7-44ed-bf3d-4fd98070cf6d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.761442} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db177458-9d9b-4c05-b65e-e73d00ff848a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.7678025} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"fc84b7d9-53cb-4974-99d8-fec31a52cac2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.806588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"650044b0-da2f-4d94-a3bb-36cf28041545","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.8067954} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","responseTime":42,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.806569336Z"}]},"request_id":"0595a7ff-6b82-4ac3-9096-0ffb2a19d339","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.8112788} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe"} device-1 | {"level":"info","message":"POST /devices? 201 105ms","method":"POST","requestID":"1314d3c2a57a31365a6fab0a9a1be6fe","responseTime":105,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"56ebad92b203b55b083012ca230cd9ff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"56ebad92b203b55b083012ca230cd9ff","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"56ebad92b203b55b083012ca230cd9ff"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.869577,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"56ebad92b203b55b083012ca230cd9ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb648641c-60e7-498f-9c9f-d382343618e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"46a57ca7-54bb-4b2f-8fb5-861ab2be3316","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.8718154} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","responseTime":28,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bbb708f-d7ad-4893-b1cd-7a89585e9fd9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.9006407} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb648641c-60e7-498f-9c9f-d382343618e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"93245a6b-701a-4b58-9019-fca487f95863","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.9138844} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78d9684f-7111-4ad1-a84b-e6862fcd03a3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.9141407} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb648641c-60e7-498f-9c9f-d382343618e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb648641c-60e7-498f-9c9f-d382343618e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:42.913869141Z"}]},"request_id":"4744b500-2fd8-458d-8c5b-611121ac84e9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924022.9185014} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"56ebad92b203b55b083012ca230cd9ff"} gateway-1 | {"time_local":"29/Apr/2025:10:53:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56ebad92b203b55b083012ca230cd9ff"} device-1 | {"level":"info","message":"POST /devices? 201 126ms","method":"POST","requestID":"56ebad92b203b55b083012ca230cd9ff","responseTime":126,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg","level":"info","message":"auth send jwt","requestID":"091f520b64bfe60db3e373e64c0e299d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"091f520b64bfe60db3e373e64c0e299d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"091f520b64bfe60db3e373e64c0e299d"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.71154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"091f520b64bfe60db3e373e64c0e299d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924022,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyMn0.FI5PoTI5bb507GadRxaQP5kdgDa6GjJQPDQgfQkV2rg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d205495-4e54-4eb4-be24-de8043abb6a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7f39cd4a-77be-4eb6-9d14-67375c9ef24e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.002625} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1787ab8c-9194-4a55-9ced-26ca3ca5f3c2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.0073373} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d205495-4e54-4eb4-be24-de8043abb6a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"cbc53a0b-50d0-48bd-8fe8-baf5f4af44ca","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.050326} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc8ad3b6-d086-4bb4-8516-dd3581b734e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.0506458} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","responseTime":46,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d205495-4e54-4eb4-be24-de8043abb6a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d205495-4e54-4eb4-be24-de8043abb6a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.050308106Z"}]},"request_id":"45beed21-78e6-422e-af04-83fb62513474","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.0551903} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"091f520b64bfe60db3e373e64c0e299d"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"091f520b64bfe60db3e373e64c0e299d"} device-1 | {"level":"info","message":"POST /devices? 201 108ms","method":"POST","requestID":"091f520b64bfe60db3e373e64c0e299d","responseTime":108,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"640378a4d6b154fe0da9ed149eeabb49"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"640378a4d6b154fe0da9ed149eeabb49","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"640378a4d6b154fe0da9ed149eeabb49"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.727337,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"640378a4d6b154fe0da9ed149eeabb49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"48c961cd-f58b-4495-9423-123ae9a78ee1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.1096036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ebea0f6-23c9-4e10-95f5-380b1267be8e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.1386542} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"b3c83f4f-d897-45b6-a555-55013bf1c98b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.159564} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9bab18c-26d2-4c4a-9cc4-42253aed34d0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.15973} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","responseTime":47,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.159548346Z"}]},"request_id":"8cbc7773-382a-4e7d-b218-a75070f70c99","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.1883423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"640378a4d6b154fe0da9ed149eeabb49"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"640378a4d6b154fe0da9ed149eeabb49"} device-1 | {"level":"info","message":"POST /devices? 201 126ms","method":"POST","requestID":"640378a4d6b154fe0da9ed149eeabb49","responseTime":126,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"e608c3250a6d8ea268f5f32e329a8af1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e608c3250a6d8ea268f5f32e329a8af1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e608c3250a6d8ea268f5f32e329a8af1"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.693701,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e608c3250a6d8ea268f5f32e329a8af1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3c48eeac-b87f-4d8a-b91c-1a936065fe52","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.2478135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31dd0150-8a0b-4ac8-bfe4-7a8eca8f9288","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.2526665} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"2ec3952c-b066-4277-99e4-c85c61369ae1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.301195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd114516-2e0f-4d09-a4ca-91abe573a33d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.3015347} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","responseTime":50,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.301177662Z"}]},"request_id":"914f70e8-7f2e-4c3c-bf37-df8631acb5e0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.3298235} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e608c3250a6d8ea268f5f32e329a8af1"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"e608c3250a6d8ea268f5f32e329a8af1","responseTime":135,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e608c3250a6d8ea268f5f32e329a8af1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"bfff9c807de51105d94387d5a81841b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bfff9c807de51105d94387d5a81841b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bfff9c807de51105d94387d5a81841b6"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.844728,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bfff9c807de51105d94387d5a81841b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"729606fc-c390-4617-8963-b10e85468647","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.383379} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"082961d1-08de-4264-944d-66b382b9ffaf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.3881023} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"9643ccd5-a867-4331-bf71-62fc380a585c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.4260068} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4061605b-3932-4e5c-9b08-bf0b045f3347","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.4260871} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.425984270Z"}]},"request_id":"2cb0e2e0-db74-4310-881d-6a3ef17af637","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.4312527} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bfff9c807de51105d94387d5a81841b6"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfff9c807de51105d94387d5a81841b6"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"bfff9c807de51105d94387d5a81841b6","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"b7483a2513df2ae5c1272a82d3156ed3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7483a2513df2ae5c1272a82d3156ed3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b7483a2513df2ae5c1272a82d3156ed3"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720703,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b7483a2513df2ae5c1272a82d3156ed3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7483a2513df2ae5c1272a82d3156ed3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.159548346Z"}]},"request_id":"40949a13-1906-4adb-a4d1-ff1ba2ff916f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.4746783} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b7483a2513df2ae5c1272a82d3156ed3","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4140ab5-84f6-4ac4-a9f5-f3b8c7c171b6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.4795344} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b7483a2513df2ae5c1272a82d3156ed3","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.159548346Z"}]},"request_id":"1168ccdf-a289-4cb5-a18a-2a538a1915c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.5221357} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b7483a2513df2ae5c1272a82d3156ed3","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b7483a2513df2ae5c1272a82d3156ed3"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/60d07516-c714-401e-a98e-0635bbb01fff? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7483a2513df2ae5c1272a82d3156ed3"} device-1 | {"level":"info","message":"PATCH /devices/60d07516-c714-401e-a98e-0635bbb01fff? 200 83ms","method":"PATCH","requestID":"b7483a2513df2ae5c1272a82d3156ed3","responseTime":83,"status":200,"url":"/devices/60d07516-c714-401e-a98e-0635bbb01fff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"6d605f1936291582d9d39f68f0e90ed6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6d605f1936291582d9d39f68f0e90ed6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6d605f1936291582d9d39f68f0e90ed6"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780646,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d605f1936291582d9d39f68f0e90ed6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6d605f1936291582d9d39f68f0e90ed6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.301177662Z"}]},"request_id":"86b51fab-2e51-4ccf-adc7-718466e18509","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.5398786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6d605f1936291582d9d39f68f0e90ed6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0f756ab-6927-4574-be0b-1d546b8da23f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.5712109} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"6d605f1936291582d9d39f68f0e90ed6","responseTime":29,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.301177662Z"}]},"request_id":"c3ba47fd-9906-4a19-b9e6-cce06d2e9d52","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.6337426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6d605f1936291582d9d39f68f0e90ed6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6d605f1936291582d9d39f68f0e90ed6"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/14b9e11d-5e2c-44ab-a11b-218afb796fff? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d605f1936291582d9d39f68f0e90ed6"} device-1 | {"level":"info","message":"PATCH /devices/14b9e11d-5e2c-44ab-a11b-218afb796fff? 200 106ms","method":"PATCH","requestID":"6d605f1936291582d9d39f68f0e90ed6","responseTime":106,"status":200,"url":"/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"e2d4334bcd50e2a580b1a46e52824a5b"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e2d4334bcd50e2a580b1a46e52824a5b"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785428,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e2d4334bcd50e2a580b1a46e52824a5b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.425984270Z"}]},"request_id":"2de86f72-191b-4d4b-af31-45f57ae223ab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.6783028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3f480b4-ad11-4c60-9c29-a50c2a731d5a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.6837535} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.425984270Z"}]},"request_id":"b96558d0-b902-4b91-b8a1-464f4645f66c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.780058} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e2d4334bcd50e2a580b1a46e52824a5b"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2d4334bcd50e2a580b1a46e52824a5b"} device-1 | {"level":"info","message":"PATCH /devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0? 200 119ms","method":"PATCH","requestID":"e2d4334bcd50e2a580b1a46e52824a5b","responseTime":119,"status":200,"url":"/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"67d89ff62383e4013891ade486c794df"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"67d89ff62383e4013891ade486c794df","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67d89ff62383e4013891ade486c794df"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756045,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67d89ff62383e4013891ade486c794df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60d07516-c714-401e-a98e-0635bbb01fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.159548346Z"}]},"request_id":"019627b2-2244-4aab-b770-c68a31e6bdd8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.821536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.646887,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.51497,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66cd51e8-c86b-49b9-b5de-57072adc372d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67d89ff62383e4013891ade486c794df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/66cd51e8-c86b-49b9-b5de-57072adc372d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f3810a9-778b-4814-a052-d9cd0fec6871","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67d89ff62383e4013891ade486c794df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3f3810a9-778b-4814-a052-d9cd0fec6871","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862144,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67d89ff62383e4013891ade486c794df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969646,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb3bb823-1c10-4a7f-a78e-7cc96c44332e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67d89ff62383e4013891ade486c794df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/fb3bb823-1c10-4a7f-a78e-7cc96c44332e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"67d89ff62383e4013891ade486c794df","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67d89ff62383e4013891ade486c794df"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/60d07516-c714-401e-a98e-0635bbb01fff? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67d89ff62383e4013891ade486c794df"} device-1 | {"level":"info","message":"GET /devices/60d07516-c714-401e-a98e-0635bbb01fff? 200 51ms","method":"GET","requestID":"67d89ff62383e4013891ade486c794df","responseTime":51,"status":200,"url":"/devices/60d07516-c714-401e-a98e-0635bbb01fff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"3b9c35aafcf69e36992834675cd9f998"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b9c35aafcf69e36992834675cd9f998"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.533572,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14b9e11d-5e2c-44ab-a11b-218afb796fff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.301177662Z"}]},"request_id":"17ad0209-c577-404b-ab52-b2549f6f84b0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.878225} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792236,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.582164,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919847,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0be5debc-79de-419c-8180-4e1c43d8b7a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0be5debc-79de-419c-8180-4e1c43d8b7a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c42b9946-fa19-4da1-89f4-9d54a4110224","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c42b9946-fa19-4da1-89f4-9d54a4110224","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f45de7d0-6bc2-41a5-b0b9-e1d42da0e7cd","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916309,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71645,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008681,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2e516c16-3924-4979-9850-56f0a42c5f40","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b9c35aafcf69e36992834675cd9f998","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2e516c16-3924-4979-9850-56f0a42c5f40","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b9c35aafcf69e36992834675cd9f998"} gateway-1 | {"time_local":"29/Apr/2025:10:53:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/14b9e11d-5e2c-44ab-a11b-218afb796fff? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b9c35aafcf69e36992834675cd9f998"} device-1 | {"level":"info","message":"GET /devices/14b9e11d-5e2c-44ab-a11b-218afb796fff? 200 57ms","method":"GET","requestID":"3b9c35aafcf69e36992834675cd9f998","responseTime":57,"status":200,"url":"/devices/14b9e11d-5e2c-44ab-a11b-218afb796fff?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE","level":"info","message":"auth send jwt","requestID":"71508c7b68650ecbdde27ab143d50af4"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71508c7b68650ecbdde27ab143d50af4"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892991,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71508c7b68650ecbdde27ab143d50af4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:43.425984270Z"}]},"request_id":"22600fd3-f246-4ae6-8023-f68bc62b6c46","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924023.9639301} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37748","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789513,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:33782","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.48587,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.422548,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67953,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71508c7b68650ecbdde27ab143d50af4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2b0abdf7-f8f0-4d71-a884-ac97b85b7a93","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b648641c-60e7-498f-9c9f-d382343618e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71508c7b68650ecbdde27ab143d50af4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/b648641c-60e7-498f-9c9f-d382343618e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d205495-4e54-4eb4-be24-de8043abb6a2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71508c7b68650ecbdde27ab143d50af4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5d205495-4e54-4eb4-be24-de8043abb6a2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71508c7b68650ecbdde27ab143d50af4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/60d07516-c714-401e-a98e-0635bbb01fff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924023,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyM30.21NZ9wIfPKRtrd5rhTonRXwcGFyBVxtddUXhAgUGyhE"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71508c7b68650ecbdde27ab143d50af4"} gateway-1 | {"time_local":"29/Apr/2025:10:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71508c7b68650ecbdde27ab143d50af4"} device-1 | {"level":"info","message":"GET /devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0? 200 48ms","method":"GET","requestID":"71508c7b68650ecbdde27ab143d50af4","responseTime":48,"status":200,"url":"/devices/ec0bd88a-bb6b-4bac-a58f-ac1bf3f426b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk","level":"info","message":"auth send jwt","requestID":"fded5a6da077455ac05073372e2ac03c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fded5a6da077455ac05073372e2ac03c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fded5a6da077455ac05073372e2ac03c"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.838277,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fded5a6da077455ac05073372e2ac03c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924024,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc0bcb3f-5d74-419b-a60f-52d5ff25cfe1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.0573838} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b474fbcd-b4b0-4a7c-ad7a-a3fdbe4af276","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.0638642} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"c398793a-b5c7-41d6-944f-c7d494c49821","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.09955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fca86e5-1f05-48f7-8385-426c15e4d0df","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.0998423} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.099534990Z"}]},"request_id":"fbeb5a26-745f-4c9b-86d0-02b6d47079a6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.10419} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fded5a6da077455ac05073372e2ac03c"} gateway-1 | {"time_local":"29/Apr/2025:10:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fded5a6da077455ac05073372e2ac03c"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"fded5a6da077455ac05073372e2ac03c","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk","level":"info","message":"auth send jwt","requestID":"7da6a9941391827894e4529f9739b27a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7da6a9941391827894e4529f9739b27a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7da6a9941391827894e4529f9739b27a"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.890515,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7da6a9941391827894e4529f9739b27a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924024,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8bd609e9-0c0c-46d9-ab60-543a40ce545d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.1516078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf1f682f-cc64-4974-89c6-2928a83675d9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.1559947} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"5aeb3238-171a-4f13-93d2-c3077aa780f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.1665525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60076b08-3f6e-4941-9641-f296ed180bc1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.1666255} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.166517500Z"}]},"request_id":"827d85b9-f8fc-47c8-9016-a03f508e9e13","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.19594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7da6a9941391827894e4529f9739b27a"} gateway-1 | {"time_local":"29/Apr/2025:10:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7da6a9941391827894e4529f9739b27a"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"7da6a9941391827894e4529f9739b27a","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk","level":"info","message":"auth send jwt","requestID":"c32b0e7722bcdd275e5d7f46505857b6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c32b0e7722bcdd275e5d7f46505857b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c32b0e7722bcdd275e5d7f46505857b6"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910044,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c32b0e7722bcdd275e5d7f46505857b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924024,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNH0.uGLPXql1s1wsSEBqRCwhBSkunSZpyE17ss4a45xkTfk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f922393d-21f2-4819-93b9-1dad62775079","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.252698} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11fd3eb1-917d-437e-ad2c-edaa11535f0d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.256959} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f284bcdf-6c9d-4e92-8b87-ff246b42b29b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.2679536} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e1e3334c-ac89-4111-b111-bc6795474c19","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.2683308} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.268311046Z"}]},"request_id":"7796fe42-ef6e-42a7-bcf2-cf91a9c42544","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924024.2966492} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c32b0e7722bcdd275e5d7f46505857b6"} gateway-1 | {"time_local":"29/Apr/2025:10:53:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c32b0e7722bcdd275e5d7f46505857b6"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"c32b0e7722bcdd275e5d7f46505857b6","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"65d0db3c83e18f304b698e9c1cb59dc4","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":"65d0db3c83e18f304b698e9c1cb59dc4","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f437289b-5ad8-4157-984f-6bb00ae42240/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":"65d0db3c83e18f304b698e9c1cb59dc4"} device-1 | {"level":"info","message":"OPTIONS /devices/f437289b-5ad8-4157-984f-6bb00ae42240/websocket 200 1ms","method":"OPTIONS","requestID":"65d0db3c83e18f304b698e9c1cb59dc4","responseTime":1,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNn0.O0UOLwZKHXXta_kw--t1RKqwyfAPFczmZkvc9p1zNtc","level":"info","message":"auth send jwt","requestID":"176f154fe290eaf90b9568ee2487cd07"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"176f154fe290eaf90b9568ee2487cd07","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"176f154fe290eaf90b9568ee2487cd07"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775352,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"176f154fe290eaf90b9568ee2487cd07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924026,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNn0.O0UOLwZKHXXta_kw--t1RKqwyfAPFczmZkvc9p1zNtc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"176f154fe290eaf90b9568ee2487cd07","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"176f154fe290eaf90b9568ee2487cd07"} gateway-1 | {"time_local":"29/Apr/2025:10:53:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","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":"176f154fe290eaf90b9568ee2487cd07"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/websocket 200 86ms","method":"POST","requestID":"176f154fe290eaf90b9568ee2487cd07","responseTime":86,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"edd4ee591090169736562f9be6c7ec12","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":"edd4ee591090169736562f9be6c7ec12","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","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":"edd4ee591090169736562f9be6c7ec12"} device-1 | {"level":"info","message":"OPTIONS /devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket 200 1ms","method":"OPTIONS","requestID":"edd4ee591090169736562f9be6c7ec12","responseTime":1,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNn0.O0UOLwZKHXXta_kw--t1RKqwyfAPFczmZkvc9p1zNtc","level":"info","message":"auth send jwt","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:46Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":29.060078,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88378ce3b3efaf0cb5e0c7a25772de5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924026,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyNn0.O0UOLwZKHXXta_kw--t1RKqwyfAPFczmZkvc9p1zNtc"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f"} gateway-1 | {"time_local":"29/Apr/2025:10:53:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.087","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":"88378ce3b3efaf0cb5e0c7a25772de5f"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket 200 80ms","method":"POST","requestID":"88378ce3b3efaf0cb5e0c7a25772de5f","responseTime":80,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"e22d494f7d7426fe308ae86373fe1295"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e22d494f7d7426fe308ae86373fe1295","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e22d494f7d7426fe308ae86373fe1295"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.896674,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e22d494f7d7426fe308ae86373fe1295","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e22d494f7d7426fe308ae86373fe1295","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.268311046Z"}]},"request_id":"08da78bb-bfdd-4c68-92cc-405cae8a2021","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.040966} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e22d494f7d7426fe308ae86373fe1295","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e22d494f7d7426fe308ae86373fe1295"} device-1 | {"level":"info","message":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? 200 12ms","method":"GET","requestID":"e22d494f7d7426fe308ae86373fe1295","responseTime":12,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? 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":"e22d494f7d7426fe308ae86373fe1295"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.703285,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fd64a9b02b6139e0b4fba90cc8858d6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to run experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to book experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully booked experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869132,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695073,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.166517500Z"}]},"request_id":"904eefa3-5431-4036-9827-027eafe2577c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.1709237} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.268311046Z"}]},"request_id":"6c7f1837-cd8b-4724-9f46-72fa62fb8691","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.172329} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? 200 38ms","method":"GET","requestID":"39ede530-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b?"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816404,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba? 200 45ms","method":"GET","requestID":"39ed9710-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/39cdaf3b-ea1e-49c8-b9a5-eeffe57ab1ba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Setting up experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully set up experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a045360-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully running experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910061,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969445,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"982257b8-2ca0-4536-b15d-fe1f3cee980f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.3171048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.268311046Z"}]},"request_id":"2690c7b2-9d75-4a01-9ee6-35a08254a8a4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.3199825} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.980522,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a045360-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","rebac_allow":false,"scope_allow":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":"3a045360-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.099534990Z"}]},"request_id":"1b945fc6-9058-414c-a10f-4e7849b2c577","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.3209472} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a045360-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling 200 42ms","method":"POST","requestID":"3a045360-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? 200 45ms","method":"GET","requestID":"3a040540-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f437289b-5ad8-4157-984f-6bb00ae42240? 200 47ms","method":"GET","requestID":"3a03de30-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a0b3130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a0ba660-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7ff3211-4e1e-4814-bdcf-32cf586547ad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.3362489} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F881f7718-d00e-4140-bbd7-8de537423eea#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F881f7718-d00e-4140-bbd7-8de537423eea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"833b13db-d963-4d5b-93dc-38980f587afc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.361493} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e2dda0c-c3ac-46c3-b28a-02232e78f992","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.36152} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.32168,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a0b3130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","rebac_allow":false,"scope_allow":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":"3a0b3130-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a0b3130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling 200 38ms","method":"POST","requestID":"3a0b3130-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e","responseTime":53,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949351,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25325a1e-e5a4-4d97-9e04-7bee76e408c9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.3641737} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a0ba660-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"3a0ba660-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a0ba660-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling 200 41ms","method":"POST","requestID":"3a0ba660-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a128430-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.334","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 304ms","method":"POST","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e","responseTime":304,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"875343e8-2bdf-4ded-8f93-44bab943f27c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.4106233} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e45a87d7c061d06fef3ae363677709b3"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.43174,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"e45a87d7c061d06fef3ae363677709b3"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"e45a87d7c061d06fef3ae363677709b3","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a128430-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","rebac_allow":false,"scope_allow":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":"3a128430-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a128430-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.075193,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling 200 36ms","method":"POST","requestID":"3a128430-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e45a87d7c061d06fef3ae363677709b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e45a87d7c061d06fef3ae363677709b3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Building connection plan","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1cc68ef9-9df7-42d6-bb7f-af33ff897a2c"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"9cdc73c5-a0a4-4d86-9b38-b85532673658"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7fe0f4e9-bcac-4ce0-8418-bffc049cfa56"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.099534990Z"}]},"request_id":"11d1d855-cd35-4978-b206-fe5cc0e3f9e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.4208567} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e45a87d7c061d06fef3ae363677709b3","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e45a87d7c061d06fef3ae363677709b3"} device-1 | {"level":"info","message":"GET /devices/f437289b-5ad8-4157-984f-6bb00ae42240? 200 14ms","method":"GET","requestID":"e45a87d7c061d06fef3ae363677709b3","responseTime":14,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240?"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.970021,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f437289b-5ad8-4157-984f-6bb00ae42240? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e45a87d7c061d06fef3ae363677709b3"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"a2819e24a5d1618b555a379b28ee3219"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2819e24a5d1618b555a379b28ee3219","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a2819e24a5d1618b555a379b28ee3219"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879575,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a2819e24a5d1618b555a379b28ee3219","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2819e24a5d1618b555a379b28ee3219","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"88a5b2f4-9d6f-47c7-b1bc-8ab285bae371","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.4649048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56ba5d7f-951f-425a-a4e0-a7f378425a9d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.4651573} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:44.268311046Z"}]},"request_id":"ada63aa6-5bea-425e-943d-3d1a6c491d9e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.469446} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a2819e24a5d1618b555a379b28ee3219","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a'","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a2819e24a5d1618b555a379b28ee3219"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2819e24a5d1618b555a379b28ee3219"} device-1 | {"level":"info","message":"GET /devices/2999776e-5add-4bb9-866c-884741dc5a9b? 200 79ms","method":"GET","requestID":"a2819e24a5d1618b555a379b28ee3219","responseTime":79,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b?"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a'","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"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":"3a18ecd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","device":"2999776e-5add-4bb9-866c-884741dc5a9b","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/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","device":"f437289b-5ad8-4157-984f-6bb00ae42240","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":false} device-1 | {"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fd64a9b02b6139e0b4fba90cc8858d6e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a346410-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} device-1 | {"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4cf8e043-d2c9-4095-9c94-95dc19e52656","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.6062098} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.180006,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a346410-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","rebac_allow":false,"scope_allow":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":"3a346410-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8286741737676575794 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:F+/1\r\na=ice-pwd:xrX2QNDqb+/IaU5V7hgWN5rt\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BF:03:38:2A:E4:27:D2:C9:A8:90:C5:32:A1:5A:C0:11:F8:0B:5E:55:CA:84:E8:DC:D9:62:25:CD:00:E8:1B:6A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a346410-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling 200 15ms","method":"POST","requestID":"3a346410-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a36fc20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68e29180-a1eb-4ac3-be93-0e728e089713","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.6233406} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.055226,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a36fc20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","rebac_allow":false,"scope_allow":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":"3a36fc20-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 834005135017982238 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:+kbd\r\na=ice-pwd:oRE7tixm6VelkPsQy6DcV5BV\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A5:B5:45:09:02:C6:40:99:75:BE:D9:17:61:05:4E:07:E5:0B:2C:45:9A:FE:CB:2E:74:77:1C:11:DC:A9:8B:9B\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a36fc20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling 200 36ms","method":"POST","requestID":"3a36fc20-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling"} device-1 | {"content":{"candidate":"candidate:3935992358 1 udp 2113937151 c41ccb6a-24d1-4519-9542-eab9279520a6.local 51253 typ host generation 0 ufrag +kbd network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","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/f437289b-5ad8-4157-984f-6bb00ae42240'"} device-1 | {"content":{"candidate":"candidate:925149554 1 udp 2113937151 f3bedd1a-abe3-4665-a64d-1802a971a429.local 36931 typ host generation 0 ufrag F+/1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2999776e-5add-4bb9-866c-884741dc5a9b","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/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"e6e6a1b518911884095fda28ad998c47"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e6e6a1b518911884095fda28ad998c47","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":"new","url":"http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"}}},"level":"info","message":"received a callback","requestID":"e6e6a1b518911884095fda28ad998c47"} device-1 | {"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e6e6a1b518911884095fda28ad998c47","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"e6e6a1b518911884095fda28ad998c47","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"2999776e-5add-4bb9-866c-884741dc5a9b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","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/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6402d1f6e15e336c521cf30f89aa5bb5","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":"6402d1f6e15e336c521cf30f89aa5bb5","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/f437289b-5ad8-4157-984f-6bb00ae42240"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"}}},"level":"info","message":"received a callback","requestID":"6402d1f6e15e336c521cf30f89aa5bb5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3a530fa0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cfe22dcd-cb5f-46cf-849a-edc078e3cfd8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.8078296} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.86202,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a530fa0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","object_type":"peerconnection","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"c70af2b28e7c2cc4333293318c0b620d"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3a530fa0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"c70af2b28e7c2cc4333293318c0b620d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3a530fa0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a 200 10ms","method":"GET","requestID":"3a530fa0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185918,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c70af2b28e7c2cc4333293318c0b620d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c70af2b28e7c2cc4333293318c0b620d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c70af2b28e7c2cc4333293318c0b620d","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"c70af2b28e7c2cc4333293318c0b620d"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/881f7718-d00e-4140-bbd7-8de537423eea HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c70af2b28e7c2cc4333293318c0b620d"} experiment-1 | {"level":"info","message":"GET /experiments/881f7718-d00e-4140-bbd7-8de537423eea 200 42ms","method":"GET","requestID":"c70af2b28e7c2cc4333293318c0b620d","responseTime":42,"status":200,"url":"/experiments/881f7718-d00e-4140-bbd7-8de537423eea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 64ms","method":"POST","requestID":"6402d1f6e15e336c521cf30f89aa5bb5","responseTime":64,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.067","http_referrer":"","http_user_agent":"node-fetch","requestID":"6402d1f6e15e336c521cf30f89aa5bb5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a5c3760-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4eb875ce-ae69-4ec7-adf7-698b953f1c0e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.891632} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.988867,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a5c3760-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","rebac_allow":false,"scope_allow":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":"3a5c3760-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a5c3760-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling 200 34ms","method":"POST","requestID":"3a5c3760-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a61dcb0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d58cf0b-6d37-4820-b6c2-c181ec410d34","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924027.9040523} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.587364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a61dcb0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","rebac_allow":false,"scope_allow":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":"3a61dcb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a61dcb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling 200 10ms","method":"POST","requestID":"3a61dcb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.053685,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94e325a6f0aa0d2c741c1adcd51f4f39","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39"} gateway-1 | {"time_local":"29/Apr/2025:10:53:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/881f7718-d00e-4140-bbd7-8de537423eea HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39"} experiment-1 | {"level":"info","message":"GET /experiments/881f7718-d00e-4140-bbd7-8de537423eea 200 34ms","method":"GET","requestID":"94e325a6f0aa0d2c741c1adcd51f4f39","responseTime":34,"status":200,"url":"/experiments/881f7718-d00e-4140-bbd7-8de537423eea"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA","level":"info","message":"auth send jwt","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69bec84c0ea116eb764cc88cc6ffafc0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.903179,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69bec84c0ea116eb764cc88cc6ffafc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69bec84c0ea116eb764cc88cc6ffafc0","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Attempting to finish experiment","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.507533,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924027,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyN30.LrQkkWKNBHjSfjZyMU5yec9ZOvDVF7fepXCRx7E8yZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","device":"f437289b-5ad8-4157-984f-6bb00ae42240","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","device":"2999776e-5add-4bb9-866c-884741dc5a9b","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/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1db96f3bb089beb1f1035cd856f9936","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":"e1db96f3bb089beb1f1035cd856f9936","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/f437289b-5ad8-4157-984f-6bb00ae42240"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"}}},"level":"info","message":"received a callback","requestID":"e1db96f3bb089beb1f1035cd856f9936"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1d28df2d2f8b4b6a59b4a11d8c0d71a","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":"d1d28df2d2f8b4b6a59b4a11d8c0d71a","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/f437289b-5ad8-4157-984f-6bb00ae42240"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"}}},"level":"info","message":"received a callback","requestID":"d1d28df2d2f8b4b6a59b4a11d8c0d71a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee30d371-0af7-4b37-a345-258e64f6fcbb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.0548513} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"5ab166e1-2261-42cd-a8e0-b1a24e9d5036","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.055218} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a 204 69ms","method":"DELETE","requestID":"3a764f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":69,"status":204,"url":"/peerconnections/81c3a43d-f4a0-4a7b-a86f-f1034f41dc6a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/881f7718-d00e-4140-bbd7-8de537423eea"},"level":"info","message":"Successfully finished experiment","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a8717f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff437289b-5ad8-4157-984f-6bb00ae42240","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"844a53f7-2ee8-4f91-9f5b-df7a98ec02f4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.1477156} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.681003,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a8717f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240","object_type":"device","rebac_allow":false,"scope_allow":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":"3a8717f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a8717f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling 200 9ms","method":"POST","requestID":"3a8717f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/f437289b-5ad8-4157-984f-6bb00ae42240/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3a8c6f20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2999776e-5add-4bb9-866c-884741dc5a9b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0cce801f-31c8-42b9-9309-93b95b002cf4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.1830962} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.584461,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3a8c6f20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b","object_type":"device","rebac_allow":false,"scope_allow":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":"3a8c6f20-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F881f7718-d00e-4140-bbd7-8de537423eea': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F881f7718-d00e-4140-bbd7-8de537423eea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"26b0b8f4-db0e-4793-88e3-2ff51f9cb66a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.1839817} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da231e0b-60ff-4a07-8569-8a4259bce1c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.1844773} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"69bec84c0ea116eb764cc88cc6ffafc0","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3a8c6f20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling 200 10ms","method":"POST","requestID":"3a8c6f20-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/2999776e-5add-4bb9-866c-884741dc5a9b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/881f7718-d00e-4140-bbd7-8de537423eea","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/881f7718-d00e-4140-bbd7-8de537423eea HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69bec84c0ea116eb764cc88cc6ffafc0"} experiment-1 | {"level":"info","message":"DELETE /experiments/881f7718-d00e-4140-bbd7-8de537423eea 204 325ms","method":"DELETE","requestID":"69bec84c0ea116eb764cc88cc6ffafc0","responseTime":325,"status":204,"url":"/experiments/881f7718-d00e-4140-bbd7-8de537423eea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 274ms","method":"POST","requestID":"e1db96f3bb089beb1f1035cd856f9936","responseTime":274,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +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.277","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1db96f3bb089beb1f1035cd856f9936"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOH0.Hw3me_09dt_rtLxN2_HsXkxxkScHXBYcuwt4-I6CWkQ","level":"info","message":"auth send jwt","requestID":"b5234475bc08b141732d9d114cf7a434"} device-1 | {"level":"info","message":"postDevices called","requestID":"b5234475bc08b141732d9d114cf7a434"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +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.443","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":"ccd60dc33f66be54a59d06e5c868bf79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 280ms","method":"POST","requestID":"d1d28df2d2f8b4b6a59b4a11d8c0d71a","responseTime":280,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +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.284","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1d28df2d2f8b4b6a59b4a11d8c0d71a"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +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.354","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":"54e80b871b053d2a8f74b08dec455a14"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.959325,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b5234475bc08b141732d9d114cf7a434","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924028,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOH0.Hw3me_09dt_rtLxN2_HsXkxxkScHXBYcuwt4-I6CWkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f437289b-5ad8-4157-984f-6bb00ae42240' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"61123fee-1fef-4135-aee0-2f78912b4b1e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.4190524} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":29,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc946c90-5eab-4c34-a0f3-187ecf68b598","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.4272146} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2999776e-5add-4bb9-866c-884741dc5a9b' closed"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"29f1d413-c636-4029-9ace-7fa34578ecf4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.43957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6baf2a55-bdff-4c5f-84ea-955600b83206","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.4398172} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"33cb7a03-a489-49c6-8238-5a0a04b9643a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.4699335} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b5234475bc08b141732d9d114cf7a434"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5234475bc08b141732d9d114cf7a434"} device-1 | {"level":"info","message":"POST /devices? 201 143ms","method":"POST","requestID":"b5234475bc08b141732d9d114cf7a434","responseTime":143,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOH0.Hw3me_09dt_rtLxN2_HsXkxxkScHXBYcuwt4-I6CWkQ","level":"info","message":"auth send jwt","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.795998,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924028,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOH0.Hw3me_09dt_rtLxN2_HsXkxxkScHXBYcuwt4-I6CWkQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5c769292-46c1-4202-87c5-14245a307725","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.5263913} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9689949-2979-48c0-b51c-d1a22af86103","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.533673} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"ae59a978-e1b6-4ffe-8018-39faa8e1fad7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.5686707} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21eb1a99-ef49-4e49-9a0a-9d06fb1fcd6a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.5690134} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.568650986Z"}]},"request_id":"ccaa15d3-fd63-4c7e-99a8-c54d75e3c774","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924028.5737267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf"} gateway-1 | {"time_local":"29/Apr/2025:10:53:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.101","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"0a5cfd02e29a0fcc59aa22b5d7519bdf","responseTime":98,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOX0.NP-nvfcZjEuOxVb8_t6_Y5wq5edGnYMDSpRWKlQtpi8","level":"info","message":"auth send jwt","requestID":"f036a8289e8ed219b4bc05e426440c1c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f036a8289e8ed219b4bc05e426440c1c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f036a8289e8ed219b4bc05e426440c1c"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:49Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728613,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f036a8289e8ed219b4bc05e426440c1c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924029,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOX0.NP-nvfcZjEuOxVb8_t6_Y5wq5edGnYMDSpRWKlQtpi8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f036a8289e8ed219b4bc05e426440c1c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"156a30f1-2efa-491e-b815-93d834648fe5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924029.7299612} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f036a8289e8ed219b4bc05e426440c1c","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9fa20a1-0c12-49ac-b823-a9188586960d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924029.734148} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f036a8289e8ed219b4bc05e426440c1c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"2ac5944e-70ab-44c3-9ecd-2178d7fd6366","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924029.8703253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f036a8289e8ed219b4bc05e426440c1c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f036a8289e8ed219b4bc05e426440c1c"} gateway-1 | {"time_local":"29/Apr/2025:10:53:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f036a8289e8ed219b4bc05e426440c1c"} device-1 | {"level":"info","message":"PATCH /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d 200 151ms","method":"PATCH","requestID":"f036a8289e8ed219b4bc05e426440c1c","responseTime":151,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOX0.NP-nvfcZjEuOxVb8_t6_Y5wq5edGnYMDSpRWKlQtpi8","level":"info","message":"auth send jwt","requestID":"502287c3e59e0d295c4a6b5059b861a7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"502287c3e59e0d295c4a6b5059b861a7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"502287c3e59e0d295c4a6b5059b861a7"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:49Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713265,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"502287c3e59e0d295c4a6b5059b861a7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924029,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAyOX0.NP-nvfcZjEuOxVb8_t6_Y5wq5edGnYMDSpRWKlQtpi8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"502287c3e59e0d295c4a6b5059b861a7","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"502287c3e59e0d295c4a6b5059b861a7"} gateway-1 | {"time_local":"29/Apr/2025:10:53:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.231","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"502287c3e59e0d295c4a6b5059b861a7"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/websocket 200 227ms","method":"POST","requestID":"502287c3e59e0d295c4a6b5059b861a7","responseTime":227,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60dd1c3e2fbd73acd77ab97d41ac009b","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":"60dd1c3e2fbd73acd77ab97d41ac009b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9c3026d7-a588-464a-8987-977ad00b50e8/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":"60dd1c3e2fbd73acd77ab97d41ac009b"} device-1 | {"level":"info","message":"OPTIONS /devices/9c3026d7-a588-464a-8987-977ad00b50e8/websocket 200 1ms","method":"OPTIONS","requestID":"60dd1c3e2fbd73acd77ab97d41ac009b","responseTime":1,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw","level":"info","message":"auth send jwt","requestID":"e4cd0dbe9b207a979ebb5578348951ce"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e4cd0dbe9b207a979ebb5578348951ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e4cd0dbe9b207a979ebb5578348951ce"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720647,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e4cd0dbe9b207a979ebb5578348951ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4cd0dbe9b207a979ebb5578348951ce","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e4cd0dbe9b207a979ebb5578348951ce"} gateway-1 | {"time_local":"29/Apr/2025:10:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.279","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":"e4cd0dbe9b207a979ebb5578348951ce"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/websocket 200 276ms","method":"POST","requestID":"e4cd0dbe9b207a979ebb5578348951ce","responseTime":276,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw","level":"info","message":"auth send jwt","requestID":"1ac21b3309a5dca4c1f49ed816197b8d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ac21b3309a5dca4c1f49ed816197b8d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1ac21b3309a5dca4c1f49ed816197b8d"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990912,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1ac21b3309a5dca4c1f49ed816197b8d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1ac21b3309a5dca4c1f49ed816197b8d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"31d4a35f-a270-4d05-8798-1874ac3b4ddd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.6425998} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1ac21b3309a5dca4c1f49ed816197b8d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1ac21b3309a5dca4c1f49ed816197b8d"} gateway-1 | {"time_local":"29/Apr/2025:10:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 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":"1ac21b3309a5dca4c1f49ed816197b8d"} device-1 | {"level":"info","message":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 200 13ms","method":"GET","requestID":"1ac21b3309a5dca4c1f49ed816197b8d","responseTime":13,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw","level":"info","message":"auth send jwt","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948734,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.568650986Z"}]},"request_id":"0791a42e-5365-4f96-99cc-e68ec2d42ddc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.686481} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5"} gateway-1 | {"time_local":"29/Apr/2025:10:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 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":"33427a4c8d3b6c32de4f4b7aa0eb2cb5"} device-1 | {"level":"info","message":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 200 38ms","method":"GET","requestID":"33427a4c8d3b6c32de4f4b7aa0eb2cb5","responseTime":38,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw","level":"info","message":"auth send jwt","requestID":"92241b8decda0be9d26603ecea4b43c9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92241b8decda0be9d26603ecea4b43c9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"92241b8decda0be9d26603ecea4b43c9"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.875634,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"92241b8decda0be9d26603ecea4b43c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"92241b8decda0be9d26603ecea4b43c9","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to run experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to book experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully booked experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.761895,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109299,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"5b00794d-1b69-46fd-8e06-d152a3705029","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.7961395} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.568650986Z"}]},"request_id":"b3e85941-185e-4829-b6d6-1f8d13eb243f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.7976992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 200 44ms","method":"GET","requestID":"3cb2aa80-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 200 44ms","method":"GET","requestID":"3cb2d190-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Setting up experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully locked booking for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to update booking for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully updated booking for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully set up experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cc9b4f0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully running experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003797,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.343411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"652da654-1438-4858-be64-ca2bfc7d4437","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.9422786} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.901384,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cc9b4f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","rebac_allow":false,"scope_allow":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":"3cc9b4f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cc9b4f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling 200 11ms","method":"POST","requestID":"3cc9b4f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"09b24c39-f691-4650-a614-d661c8e4ac4d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.97048} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.568650986Z"}]},"request_id":"aebc7821-802b-4a42-9cde-e2474e96387f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.971067} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","method":"POST","requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775","responseTime":1,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ccbb0c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06ad2420-6074-44eb-992f-d4d7934cdecf#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06ad2420-6074-44eb-992f-d4d7934cdecf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"b345ef99-676f-44a7-a70d-aa562d3d9104","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.9757318} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a5a09af-cbb7-4adf-9334-40854a949171","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.976003} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 200 47ms","method":"GET","requestID":"3cc93fc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"92241b8decda0be9d26603ecea4b43c9","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54777fc4-f224-4cfd-8c07-c37bc059c933","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.9789298} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.4533,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} device-1 | {"level":"info","message":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 200 46ms","method":"GET","requestID":"3cc98de0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3ccbb0c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","rebac_allow":false,"scope_allow":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":"3ccbb0c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ccbb0c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling 200 36ms","method":"POST","requestID":"3ccbb0c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cd17d20-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"92241b8decda0be9d26603ecea4b43c9"} gateway-1 | {"time_local":"29/Apr/2025:10:53:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.296","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 292ms","method":"POST","requestID":"92241b8decda0be9d26603ecea4b43c9","responseTime":292,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"752c026b-0dc3-4967-b479-0012be70cf17","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924031.991563} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838625,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cd17d20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","rebac_allow":false,"scope_allow":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":"3cd17d20-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMn0.dUHBG3iuGUYnCNKFWOSpVofC6sknusQPtT58QA2eK-Q","level":"info","message":"auth send jwt","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cd17d20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling 200 36ms","method":"POST","requestID":"3cd17d20-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.23314,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924032,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMn0.dUHBG3iuGUYnCNKFWOSpVofC6sknusQPtT58QA2eK-Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cd77090-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3c0e915-af12-4667-98d1-f19eeb57cdb1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.0295155} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.439546567Z"}]},"request_id":"0ed67881-2267-4209-87dd-63282ab704d8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.029693} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.598896,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cd77090-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","rebac_allow":false,"scope_allow":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":"3cd77090-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8"} gateway-1 | {"time_local":"29/Apr/2025:10:53:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 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":"b995fab1c8086ebf84c7ca0cd06c7ed8"} device-1 | {"level":"info","message":"GET /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d? 200 16ms","method":"GET","requestID":"b995fab1c8086ebf84c7ca0cd06c7ed8","responseTime":16,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cd77090-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling 200 11ms","method":"POST","requestID":"3cd77090-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Building connection plan","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c537fa99-cbb1-4a06-9f80-302b7d154fea"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b75580ca-2a43-40ec-a2c9-9c4ff7f6d2d3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0d88008a-3114-46ec-906c-3892009c3487"}]},"level":"info","message":"Built pairwise service configurations","requestID":"92241b8decda0be9d26603ecea4b43c9"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"92241b8decda0be9d26603ecea4b43c9"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMn0.dUHBG3iuGUYnCNKFWOSpVofC6sknusQPtT58QA2eK-Q","level":"info","message":"auth send jwt","requestID":"28a6ec91aacebf30e70319ccc9f44580"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"28a6ec91aacebf30e70319ccc9f44580","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"28a6ec91aacebf30e70319ccc9f44580"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"client_addr":"127.0.0.1:41482","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.825433,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924031,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMX0.f1NsA5kzweyZk-fePRqBqu1bskE-DZa783SsHx3noCw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.631409,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"28a6ec91aacebf30e70319ccc9f44580","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924032,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzMn0.dUHBG3iuGUYnCNKFWOSpVofC6sknusQPtT58QA2eK-Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"28a6ec91aacebf30e70319ccc9f44580","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:48.568650986Z"}]},"request_id":"134846d5-a735-4961-8439-e032e7719c4c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.0744472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"28a6ec91aacebf30e70319ccc9f44580","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"28a6ec91aacebf30e70319ccc9f44580"} gateway-1 | {"time_local":"29/Apr/2025:10:53:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 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":"28a6ec91aacebf30e70319ccc9f44580"} device-1 | {"level":"info","message":"GET /devices/9c3026d7-a588-464a-8987-977ad00b50e8? 200 14ms","method":"GET","requestID":"28a6ec91aacebf30e70319ccc9f44580","responseTime":14,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3756e2c3-2f83-4212-9133-450d927ffa2f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.07981} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"bcb0d9c2-d5f6-4a4a-90f3-cd6ffbf757df","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.0801113} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129'","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129'","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 76ms","method":"POST","requestID":"3cd99370-24e8-11f0-a431-d1fa1ca0a775","responseTime":76,"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":"3cd99370-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","device":"9c3026d7-a588-464a-8987-977ad00b50e8","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/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"92241b8decda0be9d26603ecea4b43c9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3ced90a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baac8e7b-ce66-45a6-8a16-80359c6434c7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.174749} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798651,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3ced90a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","rebac_allow":false,"scope_allow":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":"3ced90a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3ced90a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling 200 10ms","method":"POST","requestID":"3ced90a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3cef8c70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"779a191d-20f6-40a3-bb7b-c8004125a2d0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924032.212352} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.628473,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cef8c70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","rebac_allow":false,"scope_allow":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":"3cef8c70-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3cef8c70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling 200 34ms","method":"POST","requestID":"3cef8c70-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling"} device-1 | {"device":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4150186983646093577 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:20zL\r\na=ice-pwd:OLGAlMu156gU2/WzEMqeOuFx\r\na=ice-options:trickle\r\na=fingerprint:sha-256 10:63:26:23:95:9F:F9:24:53:0A:BC:60:99:EB:12:1C:DF:D4:BD:D1:AA:55:6D:95:35:20:17:33:B7:43:BB:75\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2161543760 1 udp 2113937151 3a39352f-723f-412a-8696-04cace203f09.local 59256 typ host generation 0 ufrag 20zL network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9c3026d7-a588-464a-8987-977ad00b50e8","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/8f418436-9a64-43cd-8013-67215793a129' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e44772d168f98ae0da6ffa5460626241","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":"e44772d168f98ae0da6ffa5460626241","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/9c3026d7-a588-464a-8987-977ad00b50e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129"}}},"level":"info","message":"received a callback","requestID":"e44772d168f98ae0da6ffa5460626241"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"e44772d168f98ae0da6ffa5460626241","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +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":"e44772d168f98ae0da6ffa5460626241"} device-1 | {"data":{"peerconnection":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9c3026d7-a588-464a-8987-977ad00b50e8","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/8f418436-9a64-43cd-8013-67215793a129' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f18ec9dac964534094146e681fe96cd5","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":"f18ec9dac964534094146e681fe96cd5","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/9c3026d7-a588-464a-8987-977ad00b50e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129"}}},"level":"info","message":"received a callback","requestID":"f18ec9dac964534094146e681fe96cd5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"3e3022c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f418436-9a64-43cd-8013-67215793a129","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edecd694-ee02-4b6b-a827-7cf3e70028d6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.2913043} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.897967,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e3022c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","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":"3e3022c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"3e3022c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/8f418436-9a64-43cd-8013-67215793a129 200 12ms","method":"GET","requestID":"3e3022c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/peerconnections/8f418436-9a64-43cd-8013-67215793a129"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 58ms","method":"POST","requestID":"f18ec9dac964534094146e681fe96cd5","responseTime":58,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +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":"f18ec9dac964534094146e681fe96cd5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e386020-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b41dc02a-3a65-4ffc-8b63-a92ba5cfce04","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.34363} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.346002,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e386020-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","rebac_allow":false,"scope_allow":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":"3e386020-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e386020-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling 200 34ms","method":"POST","requestID":"3e386020-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e3e0570-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b016f56-749b-4f4c-8e29-db00b99db8a6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.379551} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.597088,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e3e0570-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","rebac_allow":false,"scope_allow":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":"3e3e0570-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e3e0570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling 200 9ms","method":"POST","requestID":"3e3e0570-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw","level":"info","message":"auth send jwt","requestID":"30d8407aec753aa10f80aa054c18148a"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"30d8407aec753aa10f80aa054c18148a","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","requestID":"30d8407aec753aa10f80aa054c18148a"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.929333,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"30d8407aec753aa10f80aa054c18148a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924034,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30d8407aec753aa10f80aa054c18148a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","requestID":"30d8407aec753aa10f80aa054c18148a"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30d8407aec753aa10f80aa054c18148a"} experiment-1 | {"level":"info","message":"GET /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf 200 10ms","method":"GET","requestID":"30d8407aec753aa10f80aa054c18148a","responseTime":10,"status":200,"url":"/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw","level":"info","message":"auth send jwt","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0383fbe6ca21c379330dd4fdc49d00ba","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.929508,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0383fbe6ca21c379330dd4fdc49d00ba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924034,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0383fbe6ca21c379330dd4fdc49d00ba","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Attempting to finish experiment","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.85772,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924034,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129","device":"9c3026d7-a588-464a-8987-977ad00b50e8","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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":"5332f37e-cf3f-4d14-8365-0bebacdd802d","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/8f418436-9a64-43cd-8013-67215793a129' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8f418436-9a64-43cd-8013-67215793a129","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f418436-9a64-43cd-8013-67215793a129': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8f418436-9a64-43cd-8013-67215793a129","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"e125b288-481a-433f-9868-2640a1154711","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.5841863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a78a2599-eed7-44ca-8b1e-64b8cdf25d5d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.5845213} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"10480a5256b1ec93c864524173ffc2d0","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":"10480a5256b1ec93c864524173ffc2d0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/relations/update"} 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/9c3026d7-a588-464a-8987-977ad00b50e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129"}}},"level":"info","message":"received a callback","requestID":"10480a5256b1ec93c864524173ffc2d0"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"627bf89a67c46ca72b8d4f591433a3b8","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":"627bf89a67c46ca72b8d4f591433a3b8","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/9c3026d7-a588-464a-8987-977ad00b50e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8f418436-9a64-43cd-8013-67215793a129"}}},"level":"info","message":"received a callback","requestID":"627bf89a67c46ca72b8d4f591433a3b8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/8f418436-9a64-43cd-8013-67215793a129 204 54ms","method":"DELETE","requestID":"3e5b0350-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":204,"url":"/peerconnections/8f418436-9a64-43cd-8013-67215793a129"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"},"level":"info","message":"Successfully finished experiment","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e69d060-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9c3026d7-a588-464a-8987-977ad00b50e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf3fa216-6dbe-42f8-b7e8-92a3f6208483","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.6674442} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.732703,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e69d060-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8","object_type":"device","rebac_allow":false,"scope_allow":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":"3e69d060-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e69d060-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling 200 11ms","method":"POST","requestID":"3e69d060-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/9c3026d7-a588-464a-8987-977ad00b50e8/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06ad2420-6074-44eb-992f-d4d7934cdecf': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F06ad2420-6074-44eb-992f-d4d7934cdecf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"209b12ab-0844-4057-bcb9-43a5e4457466","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.6751385} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c46942c-f924-44ad-bb72-85eb23e3445b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.6754222} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"3e6bf340-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"0383fbe6ca21c379330dd4fdc49d00ba","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5332f37e-cf3f-4d14-8365-0bebacdd802d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f48f72b-84c5-4cd6-bcf9-a6bee592e3c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.7057393} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.298002,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e6bf340-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d","object_type":"device","rebac_allow":false,"scope_allow":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":"3e6bf340-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"3e6bf340-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling 200 39ms","method":"POST","requestID":"3e6bf340-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.295","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0383fbe6ca21c379330dd4fdc49d00ba"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +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.715","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e15ff8b3fc529474fe6bd7bd43710d09"} experiment-1 | {"level":"info","message":"DELETE /experiments/06ad2420-6074-44eb-992f-d4d7934cdecf 204 293ms","method":"DELETE","requestID":"0383fbe6ca21c379330dd4fdc49d00ba","responseTime":293,"status":204,"url":"/experiments/06ad2420-6074-44eb-992f-d4d7934cdecf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw","level":"info","message":"auth send jwt","requestID":"c0dc611e8439c0830b92f58396ceb883"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c0dc611e8439c0830b92f58396ceb883"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.552","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":"e661f559e007908a346fc584447592cb"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9c3026d7-a588-464a-8987-977ad00b50e8' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 244ms","method":"POST","requestID":"10480a5256b1ec93c864524173ffc2d0","responseTime":244,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +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.249","http_referrer":"","http_user_agent":"node-fetch","requestID":"10480a5256b1ec93c864524173ffc2d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"627bf89a67c46ca72b8d4f591433a3b8","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +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.248","http_referrer":"","http_user_agent":"node-fetch","requestID":"627bf89a67c46ca72b8d4f591433a3b8"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960703,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c0dc611e8439c0830b92f58396ceb883","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924034,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5332f37e-cf3f-4d14-8365-0bebacdd802d' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"794f0ba0-b063-44ba-88b2-a1106071a6fa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.9068115} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb0ba610-e0e6-4666-8e31-68927fd3538d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.9122276} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"8a7e74a3-9fe9-49c8-b297-44b67dce81b2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.9590101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81710b7d-e06e-4b39-b083-db77f4237d1a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.9595137} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":50,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:54.958983896Z"}]},"request_id":"690d99a2-0192-47bf-8932-8e36c57ad9a9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924034.9648006} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c0dc611e8439c0830b92f58396ceb883"} gateway-1 | {"time_local":"29/Apr/2025:10:53:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0dc611e8439c0830b92f58396ceb883"} device-1 | {"level":"info","message":"POST /devices? 201 115ms","method":"POST","requestID":"c0dc611e8439c0830b92f58396ceb883","responseTime":115,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw","level":"info","message":"auth send jwt","requestID":"42f20ab1cee6604077524ece5845ac59"} device-1 | {"level":"info","message":"postDevices called","requestID":"42f20ab1cee6604077524ece5845ac59"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42f20ab1cee6604077524ece5845ac59","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.951556,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"42f20ab1cee6604077524ece5845ac59","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924034,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzNH0.O6BMfXFH8WpaZZFyV7ZLH6s4wheMmHiI7FDw7sirGGw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"438f27fe-130f-467d-bb78-322ada8d5f0c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924035.045438} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e468d297-6ecb-47b5-a859-7cd19ad8f060","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924035.051798} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"6786824b-11a2-4b15-bdee-abbfbd4c9a26","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924035.0621028} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02a10107-45e4-47c9-a0d1-951df818ed04","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924035.062278} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:55.062079144Z"}]},"request_id":"1a8885a3-56b4-4bb5-8f4b-0b8a9a38f549","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924035.0911222} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"42f20ab1cee6604077524ece5845ac59"} gateway-1 | {"time_local":"29/Apr/2025:10:53:55 +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":"42f20ab1cee6604077524ece5845ac59"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"42f20ab1cee6604077524ece5845ac59","responseTime":96,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1ce72b6b9d257a6d90c495b03817be3","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":"d1ce72b6b9d257a6d90c495b03817be3","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/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":"d1ce72b6b9d257a6d90c495b03817be3"} device-1 | {"level":"info","message":"OPTIONS /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/websocket 200 1ms","method":"OPTIONS","requestID":"d1ce72b6b9d257a6d90c495b03817be3","responseTime":1,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0","level":"info","message":"auth send jwt","requestID":"050012fbafc35e0b52036e052b8c3d63"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"050012fbafc35e0b52036e052b8c3d63","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"050012fbafc35e0b52036e052b8c3d63"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960625,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"050012fbafc35e0b52036e052b8c3d63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924037,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"050012fbafc35e0b52036e052b8c3d63","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"050012fbafc35e0b52036e052b8c3d63"} gateway-1 | {"time_local":"29/Apr/2025:10:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","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":"050012fbafc35e0b52036e052b8c3d63"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/websocket 200 41ms","method":"POST","requestID":"050012fbafc35e0b52036e052b8c3d63","responseTime":41,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49972c043c4c552a697b6fcb1cd9ad07","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":"49972c043c4c552a697b6fcb1cd9ad07","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/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":"49972c043c4c552a697b6fcb1cd9ad07"} device-1 | {"level":"info","message":"OPTIONS /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/websocket 200 1ms","method":"OPTIONS","requestID":"49972c043c4c552a697b6fcb1cd9ad07","responseTime":1,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0","level":"info","message":"auth send jwt","requestID":"0c5ae872d3f5da73fe73f0797ae365dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c5ae872d3f5da73fe73f0797ae365dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0c5ae872d3f5da73fe73f0797ae365dd"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751731,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0c5ae872d3f5da73fe73f0797ae365dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924037,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0c5ae872d3f5da73fe73f0797ae365dd","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0c5ae872d3f5da73fe73f0797ae365dd"} gateway-1 | {"time_local":"29/Apr/2025:10:53:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","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":"0c5ae872d3f5da73fe73f0797ae365dd"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/websocket 200 46ms","method":"POST","requestID":"0c5ae872d3f5da73fe73f0797ae365dd","responseTime":46,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0","level":"info","message":"auth send jwt","requestID":"1d4c53e9817fa9c437125c4abbda3a72"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d4c53e9817fa9c437125c4abbda3a72","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d4c53e9817fa9c437125c4abbda3a72"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777158,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1d4c53e9817fa9c437125c4abbda3a72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924037,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzN30.FhmKxQmgb1wNSIOg4J1-krrOb1UvEv3b4EbOdmHK9P0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"1d4c53e9817fa9c437125c4abbda3a72","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:54.958983896Z"}]},"request_id":"a8c6de89-8f5b-4f19-970e-2da3ee3f124b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.0229092} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d4c53e9817fa9c437125c4abbda3a72","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d4c53e9817fa9c437125c4abbda3a72"} device-1 | {"level":"info","message":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 200 38ms","method":"GET","requestID":"1d4c53e9817fa9c437125c4abbda3a72","responseTime":38,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 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":"1d4c53e9817fa9c437125c4abbda3a72"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU","level":"info","message":"auth send jwt","requestID":"f2f394fb5e346807fe29886d0daff946"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f2f394fb5e346807fe29886d0daff946","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2f394fb5e346807fe29886d0daff946"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.887447,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f2f394fb5e346807fe29886d0daff946","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f2f394fb5e346807fe29886d0daff946","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:55.062079144Z"}]},"request_id":"9c327c87-c24a-4d0c-9a29-f40363094c51","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.0659323} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"f2f394fb5e346807fe29886d0daff946","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2f394fb5e346807fe29886d0daff946"} gateway-1 | {"time_local":"29/Apr/2025:10:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2f394fb5e346807fe29886d0daff946"} device-1 | {"level":"info","message":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? 200 36ms","method":"GET","requestID":"f2f394fb5e346807fe29886d0daff946","responseTime":36,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU","level":"info","message":"auth send jwt","requestID":"50da5a07957932f0cf435bdba573000e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50da5a07957932f0cf435bdba573000e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"50da5a07957932f0cf435bdba573000e"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.741194,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"50da5a07957932f0cf435bdba573000e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50da5a07957932f0cf435bdba573000e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to run experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to book experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully booked experiment","requestID":"50da5a07957932f0cf435bdba573000e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.008748,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949186,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:54.958983896Z"}]},"request_id":"70704768-61d9-4c8f-80a3-9d300797c832","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.1805503} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:55.062079144Z"}]},"request_id":"62b00c52-41a2-4dac-b21f-5932c8c21b5e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.1817062} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 200 17ms","method":"GET","requestID":"4080f090-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? 200 16ms","method":"GET","requestID":"40813eb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Setting up experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully locked booking for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to update booking for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully updated booking for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully set up experiment","requestID":"50da5a07957932f0cf435bdba573000e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4097ace0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully running experiment","requestID":"50da5a07957932f0cf435bdba573000e"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937069,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855196,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4097ace0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","rebac_allow":false,"scope_allow":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":"4097ace0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.52548,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d917b18-ea42-4863-9045-ae0b6d3d2ac0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.327088} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4097ace0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling 200 36ms","method":"POST","requestID":"4097ace0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"409da050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:55.062079144Z"}]},"request_id":"d330d39e-9329-478c-9ac8-d2e37e99a24d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.3577693} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:54.958983896Z"}]},"request_id":"cf245652-9bd1-434e-83e4-78d9c6954f38","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.360299} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} device-1 | {"level":"info","message":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? 200 49ms","method":"GET","requestID":"40975ec0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40c97bbb-7e6a-4acc-900e-f864f311cb01","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.3660839} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.130006,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"409da050-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","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 succeeded","requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 200 55ms","method":"GET","requestID":"409710a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":55,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8?"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"409da050-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2cfc9b7-68f9-4194-b27d-059f988c3c89#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2cfc9b7-68f9-4194-b27d-059f988c3c89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e8255d49-564d-4435-bcb9-758ee8924317","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.371209} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8b490b3-63e3-4219-ba8f-73a0159df34d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.3715093} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"50da5a07957932f0cf435bdba573000e","responseTime":44,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40a08680-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"50da5a07957932f0cf435bdba573000e"} gateway-1 | {"time_local":"29/Apr/2025:10:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.335","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50da5a07957932f0cf435bdba573000e"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efeb5a6b-0107-497f-8958-78f1a5861f1f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.405574} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"409da050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling 200 49ms","method":"POST","requestID":"409da050-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 330ms","method":"POST","requestID":"50da5a07957932f0cf435bdba573000e","responseTime":330,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.814383,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40a08680-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","rebac_allow":false,"scope_allow":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":"40a08680-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU","level":"info","message":"auth send jwt","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40a08680-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling 200 39ms","method":"POST","requestID":"40a08680-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93505,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40a6ef20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a"} device-1 | {"level":"info","message":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 200 16ms","method":"GET","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a","responseTime":16,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8? 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":"3b0538b5cb3b8c0b304996f2eaa28f0a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:54.958983896Z"}]},"request_id":"f1e36e40-67d1-47ef-b083-220fac1863aa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.4243326} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b0538b5cb3b8c0b304996f2eaa28f0a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f44ff2c6-d016-4e36-ac7d-edff7a05e4a5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.4542856} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":33.749847,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU","level":"info","message":"auth send jwt","requestID":"1d029cee9e309a1d43fe0f414a6157a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d029cee9e309a1d43fe0f414a6157a5","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40a6ef20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"40a6ef20-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1d029cee9e309a1d43fe0f414a6157a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40a6ef20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling 200 43ms","method":"POST","requestID":"40a6ef20-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.087574,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Building connection plan","requestID":"50da5a07957932f0cf435bdba573000e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"4d8bfaff-ef43-4e85-848d-954daeaf8da7"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"fc8e697d-43f8-44fc-9317-542ab1b25c6d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"c6d7abc1-8abe-45c0-835c-d3ff2a07ec9f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"50da5a07957932f0cf435bdba573000e"} 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/a3cefa82-3c80-4ee7-80d1-7e27504095ef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"50da5a07957932f0cf435bdba573000e"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1d029cee9e309a1d43fe0f414a6157a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"1d029cee9e309a1d43fe0f414a6157a5","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:55.062079144Z"}]},"request_id":"1c930da4-8b20-4daa-ae96-278c19ba6b5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.468226} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"1d029cee9e309a1d43fe0f414a6157a5","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.051848,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924038,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOH0.Xv1naRH-JfkwxfY-Vtl329zmNE23YyP487MDo6YsfkU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1d029cee9e309a1d43fe0f414a6157a5"} device-1 | {"level":"info","message":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? 200 19ms","method":"GET","requestID":"1d029cee9e309a1d43fe0f414a6157a5","responseTime":19,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef?"} gateway-1 | {"time_local":"29/Apr/2025:10:53:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d029cee9e309a1d43fe0f414a6157a5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d647efd6-37d5-4210-ac36-8b47697700e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.5073602} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"8271c7e7-9910-4366-83b7-cc0da1cb56b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.5076644} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f'","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f'","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 80ms","method":"POST","requestID":"40ae4220-24e8-11f0-a431-d1fa1ca0a775","responseTime":80,"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":"40ae4220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","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 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","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/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"50da5a07957932f0cf435bdba573000e"} device-1 | {"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40c48940-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16ec8f83-5699-4810-aab0-0ddba9a41807","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.642657} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.043487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40c48940-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","rebac_allow":false,"scope_allow":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":"40c48940-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40c48940-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling 200 38ms","method":"POST","requestID":"40c48940-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40cacad0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c4e727e-e4d7-4406-b9c1-72bf7152c677","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.659353} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.761579,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40cacad0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","rebac_allow":false,"scope_allow":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":"40cacad0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40cacad0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling 200 37ms","method":"POST","requestID":"40cacad0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8996255414366759363 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:g0rG\r\na=ice-pwd:perbiDti1cybfJ1FE4DUGGvZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E9:9C:2A:2F:38:69:DD:B4:8E:2D:D8:0E:F5:1A:76:A4:E8:18:6D:DE:B1:34:1A:01:40:BE:BF:28:7D:06:22:C5\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6381815810497011189 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:X4ZC\r\na=ice-pwd:M6LQ8SJBLzSlu3XEwu7rRXgT\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C2:04:F2:32:93:5B:82:12:91:1F:22:E8:2F:F3:3A:5B:BD:82:1F:D5:2F:CE:B0:33:E6:B0:4E:D4:99:43:81:AA\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2085557704 1 udp 2113937151 8570ae14-4f50-4f3c-8403-0bd70f47d0cf.local 42450 typ host generation 0 ufrag X4ZC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","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/a3cefa82-3c80-4ee7-80d1-7e27504095ef'"} device-1 | {"content":{"candidate":"candidate:3038349892 1 udp 2113937151 7bf9106b-5eee-4f26-9953-76f0c4a2c167.local 37620 typ host generation 0 ufrag g0rG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","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/6658f1b3-6661-4ea1-894a-00c5c6cb250f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"37f247e7dedea56857a15a0b57724c1e","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":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"37f247e7dedea56857a15a0b57724c1e","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/a3cefa82-3c80-4ee7-80d1-7e27504095ef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"}}},"level":"info","message":"received a callback","requestID":"37f247e7dedea56857a15a0b57724c1e"} device-1 | {"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"37f247e7dedea56857a15a0b57724c1e","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"37f247e7dedea56857a15a0b57724c1e"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","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/6658f1b3-6661-4ea1-894a-00c5c6cb250f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27e1a6dc66a053758d3add660744b2c3","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":"27e1a6dc66a053758d3add660744b2c3","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/a3cefa82-3c80-4ee7-80d1-7e27504095ef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"}}},"level":"info","message":"received a callback","requestID":"27e1a6dc66a053758d3add660744b2c3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"40edbc20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6658f1b3-6661-4ea1-894a-00c5c6cb250f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a762634d-6cb1-4629-9da2-96401013811a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.8875895} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.302601,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40edbc20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","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 7ms","method":"POST","requestID":"40edbc20-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"40edbc20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f 200 11ms","method":"GET","requestID":"40edbc20-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"} gateway-1 | {"time_local":"29/Apr/2025:10:53: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.094","http_referrer":"","http_user_agent":"node-fetch","requestID":"27e1a6dc66a053758d3add660744b2c3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 89ms","method":"POST","requestID":"27e1a6dc66a053758d3add660744b2c3","responseTime":89,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40f695c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c96aa605-e258-4473-94db-72e9db10d878","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.9459383} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.386439,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40f695c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","rebac_allow":false,"scope_allow":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":"40f695c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40f695c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling 200 12ms","method":"POST","requestID":"40f695c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"40fc8930-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7ec5959-0109-485f-8f33-4e7e8c5afa75","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924038.9868667} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.305471,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"40fc8930-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","rebac_allow":false,"scope_allow":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":"40fc8930-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"40fc8930-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling 200 14ms","method":"POST","requestID":"40fc8930-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig","level":"info","message":"auth send jwt","requestID":"cffe2f4fcace9dd2936a59b7d2123628"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cffe2f4fcace9dd2936a59b7d2123628","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","requestID":"cffe2f4fcace9dd2936a59b7d2123628"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.791262,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cffe2f4fcace9dd2936a59b7d2123628","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924039,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cffe2f4fcace9dd2936a59b7d2123628","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","requestID":"cffe2f4fcace9dd2936a59b7d2123628"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cffe2f4fcace9dd2936a59b7d2123628"} experiment-1 | {"level":"info","message":"GET /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89 200 9ms","method":"GET","requestID":"cffe2f4fcace9dd2936a59b7d2123628","responseTime":9,"status":200,"url":"/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig","level":"info","message":"auth send jwt","requestID":"d73dad488053fa1536ba48a1314a2cd8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d73dad488053fa1536ba48a1314a2cd8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","requestID":"d73dad488053fa1536ba48a1314a2cd8"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.758394,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d73dad488053fa1536ba48a1314a2cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924039,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d73dad488053fa1536ba48a1314a2cd8","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Attempting to finish experiment","requestID":"d73dad488053fa1536ba48a1314a2cd8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.861487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924039,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","device":"a3cefa82-3c80-4ee7-80d1-7e27504095ef","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f","device":"23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","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/6658f1b3-6661-4ea1-894a-00c5c6cb250f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57dee34b-eedf-4921-9265-e923250aace3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.370366} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6658f1b3-6661-4ea1-894a-00c5c6cb250f': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6658f1b3-6661-4ea1-894a-00c5c6cb250f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"9da7adcc-dc6c-4ad7-8150-d1eaa06d5afc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.370751} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d5eeea32fe8786f23064b405d622ff70","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":"d5eeea32fe8786f23064b405d622ff70","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ba888aa1bb01057cbadb1329dae3de89","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":"ba888aa1bb01057cbadb1329dae3de89","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775","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/a3cefa82-3c80-4ee7-80d1-7e27504095ef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"}}},"level":"info","message":"received a callback","requestID":"d5eeea32fe8786f23064b405d622ff70"} 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/a3cefa82-3c80-4ee7-80d1-7e27504095ef"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"}}},"level":"info","message":"received a callback","requestID":"ba888aa1bb01057cbadb1329dae3de89"} device-1 | {"data":{"peerconnection":"6658f1b3-6661-4ea1-894a-00c5c6cb250f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f 204 91ms","method":"DELETE","requestID":"4131f110-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":204,"url":"/peerconnections/6658f1b3-6661-4ea1-894a-00c5c6cb250f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"},"level":"info","message":"Successfully finished experiment","requestID":"d73dad488053fa1536ba48a1314a2cd8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"414d4140-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa3cefa82-3c80-4ee7-80d1-7e27504095ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9859181-21ae-4697-8c78-244525cac0a2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.5127044} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.901885,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"414d4140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef","object_type":"device","rebac_allow":false,"scope_allow":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":"414d4140-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"414d4140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling 200 10ms","method":"POST","requestID":"414d4140-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"414f3d10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2cfc9b7-68f9-4194-b27d-059f988c3c89': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe2cfc9b7-68f9-4194-b27d-059f988c3c89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"fb70b2ef-314a-4111-9584-f11007603248","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.5225658} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48fc913f-41b5-41c0-8401-97b43e00c14f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.5229278} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"d73dad488053fa1536ba48a1314a2cd8","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee75be51-0b96-46d4-89e7-44240e102925","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.5263586} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72842,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"414f3d10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"414f3d10-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"414f3d10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling 200 36ms","method":"POST","requestID":"414f3d10-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89","requestID":"d73dad488053fa1536ba48a1314a2cd8"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.351","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d73dad488053fa1536ba48a1314a2cd8"} experiment-1 | {"level":"info","message":"DELETE /experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89 204 348ms","method":"DELETE","requestID":"d73dad488053fa1536ba48a1314a2cd8","responseTime":348,"status":204,"url":"/experiments/e2cfc9b7-68f9-4194-b27d-059f988c3c89"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 296ms","method":"POST","requestID":"d5eeea32fe8786f23064b405d622ff70","responseTime":296,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 296ms","method":"POST","requestID":"ba888aa1bb01057cbadb1329dae3de89","responseTime":296,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig","level":"info","message":"auth send jwt","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +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.300","http_referrer":"","http_user_agent":"node-fetch","requestID":"d5eeea32fe8786f23064b405d622ff70"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +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.301","http_referrer":"","http_user_agent":"node-fetch","requestID":"ba888aa1bb01057cbadb1329dae3de89"} device-1 | {"level":"info","message":"postDevices called","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.085871,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924039,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.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":"90f86e36a76f90fdfe126c9fa7318c5f"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.873","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":"b302bf66e94a61e90f6de1f3f809173f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"827a53ba-9380-4b8b-a2f6-9a7d7e245a1a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.7238796} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/23785beb-8ba5-4d3e-bac5-25a95f6bd4a8' closed"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efc2bb56-f1eb-4ea5-b8f9-ac8a26240ba6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.7535536} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a3cefa82-3c80-4ee7-80d1-7e27504095ef' closed"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"c67a7d07-0257-451e-88eb-b9fa5a940561","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.7663786} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7ef89ed-26fd-4414-8b4a-80e55680cd3b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.768218} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.766355221Z"}]},"request_id":"1be1a178-8c58-4f87-b5f3-849c739569c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.7973697} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821"} device-1 | {"level":"info","message":"POST /devices? 201 102ms","method":"POST","requestID":"6f4e9f2f6441c5a749c9b6ce05a22821","responseTime":102,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig","level":"info","message":"auth send jwt","requestID":"4b2787064f7cc204a2bc39083b8f369d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b2787064f7cc204a2bc39083b8f369d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4b2787064f7cc204a2bc39083b8f369d"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.014365,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:53:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4b2787064f7cc204a2bc39083b8f369d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924039,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDAzOX0.v3jDekAxxaKRWX6tDxcQeUwg1WEuQCEBtydGr4hsgig"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9931e95-7873-4c4a-b6f7-41f4399c47ce","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.8471467} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8456b889-ca76-4d3d-a4c8-c35e921816c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.8525915} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"85619ade-5772-4331-8a53-1764540f9301","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.8932564} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ec91783-4e44-45c1-a9e3-7ae4f36a0fee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.8933485} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","responseTime":44,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"beb6b5ed-3f75-47b5-8ad7-16c2a0be6938","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924039.89856} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4b2787064f7cc204a2bc39083b8f369d"} gateway-1 | {"time_local":"29/Apr/2025:10:53:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4b2787064f7cc204a2bc39083b8f369d"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"4b2787064f7cc204a2bc39083b8f369d","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0MX0.V0RQYiQPHx1h1LWmqIO5ZCrnC3U_fB-bi-KH7H1PlN8","level":"info","message":"auth send jwt","requestID":"ba8b0109f1808087f28743635834e2ca"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ba8b0109f1808087f28743635834e2ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba8b0109f1808087f28743635834e2ca","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865903,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ba8b0109f1808087f28743635834e2ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924041,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0MX0.V0RQYiQPHx1h1LWmqIO5ZCrnC3U_fB-bi-KH7H1PlN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ba8b0109f1808087f28743635834e2ca","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"2997acec-ed9a-453d-b877-3e1706647a08","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924041.2008352} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ba8b0109f1808087f28743635834e2ca","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2afe7361-39bc-4c23-ad5d-e54ef3dce7af","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924041.2062678} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ba8b0109f1808087f28743635834e2ca","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"79c428a5-fef9-4b37-b74d-1f7a8c339c8f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924041.2417462} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ba8b0109f1808087f28743635834e2ca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ba8b0109f1808087f28743635834e2ca"} gateway-1 | {"time_local":"29/Apr/2025:10:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"ba8b0109f1808087f28743635834e2ca"} device-1 | {"level":"info","message":"PATCH /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0 200 53ms","method":"PATCH","requestID":"ba8b0109f1808087f28743635834e2ca","responseTime":53,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"683c3c19d013e38485e6a30531847ae6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0MX0.V0RQYiQPHx1h1LWmqIO5ZCrnC3U_fB-bi-KH7H1PlN8","level":"info","message":"auth send jwt","requestID":"683c3c19d013e38485e6a30531847ae6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"683c3c19d013e38485e6a30531847ae6","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:01Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957578,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"683c3c19d013e38485e6a30531847ae6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924041,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0MX0.V0RQYiQPHx1h1LWmqIO5ZCrnC3U_fB-bi-KH7H1PlN8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"683c3c19d013e38485e6a30531847ae6","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"683c3c19d013e38485e6a30531847ae6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"683c3c19d013e38485e6a30531847ae6"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/websocket 200 41ms","method":"POST","requestID":"683c3c19d013e38485e6a30531847ae6","responseTime":41,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"089d02b5732aed33924dbc4d978badf3","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":"089d02b5732aed33924dbc4d978badf3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/381fddaa-c8a4-4114-819b-ca85954e3625/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":"089d02b5732aed33924dbc4d978badf3"} device-1 | {"level":"info","message":"OPTIONS /devices/381fddaa-c8a4-4114-819b-ca85954e3625/websocket 200 0ms","method":"OPTIONS","requestID":"089d02b5732aed33924dbc4d978badf3","responseTime":0,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA","level":"info","message":"auth send jwt","requestID":"eba1bbb78e8d975cb816eb1105938ca5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eba1bbb78e8d975cb816eb1105938ca5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eba1bbb78e8d975cb816eb1105938ca5"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"eba1bbb78e8d975cb816eb1105938ca5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eba1bbb78e8d975cb816eb1105938ca5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eba1bbb78e8d975cb816eb1105938ca5"} gateway-1 | {"time_local":"29/Apr/2025:10:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","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":"eba1bbb78e8d975cb816eb1105938ca5"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/websocket 200 42ms","method":"POST","requestID":"eba1bbb78e8d975cb816eb1105938ca5","responseTime":42,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA","level":"info","message":"auth send jwt","requestID":"300a39b9c58716b0c1d1795cc571c372"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"300a39b9c58716b0c1d1795cc571c372"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"300a39b9c58716b0c1d1795cc571c372","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778579,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"300a39b9c58716b0c1d1795cc571c372","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"300a39b9c58716b0c1d1795cc571c372","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.766355221Z"}]},"request_id":"a51348f2-0233-4a6c-98c0-27165ed4e8b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.5467217} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"300a39b9c58716b0c1d1795cc571c372","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"300a39b9c58716b0c1d1795cc571c372"} gateway-1 | {"time_local":"29/Apr/2025:10:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? 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":"300a39b9c58716b0c1d1795cc571c372"} device-1 | {"level":"info","message":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? 200 13ms","method":"GET","requestID":"300a39b9c58716b0c1d1795cc571c372","responseTime":13,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA","level":"info","message":"auth send jwt","requestID":"3667a923d530f169af404a760cbabdd2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3667a923d530f169af404a760cbabdd2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3667a923d530f169af404a760cbabdd2"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756283,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3667a923d530f169af404a760cbabdd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3667a923d530f169af404a760cbabdd2","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"65e570ce-622e-4ba8-a711-8bc87ccaed07","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.5895627} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3667a923d530f169af404a760cbabdd2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3667a923d530f169af404a760cbabdd2"} device-1 | {"level":"info","message":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? 200 13ms","method":"GET","requestID":"3667a923d530f169af404a760cbabdd2","responseTime":13,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? 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":"3667a923d530f169af404a760cbabdd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA","level":"info","message":"auth send jwt","requestID":"32299296a0b08bf532496a076b128254"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32299296a0b08bf532496a076b128254","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"32299296a0b08bf532496a076b128254"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.79915,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"32299296a0b08bf532496a076b128254","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"32299296a0b08bf532496a076b128254","responseTime":32,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to run experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to book experiment","requestID":"32299296a0b08bf532496a076b128254"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully booked experiment","requestID":"32299296a0b08bf532496a076b128254"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.816311,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844376,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.766355221Z"}]},"request_id":"6be3e046-3e45-4c9d-9d84-6576f565ad49","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.727133} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"52e9c33e-1eb0-48b9-b74a-f3968dc124cd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.7285504} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? 200 40ms","method":"GET","requestID":"43333f50-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? 200 39ms","method":"GET","requestID":"43338d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Setting up experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully locked booking for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to update booking for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully updated booking for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully set up experiment","requestID":"32299296a0b08bf532496a076b128254"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43495f60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.000278,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully running experiment","requestID":"32299296a0b08bf532496a076b128254"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989451,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.205661,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b8d77a7c-87e5-4b93-a0f3-05681c92eab9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.8722465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"989812b3-c1c5-494f-ac94-57a6e2d08aaa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.87335} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"43495f60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","rebac_allow":false,"scope_allow":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":"43495f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.766355221Z"}]},"request_id":"0b967492-6d60-40d4-9098-02252a4aca06","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.8770158} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43495f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling 200 41ms","method":"POST","requestID":"43495f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? 200 47ms","method":"GET","requestID":"43491140-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a3cc8e3-72df-49b8-b965-e69796a6fc25#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a3cc8e3-72df-49b8-b965-e69796a6fc25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0c21b7a5-beb1-48b1-b7db-7868899b6898","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.884049} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"43506440-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9eeb47d-0c18-4925-a3bc-c646a0569007","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.884323} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"32299296a0b08bf532496a076b128254","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? 200 52ms","method":"GET","requestID":"4348c320-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625?"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4354f820-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c0f081e-5559-412f-ad84-bc027386b669","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.9194021} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.464953,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"43506440-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","rebac_allow":false,"scope_allow":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":"43506440-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48a79cc5-c5fd-4d05-8e00-3a20da60a572","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.9236069} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.789342,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4354f820-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"4354f820-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"level":"info","message":"POST /experiments? 201 334ms","method":"POST","requestID":"32299296a0b08bf532496a076b128254","responseTime":334,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.337","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32299296a0b08bf532496a076b128254"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA","level":"info","message":"auth send jwt","requestID":"c94555b1be25386621ab3b817b664682"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"43506440-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c94555b1be25386621ab3b817b664682","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling 200 77ms","method":"POST","requestID":"43506440-24e8-11f0-a431-d1fa1ca0a775","responseTime":77,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c94555b1be25386621ab3b817b664682"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4354f820-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling 200 52ms","method":"POST","requestID":"4354f820-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891757,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c94555b1be25386621ab3b817b664682","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c94555b1be25386621ab3b817b664682","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"435dd1c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.766355221Z"}]},"request_id":"19d81c7a-b9fc-49a0-894d-9ed9b2ac30c7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.976403} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c94555b1be25386621ab3b817b664682","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5cb279b-bff8-4a9d-ae87-c5090a1a3c3f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924042.9781663} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.438918,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"435dd1c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","rebac_allow":false,"scope_allow":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":"435dd1c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c94555b1be25386621ab3b817b664682"} device-1 | {"level":"info","message":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? 200 46ms","method":"GET","requestID":"c94555b1be25386621ab3b817b664682","responseTime":46,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/381fddaa-c8a4-4114-819b-ca85954e3625? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c94555b1be25386621ab3b817b664682"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"435dd1c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling 200 39ms","method":"POST","requestID":"435dd1c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Building connection plan","requestID":"32299296a0b08bf532496a076b128254"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"0826d5e6-163c-4aab-a6a3-b209fdfd07f4"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"e6f40b79-36a5-4f51-b72b-50e396ffc38f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"e55e9650-165c-4eb1-97e1-914424fb55fc"}]},"level":"info","message":"Built pairwise service configurations","requestID":"32299296a0b08bf532496a076b128254"} 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/381fddaa-c8a4-4114-819b-ca85954e3625"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"32299296a0b08bf532496a076b128254"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0M30.ThCVf50z2Q73E8oW2dgKB6vx3DaWPRVBHJe3WPSzUYY","level":"info","message":"auth send jwt","requestID":"9f850424024dc7767494c2cc4e94eb9f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9f850424024dc7767494c2cc4e94eb9f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9f850424024dc7767494c2cc4e94eb9f"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:59208","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.862787,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924042,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Mn0.b_zlu8fQst7gj8nbXpakEffp8WtqDE0z6DOXKkTSyZA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86143,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9f850424024dc7767494c2cc4e94eb9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924043,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0M30.ThCVf50z2Q73E8oW2dgKB6vx3DaWPRVBHJe3WPSzUYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9f850424024dc7767494c2cc4e94eb9f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:53:59.893232370Z"}]},"request_id":"a749de6c-37ad-45c9-9545-ad4193d32703","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924043.0276418} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9f850424024dc7767494c2cc4e94eb9f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9f850424024dc7767494c2cc4e94eb9f"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"9a3b050c-904a-49cd-9c96-4f8a97fe5b53","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924043.05726} device-1 | {"level":"info","message":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? 200 38ms","method":"GET","requestID":"9f850424024dc7767494c2cc4e94eb9f","responseTime":38,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e614b58-8d7d-493a-a63a-b73071b3598d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924043.0577488} gateway-1 | {"time_local":"29/Apr/2025:10:54:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f850424024dc7767494c2cc4e94eb9f"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0'","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0'","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} 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":"4364af90-24e8-11f0-a431-d1fa1ca0a775","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":"4364af90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","device":"381fddaa-c8a4-4114-819b-ca85954e3625","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/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"32299296a0b08bf532496a076b128254"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"437a8180-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3957e357-eba3-44f1-a440-bde2da703eed","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924043.1658325} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.294587,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"437a8180-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","rebac_allow":false,"scope_allow":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":"437a8180-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"437a8180-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling 200 11ms","method":"POST","requestID":"437a8180-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"437c7d50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4711a54-0ec1-40de-9029-55b1de1f5771","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924043.2028167} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703013,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"437c7d50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","rebac_allow":false,"scope_allow":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":"437c7d50-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"437c7d50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling 200 35ms","method":"POST","requestID":"437c7d50-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling"} device-1 | {"device":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2352635206996988480 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:VDDR\r\na=ice-pwd:2H9JMIwt1dY5zilSzfjJBmls\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A9:01:02:09:E7:11:65:8D:F2:A6:94:D1:26:B4:7D:DC:C7:44:B8:E1:F1:1B:52:2C:CD:01:08:F1:20:AE:B6:4A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2302306815 1 udp 2113937151 8053b5a9-c9c8-478b-8118-df6b67c663a9.local 33276 typ host generation 0 ufrag VDDR network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea60e44f3f5ebd1bef996fca78b4b7d9","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":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ea60e44f3f5ebd1bef996fca78b4b7d9","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/381fddaa-c8a4-4114-819b-ca85954e3625"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"}}},"level":"info","message":"received a callback","requestID":"ea60e44f3f5ebd1bef996fca78b4b7d9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"ea60e44f3f5ebd1bef996fca78b4b7d9","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea60e44f3f5ebd1bef996fca78b4b7d9"} device-1 | {"data":{"peerconnection":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"381fddaa-c8a4-4114-819b-ca85954e3625","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/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","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":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"}}},"level":"info","message":"received a callback","requestID":"56150300f91bd73d461523a7d479bef1"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56150300f91bd73d461523a7d479bef1","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":"56150300f91bd73d461523a7d479bef1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"44be9a40-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c17b109-ad9b-4ef6-9ab3-f7a7607932aa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924045.29007} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.415914,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"44be9a40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","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":"44be9a40-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"44be9a40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0 200 43ms","method":"GET","requestID":"44be9a40-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.151","http_referrer":"","http_user_agent":"node-fetch","requestID":"56150300f91bd73d461523a7d479bef1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"56150300f91bd73d461523a7d479bef1","responseTime":146,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"44d3cff0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be409708-4074-4022-8be2-a34db5d83ed8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924045.428328} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.061883,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"44d3cff0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","rebac_allow":false,"scope_allow":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":"44d3cff0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"44d3cff0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling 200 36ms","method":"POST","requestID":"44d3cff0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"44d99c50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.330503,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ac87644-12a7-424c-90fa-e4828764c535","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924045.468343} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"44d99c50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","rebac_allow":false,"scope_allow":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":"44d99c50-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"44d99c50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling 200 15ms","method":"POST","requestID":"44d99c50-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0NX0.u0CcIOucvF9njnLd7auq2jTLtc0g_EYtwGbIYSMSg2Q","level":"info","message":"auth send jwt","requestID":"f0d7376b458fd897307a5c215544d4d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0d7376b458fd897307a5c215544d4d6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","requestID":"f0d7376b458fd897307a5c215544d4d6"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.867678,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f0d7376b458fd897307a5c215544d4d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924045,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0NX0.u0CcIOucvF9njnLd7auq2jTLtc0g_EYtwGbIYSMSg2Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f0d7376b458fd897307a5c215544d4d6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","requestID":"f0d7376b458fd897307a5c215544d4d6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0d7376b458fd897307a5c215544d4d6"} experiment-1 | {"level":"info","message":"GET /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25 200 37ms","method":"GET","requestID":"f0d7376b458fd897307a5c215544d4d6","responseTime":37,"status":200,"url":"/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0NX0.u0CcIOucvF9njnLd7auq2jTLtc0g_EYtwGbIYSMSg2Q","level":"info","message":"auth send jwt","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.859887,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"30f3b42ea6d968602fc4edd7a1d0dad1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924045,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0NX0.u0CcIOucvF9njnLd7auq2jTLtc0g_EYtwGbIYSMSg2Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Attempting to finish experiment","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.932511,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924045,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0NX0.u0CcIOucvF9njnLd7auq2jTLtc0g_EYtwGbIYSMSg2Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","device":"381fddaa-c8a4-4114-819b-ca85954e3625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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":"257073d8-27f3-4fcc-b1fd-93fbada620a0","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/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5460616875d0cc3abab9d5ca9991ca39","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":"5460616875d0cc3abab9d5ca9991ca39","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8103f3431ec131ac6c47bf4f89313f23","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":"connected","url":"http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"}}},"level":"info","message":"received a callback","requestID":"5460616875d0cc3abab9d5ca9991ca39"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8103f3431ec131ac6c47bf4f89313f23","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff3cf2b8-0d6b-4594-bc30-6752fcce2ba0': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"11707f0d-9206-4414-ac85-014ea2cac08f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.0028882} 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":"connected","url":"http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"}}},"level":"info","message":"received a callback","requestID":"8103f3431ec131ac6c47bf4f89313f23"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26ff4623-a09a-470b-847c-e88e31332394","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.0045092} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0 204 91ms","method":"DELETE","requestID":"45257260-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":204,"url":"/peerconnections/ff3cf2b8-0d6b-4594-bc30-6752fcce2ba0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"},"level":"info","message":"Successfully finished experiment","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"45392170-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F381fddaa-c8a4-4114-819b-ca85954e3625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8a168b8-298f-4299-a2d5-9e616de0b4b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.0923557} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.006918,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"45392170-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/381fddaa-c8a4-4114-819b-ca85954e3625","object_type":"device","rebac_allow":false,"scope_allow":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":"45392170-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"45392170-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling 200 10ms","method":"POST","requestID":"45392170-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/381fddaa-c8a4-4114-819b-ca85954e3625/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"453af630-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a3cc8e3-72df-49b8-b965-e69796a6fc25': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a3cc8e3-72df-49b8-b965-e69796a6fc25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"586c587b-883e-4df6-95d4-c9592a6b1850","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.1008284} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3543295a-a8ce-4144-ae23-778f993935c0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.1011798} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F257073d8-27f3-4fcc-b1fd-93fbada620a0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ba85438-f6f9-4da0-8ea4-fd3e76090293","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.1053154} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.389108,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"453af630-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0","object_type":"device","rebac_allow":false,"scope_allow":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":"453af630-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"453af630-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling 200 38ms","method":"POST","requestID":"453af630-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.302","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1"} experiment-1 | {"level":"info","message":"DELETE /experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25 204 296ms","method":"DELETE","requestID":"30f3b42ea6d968602fc4edd7a1d0dad1","responseTime":296,"status":204,"url":"/experiments/5a3cc8e3-72df-49b8-b965-e69796a6fc25"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +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.949","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9650bc4c1c20dbeed8e546c2b9728c77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"5460616875d0cc3abab9d5ca9991ca39","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +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.248","http_referrer":"","http_user_agent":"node-fetch","requestID":"5460616875d0cc3abab9d5ca9991ca39"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Nn0.enrxs5QltW-SoZxjLF9rS_Tw3ysDuis_JW3AxADUEA8","level":"info","message":"auth send jwt","requestID":"2147eaf3f7af0b28db61663b0e74f38c"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"2147eaf3f7af0b28db61663b0e74f38c","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2147eaf3f7af0b28db61663b0e74f38c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +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.783","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":"85126b0810107ce0430f6378086bebf3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 273ms","method":"POST","requestID":"8103f3431ec131ac6c47bf4f89313f23","responseTime":273,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +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.278","http_referrer":"","http_user_agent":"node-fetch","requestID":"8103f3431ec131ac6c47bf4f89313f23"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:06Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/257073d8-27f3-4fcc-b1fd-93fbada620a0' closed"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.850819,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2147eaf3f7af0b28db61663b0e74f38c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924046,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Nn0.enrxs5QltW-SoZxjLF9rS_Tw3ysDuis_JW3AxADUEA8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","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/381fddaa-c8a4-4114-819b-ca85954e3625' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ae61dd7-7695-4f52-b9dc-0b5d945a6af8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.3258739} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1c6b003-e610-4704-ad5e-ec0567297408","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.3326726} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"31749dc1-5cfa-403a-8d8b-968a346aeea3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.343894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c64cd368-4b51-4f54-9689-2137663e6a46","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.3441832} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"7446262e-3bb0-4f67-920b-576640cadf50","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.3483014} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2147eaf3f7af0b28db61663b0e74f38c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2147eaf3f7af0b28db61663b0e74f38c"} device-1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"2147eaf3f7af0b28db61663b0e74f38c","responseTime":100,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Nn0.enrxs5QltW-SoZxjLF9rS_Tw3ysDuis_JW3AxADUEA8","level":"info","message":"auth send jwt","requestID":"2409effb2513d98ad02d64be9bd5e204"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2409effb2513d98ad02d64be9bd5e204","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2409effb2513d98ad02d64be9bd5e204"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.814847,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2409effb2513d98ad02d64be9bd5e204","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924046,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0Nn0.enrxs5QltW-SoZxjLF9rS_Tw3ysDuis_JW3AxADUEA8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f7f69121-46d2-462d-840d-65e1c3e5470b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.4319553} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb9ff081-e481-4782-b896-916a5a291a41","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.4382849} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"7e694922-ff20-4617-82fc-953a16863780","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.4731843} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65a8b643-3d7e-454f-b421-4e3c88ee0898","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.4732335} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.473159530Z"}]},"request_id":"f2d8ff89-dd34-4eda-a75e-036c1580d736","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924046.4788086} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2409effb2513d98ad02d64be9bd5e204"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"2409effb2513d98ad02d64be9bd5e204","responseTime":101,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.105","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2409effb2513d98ad02d64be9bd5e204"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0N30.b17OU0doZ5kogwLh_HRSQio-j11etjg8LQzW0FP8WVQ","level":"info","message":"auth send jwt","requestID":"5abd4f44b030eb5f34e984589243a020"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5abd4f44b030eb5f34e984589243a020","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5abd4f44b030eb5f34e984589243a020"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772684,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5abd4f44b030eb5f34e984589243a020","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924047,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0N30.b17OU0doZ5kogwLh_HRSQio-j11etjg8LQzW0FP8WVQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5abd4f44b030eb5f34e984589243a020","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"94858cd1-67db-4066-a3e2-f1e04c740eee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924047.827245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5abd4f44b030eb5f34e984589243a020","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67276e2d-c9c0-43fd-b796-de448bafea44","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924047.8571239} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"5abd4f44b030eb5f34e984589243a020","responseTime":28,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"3885f74c-8a81-4111-a2b6-a79ea9d8e6f2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924047.8719692} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5abd4f44b030eb5f34e984589243a020","responseTime":4,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5abd4f44b030eb5f34e984589243a020"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5abd4f44b030eb5f34e984589243a020"} device-1 | {"level":"info","message":"PATCH /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831 200 58ms","method":"PATCH","requestID":"5abd4f44b030eb5f34e984589243a020","responseTime":58,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0N30.b17OU0doZ5kogwLh_HRSQio-j11etjg8LQzW0FP8WVQ","level":"info","message":"auth send jwt","requestID":"766c5a4b85f49b276ad3611f4c545527"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"766c5a4b85f49b276ad3611f4c545527","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"766c5a4b85f49b276ad3611f4c545527"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853456,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"766c5a4b85f49b276ad3611f4c545527","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924047,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0N30.b17OU0doZ5kogwLh_HRSQio-j11etjg8LQzW0FP8WVQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"766c5a4b85f49b276ad3611f4c545527","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"766c5a4b85f49b276ad3611f4c545527"} gateway-1 | {"time_local":"29/Apr/2025:10:54:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"766c5a4b85f49b276ad3611f4c545527"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/websocket 200 52ms","method":"POST","requestID":"766c5a4b85f49b276ad3611f4c545527","responseTime":52,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5bcd046ea285c76a67c692971462bef5","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":"5bcd046ea285c76a67c692971462bef5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/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":"5bcd046ea285c76a67c692971462bef5"} device-1 | {"level":"info","message":"OPTIONS /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/websocket 200 1ms","method":"OPTIONS","requestID":"5bcd046ea285c76a67c692971462bef5","responseTime":1,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035344,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ecaa85f1abde09bd73b4325e7a5b9eea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.059","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":"ecaa85f1abde09bd73b4325e7a5b9eea"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/websocket 200 55ms","method":"POST","requestID":"ecaa85f1abde09bd73b4325e7a5b9eea","responseTime":55,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767654,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"f1775931-d9b9-4881-8639-320b0ddb2ae3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.3088088} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1"} device-1 | {"level":"info","message":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? 200 15ms","method":"GET","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1","responseTime":15,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5754b5f7326fd4ba33965ba8fc2fa5f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"f35ad292d09c3811da9dd55dc0994261"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f35ad292d09c3811da9dd55dc0994261","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f35ad292d09c3811da9dd55dc0994261"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683986,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f35ad292d09c3811da9dd55dc0994261","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"f35ad292d09c3811da9dd55dc0994261","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.473159530Z"}]},"request_id":"a13f2f07-76ff-4d18-ba9f-ef5a83c89b63","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.3513315} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f35ad292d09c3811da9dd55dc0994261","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f35ad292d09c3811da9dd55dc0994261"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f35ad292d09c3811da9dd55dc0994261"} device-1 | {"level":"info","message":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? 200 37ms","method":"GET","requestID":"f35ad292d09c3811da9dd55dc0994261","responseTime":37,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"ccaa8c9028f4417645903c4d915a66b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ccaa8c9028f4417645903c4d915a66b3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ccaa8c9028f4417645903c4d915a66b3"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.842145,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ccaa8c9028f4417645903c4d915a66b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ccaa8c9028f4417645903c4d915a66b3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to run experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to book experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully booked experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.500607,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.890577,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"3510d659-fe65-420c-a03b-895501aebac3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.5997486} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.473159530Z"}]},"request_id":"ab32603a-c059-4737-acd8-59ee5426bca8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.6043258} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? 200 16ms","method":"GET","requestID":"474f7e50-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? 200 43ms","method":"GET","requestID":"474fa560-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Setting up experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully set up experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47674c10-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully running experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076207,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752032,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a86c1fc-b810-46a6-a29a-06c0561b8272","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.778629} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.089493,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"47674c10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","rebac_allow":false,"scope_allow":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":"47674c10-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"808ce80f-6d64-41f5-88aa-f305271a6c30","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.7828565} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.473159530Z"}]},"request_id":"738ca29d-94b4-4c1e-af85-59e03f737382","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.7829297} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47674c10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling 200 44ms","method":"POST","requestID":"47674c10-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? 200 49ms","method":"GET","requestID":"4766afd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? 200 49ms","method":"GET","requestID":"4766fdf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"476e9f10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"476eed30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.992406,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7fb1d81-0de9-4ee5-a3ff-70e61df16c9b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.7981374} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ca724d9-39e5-445d-8b70-214e95da2f91","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.800069} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4aa3cc9-4209-4b49-aa47-6e24f39b1aae#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4aa3cc9-4209-4b49-aa47-6e24f39b1aae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e02fd3fa-5750-4d95-9737-e7ce37cfe432","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8006544} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"476e9f10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"476e9f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05196852-4969-4af4-822d-18b0602daf79","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8251314} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.595373,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"476eed30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","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 succeeded","requestID":"476e9f10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"476eed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling 200 38ms","method":"POST","requestID":"476e9f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"ccaa8c9028f4417645903c4d915a66b3","responseTime":53,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"476eed30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling 200 38ms","method":"POST","requestID":"476eed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"477555d0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ccaa8c9028f4417645903c4d915a66b3"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.484","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 479ms","method":"POST","requestID":"ccaa8c9028f4417645903c4d915a66b3","responseTime":479,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bdf76980-10ba-4232-bbbc-b87c121dd471","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8428018} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.855431,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"477555d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","rebac_allow":false,"scope_allow":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":"477555d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"477555d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling 200 37ms","method":"POST","requestID":"477555d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Building connection plan","requestID":"ccaa8c9028f4417645903c4d915a66b3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"fd22ed84-0a85-4130-a840-e90fb6e64bde"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"944e78fd-cd7f-4a3c-a5c5-37849de2e064"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"139dfd55-1494-42af-9c13-2e1a412c36b5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ccaa8c9028f4417645903c4d915a66b3"} 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/4401a0f4-7bd9-4444-b41d-097714ea48e2"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ccaa8c9028f4417645903c4d915a66b3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935271,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"610ed685e8fe3ec3d08a63df20bc2b8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.897353,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.343870347Z"}]},"request_id":"876dceda-d6bd-4086-be4d-e1f0a0014e88","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8862233} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b"} device-1 | {"level":"info","message":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? 200 47ms","method":"GET","requestID":"610ed685e8fe3ec3d08a63df20bc2b8b","responseTime":47,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831? 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":"610ed685e8fe3ec3d08a63df20bc2b8b"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"543c4d19-bd25-4982-8ca4-c27c9cc63076","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8959157} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e0c17c8-e6d6-458e-9365-2f4ac7f3e958","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.8963523} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ","level":"info","message":"auth send jwt","requestID":"08e96079f171f6ca63eb4313110164c9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08e96079f171f6ca63eb4313110164c9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"08e96079f171f6ca63eb4313110164c9"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873186,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"08e96079f171f6ca63eb4313110164c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924049,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA0OX0.edVDrAim9jopAudFS-Ua_T6kyPOHolI0K0TeXbk5NXQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"08e96079f171f6ca63eb4313110164c9","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:06.473159530Z"}]},"request_id":"64c3267c-439b-409e-9da4-1cebc338132c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924049.934674} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165'","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"08e96079f171f6ca63eb4313110164c9","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165'","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 66ms","method":"POST","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775","responseTime":66,"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":"08e96079f171f6ca63eb4313110164c9"} device-1 | {"level":"info","message":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? 200 19ms","method":"GET","requestID":"08e96079f171f6ca63eb4313110164c9","responseTime":19,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08e96079f171f6ca63eb4313110164c9"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"477b7050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","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/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ccaa8c9028f4417645903c4d915a66b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47920590-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:10Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d4e0ae5-cd79-4fe3-9a9f-52529fb3d07c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924050.0303233} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.723114,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"47920590-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","rebac_allow":false,"scope_allow":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":"47920590-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47920590-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling 200 12ms","method":"POST","requestID":"47920590-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"47942870-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:10Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09613e4f-68fc-4e1f-bab1-d6141ec8f184","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924050.0680392} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.686112,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"47942870-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","rebac_allow":false,"scope_allow":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":"47942870-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"47942870-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling 200 34ms","method":"POST","requestID":"47942870-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling"} device-1 | {"device":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"10c69526-a276-4630-8669-e600ee291165","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6129640460781218345 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:Es9E\r\na=ice-pwd:Ab5UzK7aUimOBs+Qq6twOMyZ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CD:A3:15:0A:A1:71:C2:B4:C0:A1:75:30:D7:8A:81:55:03:26:4E:C9:E4:7B:46:09:20:22:20:80:1E:96:FA:31\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4285183495 1 udp 2113937151 b6c3fbdd-9e18-45b1-8f69-5f74584b2ea5.local 38146 typ host generation 0 ufrag Es9E network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","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/4401a0f4-7bd9-4444-b41d-097714ea48e2'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c69526-a276-4630-8669-e600ee291165","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d5eac45bd8baca4757bc80e266bbd52","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":"8d5eac45bd8baca4757bc80e266bbd52","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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 | {"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/4401a0f4-7bd9-4444-b41d-097714ea48e2"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165"}}},"level":"info","message":"received a callback","requestID":"8d5eac45bd8baca4757bc80e266bbd52"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d5eac45bd8baca4757bc80e266bbd52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"8d5eac45bd8baca4757bc80e266bbd52","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"10c69526-a276-4630-8669-e600ee291165","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"10c69526-a276-4630-8669-e600ee291165","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/10c69526-a276-4630-8669-e600ee291165' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c69526-a276-4630-8669-e600ee291165","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8900c557169001acf050584ab33583cd","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":"8900c557169001acf050584ab33583cd","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/4401a0f4-7bd9-4444-b41d-097714ea48e2"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165"}}},"level":"info","message":"received a callback","requestID":"8900c557169001acf050584ab33583cd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"48dd7150-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c69526-a276-4630-8669-e600ee291165","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadb6d72-9127-4a73-9994-3b88f5dcd489","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.2296958} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":29.766271,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"48dd7150-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","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 33ms","method":"POST","requestID":"48dd7150-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"48dd7150-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/10c69526-a276-4630-8669-e600ee291165 200 127ms","method":"GET","requestID":"48dd7150-24e8-11f0-a431-d1fa1ca0a775","responseTime":127,"status":200,"url":"/peerconnections/10c69526-a276-4630-8669-e600ee291165"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 190ms","method":"POST","requestID":"8900c557169001acf050584ab33583cd","responseTime":190,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.194","http_referrer":"","http_user_agent":"node-fetch","requestID":"8900c557169001acf050584ab33583cd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48f95dc0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8611e7a4-f8a8-4ec2-9bd6-6e1cdccb4bee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.3853223} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.054397,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"48f95dc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","rebac_allow":false,"scope_allow":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":"48f95dc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48f95dc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling 200 12ms","method":"POST","requestID":"48f95dc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"48ff2a20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3875b5ca-e0d5-4815-b750-7ace0d8d30eb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.4246743} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.797538,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"48ff2a20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","rebac_allow":false,"scope_allow":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":"48ff2a20-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"48ff2a20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling 200 11ms","method":"POST","requestID":"48ff2a20-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew","level":"info","message":"auth send jwt","requestID":"cb2a827d93dccc5c7e448d902de36bac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cb2a827d93dccc5c7e448d902de36bac","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","requestID":"cb2a827d93dccc5c7e448d902de36bac"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.969038,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cb2a827d93dccc5c7e448d902de36bac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924052,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb2a827d93dccc5c7e448d902de36bac","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","requestID":"cb2a827d93dccc5c7e448d902de36bac"} gateway-1 | {"time_local":"29/Apr/2025:10:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb2a827d93dccc5c7e448d902de36bac"} experiment-1 | {"level":"info","message":"GET /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae 200 40ms","method":"GET","requestID":"cb2a827d93dccc5c7e448d902de36bac","responseTime":40,"status":200,"url":"/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew","level":"info","message":"auth send jwt","requestID":"ad28eac74044c556d7e4ee0591124c02"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ad28eac74044c556d7e4ee0591124c02","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","requestID":"ad28eac74044c556d7e4ee0591124c02"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.782748,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ad28eac74044c556d7e4ee0591124c02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924052,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ad28eac74044c556d7e4ee0591124c02","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Attempting to finish experiment","requestID":"ad28eac74044c556d7e4ee0591124c02"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.829487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924052,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165","device":"4401a0f4-7bd9-4444-b41d-097714ea48e2","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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":"5dd86e33-06a7-4173-a360-d1ba1c45b831","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/10c69526-a276-4630-8669-e600ee291165' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"10c69526-a276-4630-8669-e600ee291165","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8434c311-b441-467f-b4e0-4c15efa144e9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.6252806} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c69526-a276-4630-8669-e600ee291165': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F10c69526-a276-4630-8669-e600ee291165","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"b1e95c12-b272-437d-a849-3ae27247d6e5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.6256955} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9742269a6820102cad708c9e0c6666e6","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":"9742269a6820102cad708c9e0c6666e6","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":"closed","url":"http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165"}}},"level":"info","message":"received a callback","requestID":"9742269a6820102cad708c9e0c6666e6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b050f6c57d97b3c6c41272e19892e6b7","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":"b050f6c57d97b3c6c41272e19892e6b7","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/4401a0f4-7bd9-4444-b41d-097714ea48e2"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/10c69526-a276-4630-8669-e600ee291165"}}},"level":"info","message":"received a callback","requestID":"b050f6c57d97b3c6c41272e19892e6b7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/10c69526-a276-4630-8669-e600ee291165 204 89ms","method":"DELETE","requestID":"49187e80-24e8-11f0-a431-d1fa1ca0a775","responseTime":89,"status":204,"url":"/peerconnections/10c69526-a276-4630-8669-e600ee291165"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"},"level":"info","message":"Successfully finished experiment","requestID":"ad28eac74044c556d7e4ee0591124c02"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"492cc9d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4401a0f4-7bd9-4444-b41d-097714ea48e2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a68896f2-d037-4985-a885-6967691f9789","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.721969} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.613429,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"492cc9d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2","object_type":"device","rebac_allow":false,"scope_allow":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":"492cc9d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"492cc9d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling 200 9ms","method":"POST","requestID":"492cc9d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/4401a0f4-7bd9-4444-b41d-097714ea48e2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"49324810-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5dd86e33-06a7-4173-a360-d1ba1c45b831","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"024c2f43-45c6-4867-aa4c-9b783b2d1f4d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.7583063} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4aa3cc9-4209-4b49-aa47-6e24f39b1aae': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff4aa3cc9-4209-4b49-aa47-6e24f39b1aae","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"bcc67661-41e9-4368-ad3d-0f5ff63017d9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.7585924} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2047a469-08f5-4f10-aaba-3859ad562919","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924052.7589831} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.898913,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"49324810-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831","object_type":"device","rebac_allow":false,"scope_allow":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":"49324810-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"ad28eac74044c556d7e4ee0591124c02","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"49324810-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling 200 12ms","method":"POST","requestID":"49324810-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae","requestID":"ad28eac74044c556d7e4ee0591124c02"} gateway-1 | {"time_local":"29/Apr/2025:10:54:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.337","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad28eac74044c556d7e4ee0591124c02"} gateway-1 | {"time_local":"29/Apr/2025:10:54:12 +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.945","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5a3edf449346d713cbeaef2070dc2b19"} experiment-1 | {"level":"info","message":"DELETE /experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae 204 335ms","method":"DELETE","requestID":"ad28eac74044c556d7e4ee0591124c02","responseTime":335,"status":204,"url":"/experiments/f4aa3cc9-4209-4b49-aa47-6e24f39b1aae"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 282ms","method":"POST","requestID":"9742269a6820102cad708c9e0c6666e6","responseTime":282,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.285","http_referrer":"","http_user_agent":"node-fetch","requestID":"9742269a6820102cad708c9e0c6666e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 281ms","method":"POST","requestID":"b050f6c57d97b3c6c41272e19892e6b7","responseTime":281,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.285","http_referrer":"","http_user_agent":"node-fetch","requestID":"b050f6c57d97b3c6c41272e19892e6b7"} gateway-1 | {"time_local":"29/Apr/2025:10:54:12 +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.665","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":"40f753f39167809221ac927ecbd2ac25"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5dd86e33-06a7-4173-a360-d1ba1c45b831' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew","level":"info","message":"auth send jwt","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f"} authentication-1 | {"level":"info","message":"GET /auth 200 43ms","method":"GET","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","responseTime":43,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885896,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924052,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1Mn0.VCx1zx9_gwd8zb_0opJC5nhWoR6KnHQ7VpK7ed8A-ew"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","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/4401a0f4-7bd9-4444-b41d-097714ea48e2' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab3fb99e-7e45-47ca-b6be-815fcf672d00","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.0017774} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a483813-8b61-4c91-9b63-a179734c986e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.0084383} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","responseTime":5,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"016de788-e05d-49c2-abf9-7af017248732","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.0442314} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"4a0a161f-0f47-45fb-a58e-3ec398ae7cfb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.04403} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"e5ee6b0c-1c00-44ac-9c5d-2bdb92794445","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.050273} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f","responseTime":98,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d33a1bb93c00b3758c82805e9d6eb8f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1M30.GtasiKPj-zwrcSNZ_VoBNmZosJ3ScmrwwH3A2aWBTHA","level":"info","message":"auth send jwt","requestID":"b814664d52b06f6032f843c163f68efc"} device-1 | {"level":"info","message":"postDevices called","requestID":"b814664d52b06f6032f843c163f68efc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b814664d52b06f6032f843c163f68efc","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.853701,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b814664d52b06f6032f843c163f68efc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924053,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1M30.GtasiKPj-zwrcSNZ_VoBNmZosJ3ScmrwwH3A2aWBTHA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"96e4836e-5044-428e-ae3c-23b4b21ae317","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.107814} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b74b460-e091-46f6-a3af-868a5719e97a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.1378515} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","responseTime":31,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ed966b2-1124-4dff-82f1-16e0f522e5f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.1498702} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a948805d-db7f-467c-a87d-420ee30ccab1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.1502295} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"a9e30bfb-10ca-43da-8f2f-25b302cd8912","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924053.1560416} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b814664d52b06f6032f843c163f68efc"} gateway-1 | {"time_local":"29/Apr/2025:10:54:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.103","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b814664d52b06f6032f843c163f68efc"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"b814664d52b06f6032f843c163f68efc","responseTime":98,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"352f6e54908eaed88cec099c019982ae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"352f6e54908eaed88cec099c019982ae","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"352f6e54908eaed88cec099c019982ae"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932711,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"352f6e54908eaed88cec099c019982ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"352f6e54908eaed88cec099c019982ae","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945455,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"ebb6f633-64d8-45ea-8ae7-c4c3f3a5b7af","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5336518} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"352f6e54908eaed88cec099c019982ae","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"7449fe41-f82e-475b-b2cf-f8a13f4f6eb5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5352633} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3d572a9-772e-45d6-90ef-61b94a745cb3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5415208} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"352f6e54908eaed88cec099c019982ae","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"941ffb75-5762-49f9-afa7-15d4c62cfcea","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5430431} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","responseTime":5,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"77206aab-726e-4bdb-b4bd-cace1dff3883","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5456245} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"d324f9d77bd21b5afe709b7b1e6535f7"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6"} device-1 | {"level":"info","message":"PATCH /devices/152a7f11-98ec-4f2b-b772-41963c99690e 200 51ms","method":"PATCH","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6","responseTime":51,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/152a7f11-98ec-4f2b-b772-41963c99690e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e5fdc173aa782f33e3db1d77e2ada4b6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d324f9d77bd21b5afe709b7b1e6535f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d324f9d77bd21b5afe709b7b1e6535f7"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.956861,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d324f9d77bd21b5afe709b7b1e6535f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d324f9d77bd21b5afe709b7b1e6535f7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"cb2b3007-25fc-4cd1-9196-0598ed37b83e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.5863435} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"352f6e54908eaed88cec099c019982ae"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"352f6e54908eaed88cec099c019982ae","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/05ef0247-4335-46e5-a7de-7764f7c2b349 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.099","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"352f6e54908eaed88cec099c019982ae"} device-1 | {"level":"info","message":"PATCH /devices/05ef0247-4335-46e5-a7de-7764f7c2b349 200 94ms","method":"PATCH","requestID":"352f6e54908eaed88cec099c019982ae","responseTime":94,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.132011,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.077","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d324f9d77bd21b5afe709b7b1e6535f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d324f9d77bd21b5afe709b7b1e6535f7"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/websocket 200 49ms","method":"POST","requestID":"d324f9d77bd21b5afe709b7b1e6535f7","responseTime":49,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/websocket 200 44ms","method":"POST","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f","responseTime":44,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"94e36ffdf0eb1cfc6a4301895bb1a35f"} device-1 | {"level":"info","message":"device 'http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"46eeade83c9fed54037db5ab7f47f0ac"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"46eeade83c9fed54037db5ab7f47f0ac","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"46eeade83c9fed54037db5ab7f47f0ac"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752392,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"46eeade83c9fed54037db5ab7f47f0ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"46eeade83c9fed54037db5ab7f47f0ac","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"97e4a7c8-5930-4bb1-8800-f53071cd1c33","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.692953} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"46eeade83c9fed54037db5ab7f47f0ac","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"46eeade83c9fed54037db5ab7f47f0ac"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? 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":"46eeade83c9fed54037db5ab7f47f0ac"} device-1 | {"level":"info","message":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? 200 11ms","method":"GET","requestID":"46eeade83c9fed54037db5ab7f47f0ac","responseTime":11,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"c60c863ed062eb7d050a76d8e5921517"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c60c863ed062eb7d050a76d8e5921517","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c60c863ed062eb7d050a76d8e5921517"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933206,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c60c863ed062eb7d050a76d8e5921517","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c60c863ed062eb7d050a76d8e5921517","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"15669145-eef4-4903-9a24-dc6a867cb56c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.7371786} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c60c863ed062eb7d050a76d8e5921517","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c60c863ed062eb7d050a76d8e5921517"} gateway-1 | {"time_local":"29/Apr/2025:10:54:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c60c863ed062eb7d050a76d8e5921517"} device-1 | {"level":"info","message":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? 200 13ms","method":"GET","requestID":"c60c863ed062eb7d050a76d8e5921517","responseTime":13,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI","level":"info","message":"auth send jwt","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"e03adb4b7f3d771dc3aa136bac61aab7","responseTime":31,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.885864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e03adb4b7f3d771dc3aa136bac61aab7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e03adb4b7f3d771dc3aa136bac61aab7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to run experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to book experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully booked experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759657,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652258,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"ed5e2f74-7728-4eb7-9b0e-1bb5f5ec9e1a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.8733041} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"196fb26d-01c0-42f0-be3a-1a2f637732e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924054.8746088} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? 200 41ms","method":"GET","requestID":"4a709470-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? 200 41ms","method":"GET","requestID":"4a70bb80-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Setting up experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully set up experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a8b4860-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully running experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918585,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751653,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0de803a-325c-42a0-a936-e636bd6eb6c4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.0228903} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"09787a51-3114-42b1-9e0f-dad09fe1754f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.025954} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.65745,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a8b4860-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","rebac_allow":false,"scope_allow":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":"4a8b4860-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a8b4860-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling 200 17ms","method":"POST","requestID":"4a8b4860-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"08f99014-7c8c-473e-bbe9-9ef7bbe6b8cc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.0308518} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? 200 49ms","method":"GET","requestID":"4a8ad330-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? 200 48ms","method":"GET","requestID":"4a8b2150-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a92c270-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ac5d196-1ea7-423f-b5dc-409f0d4df788#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ac5d196-1ea7-423f-b5dc-409f0d4df788","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"6c7369a3-c923-4804-bde5-c676f48f1b7b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.0637443} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a9337a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"19a12568-2249-497a-a8a6-7c144d0da089","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.0645738} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"e03adb4b7f3d771dc3aa136bac61aab7","responseTime":48,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b9436cb-97f8-4b7d-9933-9a8d21e56bac","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.068057} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.218166,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a92c270-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","rebac_allow":false,"scope_allow":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":"4a92c270-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ef7d934-bdb8-4ad1-a659-396bbd981b22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.073833} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.472388,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} gateway-1 | {"time_local":"29/Apr/2025:10:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.333","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 301ms","method":"POST","requestID":"e03adb4b7f3d771dc3aa136bac61aab7","responseTime":301,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a9337a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","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 succeeded","requestID":"4a92c270-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"4a9337a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling 200 13ms","method":"POST","requestID":"4a92c270-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a9337a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling 200 14ms","method":"POST","requestID":"4a9337a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NX0.8ZuzIrxiDLnvrfQDruSk96ZQ6fWjxBZyyUFB_gnRyck","level":"info","message":"auth send jwt","requestID":"034d8b0ac20eabb65a88d614add5c187"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"034d8b0ac20eabb65a88d614add5c187","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"034d8b0ac20eabb65a88d614add5c187"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4a99c750-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975178,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"034d8b0ac20eabb65a88d614add5c187","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924055,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NX0.8ZuzIrxiDLnvrfQDruSk96ZQ6fWjxBZyyUFB_gnRyck"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"034d8b0ac20eabb65a88d614add5c187","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ed7d8f6-d0ba-4a55-b57b-8269e4db7fee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.1159687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.044004041Z"}]},"request_id":"b5d4e46d-14f2-428f-b520-5e609e27fa1e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.116459} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"034d8b0ac20eabb65a88d614add5c187","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.42664,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a99c750-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","rebac_allow":false,"scope_allow":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":"4a99c750-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"034d8b0ac20eabb65a88d614add5c187"} gateway-1 | {"time_local":"29/Apr/2025:10:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"034d8b0ac20eabb65a88d614add5c187"} device-1 | {"level":"info","message":"GET /devices/152a7f11-98ec-4f2b-b772-41963c99690e? 200 15ms","method":"GET","requestID":"034d8b0ac20eabb65a88d614add5c187","responseTime":15,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4a99c750-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling 200 14ms","method":"POST","requestID":"4a99c750-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Building connection plan","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"15169a86-6c21-443b-88e1-df6446cc9b99"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"ec9a4d23-63df-4e63-b1cd-fb0daf9958d7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"b1532c5a-8c72-4d30-8c3f-453b54ffc321"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} 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/05ef0247-4335-46e5-a7de-7764f7c2b349"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NX0.8ZuzIrxiDLnvrfQDruSk96ZQ6fWjxBZyyUFB_gnRyck","level":"info","message":"auth send jwt","requestID":"01da8ad94a561d07f749856c28bd4c00"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01da8ad94a561d07f749856c28bd4c00","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"01da8ad94a561d07f749856c28bd4c00"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37736","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.93335,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924054,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NH0.Fa7qpSDFC_XhSyjpcjVjC-5pTRIcIaHgnTZwsZDoEHI"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760863,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"01da8ad94a561d07f749856c28bd4c00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924055,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1NX0.8ZuzIrxiDLnvrfQDruSk96ZQ6fWjxBZyyUFB_gnRyck"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01da8ad94a561d07f749856c28bd4c00","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:13.150204822Z"}]},"request_id":"e642b523-182b-44fe-884c-7e06d5e5ac97","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.1657119} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"01da8ad94a561d07f749856c28bd4c00","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"01da8ad94a561d07f749856c28bd4c00"} gateway-1 | {"time_local":"29/Apr/2025:10:54:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01da8ad94a561d07f749856c28bd4c00"} device-1 | {"level":"info","message":"GET /devices/05ef0247-4335-46e5-a7de-7764f7c2b349? 200 42ms","method":"GET","requestID":"01da8ad94a561d07f749856c28bd4c00","responseTime":42,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"1c1fee8e-19ef-4abc-81cf-edd122c23f86","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.171794} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddd57a2c-70d1-4fa7-a5bf-7b5b4c168dae","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.1721196} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a'","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a'","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} 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":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775","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":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"4a9c5f60-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e03adb4b7f3d771dc3aa136bac61aab7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ab824c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c52903f8-738f-4c4b-8d17-b7bc2d6f4ebe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.3124774} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.543635,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ab824c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","rebac_allow":false,"scope_allow":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":"4ab824c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ab824c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling 200 9ms","method":"POST","requestID":"4ab824c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4abdca10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbf7fb26-2f87-400e-a53f-67e3892a798d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924055.3500566} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729558,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4abdca10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","rebac_allow":false,"scope_allow":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":"4abdca10-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4abdca10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling 200 10ms","method":"POST","requestID":"4abdca10-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling"} device-1 | {"device":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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/e7c3cb22-e164-4533-8998-e139e42d1a4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a3b975fc933056814014a8b2fbb51c2d","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":"a3b975fc933056814014a8b2fbb51c2d","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/05ef0247-4335-46e5-a7de-7764f7c2b349"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"}}},"level":"info","message":"received a callback","requestID":"a3b975fc933056814014a8b2fbb51c2d"} device-1 | {"device":"152a7f11-98ec-4f2b-b772-41963c99690e","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"}} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3b975fc933056814014a8b2fbb51c2d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"a3b975fc933056814014a8b2fbb51c2d","responseTime":9,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e7c3cb22-e164-4533-8998-e139e42d1a4a","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/e7c3cb22-e164-4533-8998-e139e42d1a4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e7c3cb22-e164-4533-8998-e139e42d1a4a","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":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"}}},"level":"info","message":"received a callback","requestID":"8704456c49f2ae2890b4a621974ae738"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8704456c49f2ae2890b4a621974ae738","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":"8704456c49f2ae2890b4a621974ae738","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4bfba140-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe7c3cb22-e164-4533-8998-e139e42d1a4a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baae5749-1b41-43ba-ace6-6a00fd5f32d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924057.4598649} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":28.290941,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4bfba140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a","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 32ms","method":"POST","requestID":"4bfba140-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4bfba140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a 200 37ms","method":"GET","requestID":"4bfba140-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 92ms","method":"POST","requestID":"8704456c49f2ae2890b4a621974ae738","responseTime":92,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.095","http_referrer":"","http_user_agent":"node-fetch","requestID":"8704456c49f2ae2890b4a621974ae738"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4c08c0a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c721e868-62ee-49d0-b324-23fce2fb1014","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924057.5192883} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.766335,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4c08c0a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","rebac_allow":false,"scope_allow":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":"4c08c0a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4c08c0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling 200 10ms","method":"POST","requestID":"4c08c0a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4c0a9560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fee41df8-3f2b-4436-9389-3f8a532a3e14","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924057.5581355} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.260744,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4c0a9560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"4c0a9560-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4c0a9560-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling 200 40ms","method":"POST","requestID":"4c0a9560-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1N30.LHwEtE56Hs5u6yzmgkKyc-FzaZIyfzmtQoIifeQSYGI","level":"info","message":"auth send jwt","requestID":"6ae72229b7034eb486fec8aadedef26b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6ae72229b7034eb486fec8aadedef26b","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","requestID":"6ae72229b7034eb486fec8aadedef26b"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.898039,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6ae72229b7034eb486fec8aadedef26b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924057,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1N30.LHwEtE56Hs5u6yzmgkKyc-FzaZIyfzmtQoIifeQSYGI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6ae72229b7034eb486fec8aadedef26b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","requestID":"6ae72229b7034eb486fec8aadedef26b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ae72229b7034eb486fec8aadedef26b"} experiment-1 | {"level":"info","message":"GET /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788 200 36ms","method":"GET","requestID":"6ae72229b7034eb486fec8aadedef26b","responseTime":36,"status":200,"url":"/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1N30.LHwEtE56Hs5u6yzmgkKyc-FzaZIyfzmtQoIifeQSYGI","level":"info","message":"auth send jwt","requestID":"213529f789203e320ee224487726685b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"213529f789203e320ee224487726685b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","requestID":"213529f789203e320ee224487726685b"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.820976,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"213529f789203e320ee224487726685b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924057,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1N30.LHwEtE56Hs5u6yzmgkKyc-FzaZIyfzmtQoIifeQSYGI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"213529f789203e320ee224487726685b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Attempting to finish experiment","requestID":"213529f789203e320ee224487726685b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.988769,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924057,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1N30.LHwEtE56Hs5u6yzmgkKyc-FzaZIyfzmtQoIifeQSYGI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"152a7f11-98ec-4f2b-b772-41963c99690e","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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":"05ef0247-4335-46e5-a7de-7764f7c2b349","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/e7c3cb22-e164-4533-8998-e139e42d1a4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe7c3cb22-e164-4533-8998-e139e42d1a4a': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe7c3cb22-e164-4533-8998-e139e42d1a4a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"3f46ec6c-e796-443f-9371-fb2b5e6047a9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924057.8597505} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da356039-cc1c-407a-b721-124b0a055905","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924057.8599524} 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/05ef0247-4335-46e5-a7de-7764f7c2b349"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"}}},"level":"info","message":"received a callback","requestID":"b16f6d9052a2a2339e4e18fe18b68001"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b16f6d9052a2a2339e4e18fe18b68001","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 8ms","method":"POST","requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b16f6d9052a2a2339e4e18fe18b68001","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17c196715feedbb3e7f04df5969ab47f","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":"17c196715feedbb3e7f04df5969ab47f","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/05ef0247-4335-46e5-a7de-7764f7c2b349"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"}}},"level":"info","message":"received a callback","requestID":"17c196715feedbb3e7f04df5969ab47f"} device-1 | {"data":{"peerconnection":"e7c3cb22-e164-4533-8998-e139e42d1a4a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a 204 114ms","method":"DELETE","requestID":"4c3aa610-24e8-11f0-a431-d1fa1ca0a775","responseTime":114,"status":204,"url":"/peerconnections/e7c3cb22-e164-4533-8998-e139e42d1a4a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"},"level":"info","message":"Successfully finished experiment","requestID":"213529f789203e320ee224487726685b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4c531010-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ef0247-4335-46e5-a7de-7764f7c2b349","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd986223-caee-448e-9eb8-785d0ec940d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.0063124} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.89203,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4c531010-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349","object_type":"device","rebac_allow":false,"scope_allow":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":"4c531010-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4c531010-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling 200 34ms","method":"POST","requestID":"4c531010-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/devices/05ef0247-4335-46e5-a7de-7764f7c2b349/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4c58b560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ac5d196-1ea7-423f-b5dc-409f0d4df788': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ac5d196-1ea7-423f-b5dc-409f0d4df788","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"c9454225-7ad0-46ed-984d-e8d7a57c148b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.0411797} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49507fd1-3f06-4541-a3f9-89435f307893","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.0415187} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"213529f789203e320ee224487726685b","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F152a7f11-98ec-4f2b-b772-41963c99690e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d2d3830-31be-4f74-837f-1d0a1e84dfd4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.0449784} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.980486,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4c58b560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e","object_type":"device","rebac_allow":false,"scope_allow":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":"4c58b560-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4c58b560-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling 200 12ms","method":"POST","requestID":"4c58b560-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/152a7f11-98ec-4f2b-b772-41963c99690e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788","requestID":"213529f789203e320ee224487726685b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.391","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"213529f789203e320ee224487726685b"} experiment-1 | {"level":"info","message":"DELETE /experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788 204 388ms","method":"DELETE","requestID":"213529f789203e320ee224487726685b","responseTime":388,"status":204,"url":"/experiments/7ac5d196-1ea7-423f-b5dc-409f0d4df788"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +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.553","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"02a7c015af797344470ef667ffad21ad"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +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.566","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cd943343caf2c18c8705949eefa6f557"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1OH0.HyijI2HQStKGIZoERk-ihRXIclQrqkY1GS5B_S-4abg","level":"info","message":"auth send jwt","requestID":"264e8407f9122346f52e2c1e9459c1b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"264e8407f9122346f52e2c1e9459c1b3"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/152a7f11-98ec-4f2b-b772-41963c99690e' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 366ms","method":"POST","requestID":"b16f6d9052a2a2339e4e18fe18b68001","responseTime":366,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +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.370","http_referrer":"","http_user_agent":"node-fetch","requestID":"b16f6d9052a2a2339e4e18fe18b68001"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.498059,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:18Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 370ms","method":"POST","requestID":"17c196715feedbb3e7f04df5969ab47f","responseTime":370,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"264e8407f9122346f52e2c1e9459c1b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924058,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1OH0.HyijI2HQStKGIZoERk-ihRXIclQrqkY1GS5B_S-4abg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":8,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +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.377","http_referrer":"","http_user_agent":"node-fetch","requestID":"17c196715feedbb3e7f04df5969ab47f"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/05ef0247-4335-46e5-a7de-7764f7c2b349' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e63f1b9-1058-4672-9bf6-774c81afb9a4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.2772233} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a6f2582-7cea-4e5b-9604-fca1e8c991c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.286869} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":6,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cfee1ab-5148-458e-92c3-e1c81329760b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.3229115} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e1a97db2-b1b4-4637-b32d-277fccb38246","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.3234298} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":45,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.323400276Z"}]},"request_id":"38d87890-310d-4a0b-89cb-2000a5238c3c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.3333333} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"264e8407f9122346f52e2c1e9459c1b3"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"264e8407f9122346f52e2c1e9459c1b3"} device-1 | {"level":"info","message":"POST /devices? 201 113ms","method":"POST","requestID":"264e8407f9122346f52e2c1e9459c1b3","responseTime":113,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1OH0.HyijI2HQStKGIZoERk-ihRXIclQrqkY1GS5B_S-4abg","level":"info","message":"auth send jwt","requestID":"7e523801c0a6d99321199d61560ef937"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7e523801c0a6d99321199d61560ef937","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7e523801c0a6d99321199d61560ef937"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86893,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7e523801c0a6d99321199d61560ef937","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924058,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA1OH0.HyijI2HQStKGIZoERk-ihRXIclQrqkY1GS5B_S-4abg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ac46e957-a28b-42b1-8ed8-fe9d2473f13b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.418302} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","responseTime":29,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8aed722-d318-48bc-986c-8811599e2a39","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.424858} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a5204b7c-5f9f-44c4-a9fb-40ef551ec903","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.4364467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbafad80-6706-45be-bddd-d7a4aac29a21","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.4365256} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.436418994Z"}]},"request_id":"6676750c-d489-4b13-9871-953eb123c8c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924058.4695568} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","responseTime":31,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:54:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e523801c0a6d99321199d61560ef937"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7e523801c0a6d99321199d61560ef937"} device-1 | {"level":"info","message":"POST /devices? 201 130ms","method":"POST","requestID":"7e523801c0a6d99321199d61560ef937","responseTime":130,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fd70df101bdc507015c069b9c04df421","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":"fd70df101bdc507015c069b9c04df421","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/58f8827f-9a69-4973-ad74-74aebe72719d/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":"fd70df101bdc507015c069b9c04df421"} device-1 | {"level":"info","message":"OPTIONS /devices/58f8827f-9a69-4973-ad74-74aebe72719d/websocket 200 1ms","method":"OPTIONS","requestID":"fd70df101bdc507015c069b9c04df421","responseTime":1,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"983b203fe422f926839e832cc1eaae09","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":"OPTIONS /devices/a69baa0d-eddc-4381-8238-59e82893c564/websocket 200 0ms","method":"OPTIONS","requestID":"983b203fe422f926839e832cc1eaae09","responseTime":0,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"983b203fe422f926839e832cc1eaae09","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a69baa0d-eddc-4381-8238-59e82893c564/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":"983b203fe422f926839e832cc1eaae09"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"e94f8c14eaf417b3509f5a5b3872270d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e94f8c14eaf417b3509f5a5b3872270d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e94f8c14eaf417b3509f5a5b3872270d","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930831,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"2f902524e758172981bb20073956e289"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2f902524e758172981bb20073956e289"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e94f8c14eaf417b3509f5a5b3872270d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e94f8c14eaf417b3509f5a5b3872270d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2f902524e758172981bb20073956e289","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.048505,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2f902524e758172981bb20073956e289","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2f902524e758172981bb20073956e289","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e94f8c14eaf417b3509f5a5b3872270d"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/websocket 200 82ms","method":"POST","requestID":"e94f8c14eaf417b3509f5a5b3872270d","responseTime":82,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.088","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":"e94f8c14eaf417b3509f5a5b3872270d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2f902524e758172981bb20073956e289"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.094","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":"2f902524e758172981bb20073956e289"} device-1 | {"level":"info","message":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/websocket 200 88ms","method":"POST","requestID":"2f902524e758172981bb20073956e289","responseTime":88,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"1c0428d8ad003718e3de2af99ea46658"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1c0428d8ad003718e3de2af99ea46658","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1c0428d8ad003718e3de2af99ea46658"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808676,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1c0428d8ad003718e3de2af99ea46658","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1c0428d8ad003718e3de2af99ea46658","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.323400276Z"}]},"request_id":"e882bbc9-90ae-47b4-b338-a54ca4b0912d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.2733006} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1c0428d8ad003718e3de2af99ea46658","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1c0428d8ad003718e3de2af99ea46658"} device-1 | {"level":"info","message":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? 200 36ms","method":"GET","requestID":"1c0428d8ad003718e3de2af99ea46658","responseTime":36,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? 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":"1c0428d8ad003718e3de2af99ea46658"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"3e397e6d8364acd4b04c935ce2e7ee40"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e397e6d8364acd4b04c935ce2e7ee40","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3e397e6d8364acd4b04c935ce2e7ee40"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896195,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3e397e6d8364acd4b04c935ce2e7ee40","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e397e6d8364acd4b04c935ce2e7ee40","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.436418994Z"}]},"request_id":"0aa80725-6de0-438e-be2a-bb2655b63487","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.3151586} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e397e6d8364acd4b04c935ce2e7ee40","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3e397e6d8364acd4b04c935ce2e7ee40"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 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":"3e397e6d8364acd4b04c935ce2e7ee40"} device-1 | {"level":"info","message":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 200 11ms","method":"GET","requestID":"3e397e6d8364acd4b04c935ce2e7ee40","responseTime":11,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.700913,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"322eb997cbb2a0ca48fd996ba19b3c3f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to run experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to book experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully booked experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669887,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028268,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.323400276Z"}]},"request_id":"f24f399b-35d6-42ce-a5a0-87edb87994f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.4488785} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.436418994Z"}]},"request_id":"64af3973-0178-4c24-9e55-0132741c38e9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.4505837} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? 200 45ms","method":"GET","requestID":"4e5b6330-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 200 44ms","method":"GET","requestID":"4e5bb150-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Setting up experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully set up experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully running experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e71d160-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:40752","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834577,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834585,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb86a8d6-6761-4701-b634-409979d951f3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.5924206} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.323400276Z"}]},"request_id":"b155a6ce-6882-48e4-bfed-b769b5751919","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.5924842} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.44568,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e71d160-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","rebac_allow":false,"scope_allow":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":"4e71d160-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.436418994Z"}]},"request_id":"c55a98c0-dd61-4d8f-a1b8-908a7e496019","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.595046} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? 200 46ms","method":"GET","requestID":"4e713520-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e71d160-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling 200 44ms","method":"POST","requestID":"4e71d160-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccda57ba-0479-4c55-ad01-c3f2fd8d501e#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccda57ba-0479-4c55-ad01-c3f2fd8d501e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"61ae5afb-1982-42d3-b621-19ce4634e907","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.6024482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0df44105-9e02-4d98-95a5-8a247871eb97","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.6036055} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f","responseTime":46,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e78fd50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 200 52ms","method":"GET","requestID":"4e718340-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564?"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 264ms","method":"POST","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f","responseTime":264,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e7d9130-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.293","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"e36b318bb8d99cd310ac6e445d13f6ab"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab09500e-9461-4059-886f-a04594810c1e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.6383402} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e36b318bb8d99cd310ac6e445d13f6ab","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e36b318bb8d99cd310ac6e445d13f6ab"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.429901,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e78fd50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"4e78fd50-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df3dd511-b7aa-4fbc-951c-1f1a92dd83b3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.6414416} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.039446,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e78fd50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e7d9130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","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/a69baa0d-eddc-4381-8238-59e82893c564/signaling 200 40ms","method":"POST","requestID":"4e78fd50-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"4e7d9130-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922921,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e36b318bb8d99cd310ac6e445d13f6ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e36b318bb8d99cd310ac6e445d13f6ab","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e7d9130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling 200 16ms","method":"POST","requestID":"4e7d9130-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.323400276Z"}]},"request_id":"9ecdfbfc-258b-4e63-94ed-4900dd18c0cd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.651496} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4e805050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e36b318bb8d99cd310ac6e445d13f6ab","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e36b318bb8d99cd310ac6e445d13f6ab"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e36b318bb8d99cd310ac6e445d13f6ab"} device-1 | {"level":"info","message":"GET /devices/58f8827f-9a69-4973-ad74-74aebe72719d? 200 42ms","method":"GET","requestID":"e36b318bb8d99cd310ac6e445d13f6ab","responseTime":42,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"313c017b-2bcd-401b-95bd-cbb53e35705f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.6824403} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.485279,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e805050-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","rebac_allow":false,"scope_allow":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":"4e805050-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8","level":"info","message":"auth send jwt","requestID":"106e72664810272857979f0e8a2db623"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"106e72664810272857979f0e8a2db623","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"106e72664810272857979f0e8a2db623"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4e805050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling 200 37ms","method":"POST","requestID":"4e805050-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007646,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"106e72664810272857979f0e8a2db623","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"106e72664810272857979f0e8a2db623","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Building connection plan","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} 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":"5d838fff-09b6-4838-838b-edfbcbb4acae"},{"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":"e2461b70-7bf2-4f5c-9948-8ca5d76915b5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"239aaa1b-74f2-4c1c-b771-905f21f7da15"}]},"level":"info","message":"Built pairwise service configurations","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} 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/58f8827f-9a69-4973-ad74-74aebe72719d"},{"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/a69baa0d-eddc-4381-8238-59e82893c564"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:18.436418994Z"}]},"request_id":"c38b800d-ad57-4596-bc7e-d79790ce4e13","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.696227} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"106e72664810272857979f0e8a2db623","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.940659,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924061,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2MX0.b_h3y87in_TmxakAYsoGeYaRkR3gtG8uQxCr_aY_yK8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"106e72664810272857979f0e8a2db623"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 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":"106e72664810272857979f0e8a2db623"} device-1 | {"level":"info","message":"GET /devices/a69baa0d-eddc-4381-8238-59e82893c564? 200 16ms","method":"GET","requestID":"106e72664810272857979f0e8a2db623","responseTime":16,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"91778b5b-3236-4b8c-944d-f7a915b43049","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.737755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68926096-1487-4900-92c2-9b70092ca009","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.7380922} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb'","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb'","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 96ms","method":"POST","requestID":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":96,"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":"4e8691e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","device":"58f8827f-9a69-4973-ad74-74aebe72719d","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","device":"a69baa0d-eddc-4381-8238-59e82893c564","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/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"322eb997cbb2a0ca48fd996ba19b3c3f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ea27e50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a37d39a9-611d-4d60-b597-e5b830cc02ca","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.8838565} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.970556,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ea27e50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","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 | {"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"4ea27e50-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"canTrickle":true},"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ea27e50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling 200 47ms","method":"POST","requestID":"4ea27e50-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eaa1f70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:21Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 3598511819170060348 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:b40g\r\na=ice-pwd:5v9UQmIf9DORF9bGNr+cAF1Z\r\na=ice-options:trickle\r\na=fingerprint:sha-256 75:65:E5:EA:0A:29:9E:56:D6:91:D0:30:70:1F:BE:72:14:7E:DF:57:CE:5C:48:E9:CD:BA:CA:C9:7E:39:EE:23\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b66b9aa1-0b77-4ad7-8683-c95c006649ac","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924061.9377913} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.331404,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4eaa1f70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","rebac_allow":false,"scope_allow":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":"4eaa1f70-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 456652725126694209 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:zJlq\r\na=ice-pwd:WjHy0gxLQOlIhYqNvuxTz7ld\r\na=ice-options:trickle\r\na=fingerprint:sha-256 40:D1:22:C7:25:F3:C8:45:54:62:BF:AE:D9:AD:71:0E:EC:0D:DA:2A:C6:ED:4C:84:DA:0E:04:A8:9B:C0:F3:F9\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eaa1f70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling 200 44ms","method":"POST","requestID":"4eaa1f70-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling"} device-1 | {"content":{"candidate":"candidate:3772536004 1 udp 2113937151 546fcdd3-a43a-47d2-9217-8dcacd1d13d5.local 50793 typ host generation 0 ufrag zJlq network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4043478025 1 udp 2113937151 f76ae60c-b9be-41f8-9fc5-f2ab1d95ed78.local 45457 typ host generation 0 ufrag b40g network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"58f8827f-9a69-4973-ad74-74aebe72719d","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/f08ecd36-13e2-4dc1-a8af-df0f199656eb' to 'http://localhost/callbacks/experiment'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e747cde2ca8c92a967845f2b57db84c8","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":"new","url":"http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d"},{"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/a69baa0d-eddc-4381-8238-59e82893c564"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"}}},"level":"info","message":"received a callback","requestID":"e747cde2ca8c92a967845f2b57db84c8"} gateway-1 | {"time_local":"29/Apr/2025:10:54:21 +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":"e747cde2ca8c92a967845f2b57db84c8"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a69baa0d-eddc-4381-8238-59e82893c564","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e747cde2ca8c92a967845f2b57db84c8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"e747cde2ca8c92a967845f2b57db84c8","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","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/f08ecd36-13e2-4dc1-a8af-df0f199656eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f61b72c2349574889f1820c00da1d94","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":"8f61b72c2349574889f1820c00da1d94","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/58f8827f-9a69-4973-ad74-74aebe72719d"},{"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/a69baa0d-eddc-4381-8238-59e82893c564"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"}}},"level":"info","message":"received a callback","requestID":"8f61b72c2349574889f1820c00da1d94"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"4ec1c620-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff08ecd36-13e2-4dc1-a8af-df0f199656eb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46aca900-4b4b-4cc2-848e-87428df56cfa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.0869377} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.806889,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ec1c620-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","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 31ms","method":"POST","requestID":"4ec1c620-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"4ec1c620-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb 200 34ms","method":"GET","requestID":"4ec1c620-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"8f61b72c2349574889f1820c00da1d94","responseTime":56,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f61b72c2349574889f1820c00da1d94"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ec9b560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6096b9bb-e3b3-4a4a-a55c-630bd2a9d1ca","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.138373} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521795,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ec9b560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","rebac_allow":false,"scope_allow":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":"4ec9b560-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90","level":"info","message":"auth send jwt","requestID":"2898e948cc475ac49789d2aeed0c97da"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"2898e948cc475ac49789d2aeed0c97da","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ec9b560-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling 200 33ms","method":"POST","requestID":"4ec9b560-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","requestID":"2898e948cc475ac49789d2aeed0c97da"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.98958,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4ecf5ab0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2898e948cc475ac49789d2aeed0c97da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924062,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2898e948cc475ac49789d2aeed0c97da","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f166f510-f45d-45f2-96ff-7fcc34ea0cc2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.1767247} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.808607,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ecf5ab0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","rebac_allow":false,"scope_allow":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":"4ecf5ab0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2898e948cc475ac49789d2aeed0c97da"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","requestID":"2898e948cc475ac49789d2aeed0c97da"} experiment-1 | {"level":"info","message":"GET /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e 200 11ms","method":"GET","requestID":"2898e948cc475ac49789d2aeed0c97da","responseTime":11,"status":200,"url":"/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4ecf5ab0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling 200 11ms","method":"POST","requestID":"4ecf5ab0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90","level":"info","message":"auth send jwt","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.879109,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924062,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Attempting to finish experiment","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.225396,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924062,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","device":"58f8827f-9a69-4973-ad74-74aebe72719d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb","device":"a69baa0d-eddc-4381-8238-59e82893c564","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/f08ecd36-13e2-4dc1-a8af-df0f199656eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} 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/58f8827f-9a69-4973-ad74-74aebe72719d"},{"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/a69baa0d-eddc-4381-8238-59e82893c564"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"}}},"level":"info","message":"received a callback","requestID":"32328e52d1fac41aa22245ec202cb9bc"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"32328e52d1fac41aa22245ec202cb9bc","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":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff08ecd36-13e2-4dc1-a8af-df0f199656eb': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff08ecd36-13e2-4dc1-a8af-df0f199656eb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"75f3e15b-1f16-4017-a8c1-a2032c5f724b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.2640932} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32328e52d1fac41aa22245ec202cb9bc","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"226148b00515768bd24726e9f9eb4d81","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":"226148b00515768bd24726e9f9eb4d81","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fe34e45-9516-412b-8e1b-5dc5fde5892e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.2644458} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/relations/update"} 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/58f8827f-9a69-4973-ad74-74aebe72719d"},{"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/a69baa0d-eddc-4381-8238-59e82893c564"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"}}},"level":"info","message":"received a callback","requestID":"226148b00515768bd24726e9f9eb4d81"} device-1 | {"data":{"peerconnection":"f08ecd36-13e2-4dc1-a8af-df0f199656eb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb 204 103ms","method":"DELETE","requestID":"4ed6fbd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":103,"status":204,"url":"/peerconnections/f08ecd36-13e2-4dc1-a8af-df0f199656eb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"},"level":"info","message":"Successfully finished experiment","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eeccdc0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F58f8827f-9a69-4973-ad74-74aebe72719d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baea1559-c649-4819-9fc1-9ca7a6d65083","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.369094} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.927304,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4eeccdc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/58f8827f-9a69-4973-ad74-74aebe72719d","object_type":"device","rebac_allow":false,"scope_allow":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":"4eeccdc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eeccdc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling 200 9ms","method":"POST","requestID":"4eeccdc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/58f8827f-9a69-4973-ad74-74aebe72719d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"4eeea280-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa69baa0d-eddc-4381-8238-59e82893c564","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80113b53-6da0-498a-aa59-d54b16509351","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.4056585} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814973,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4eeea280-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564","object_type":"device","rebac_allow":false,"scope_allow":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":"4eeea280-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccda57ba-0479-4c55-ad01-c3f2fd8d501e': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fccda57ba-0479-4c55-ad01-c3f2fd8d501e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"f20b9064-bfb8-416a-851f-bb60fa70c3b6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.407695} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9836fa75-dbc3-451e-bf31-00f0343b6106","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.407991} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510","responseTime":47,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"4eeea280-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling 200 37ms","method":"POST","requestID":"4eeea280-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/a69baa0d-eddc-4381-8238-59e82893c564/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} gateway-1 | {"time_local":"29/Apr/2025:10:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.370","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510"} experiment-1 | {"level":"info","message":"DELETE /experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e 204 367ms","method":"DELETE","requestID":"5436fb1bf80ff0eb7a3871dd6dbb6510","responseTime":367,"status":204,"url":"/experiments/ccda57ba-0479-4c55-ad01-c3f2fd8d501e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 288ms","method":"POST","requestID":"32328e52d1fac41aa22245ec202cb9bc","responseTime":288,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.294","http_referrer":"","http_user_agent":"node-fetch","requestID":"32328e52d1fac41aa22245ec202cb9bc"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.295","http_referrer":"","http_user_agent":"node-fetch","requestID":"226148b00515768bd24726e9f9eb4d81"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 289ms","method":"POST","requestID":"226148b00515768bd24726e9f9eb4d81","responseTime":289,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2577","request_time":"1.342","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":"f2a222b11cc54d3c12c3e7c6a7420d1c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.358","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":"fc14211665302416b3f2fbe8f6b251d5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90","level":"info","message":"auth send jwt","requestID":"aadc9b77300a20c9d7828239965a8676"} authentication-1 | {"level":"info","message":"GET /auth 200 40ms","method":"GET","requestID":"aadc9b77300a20c9d7828239965a8676","responseTime":40,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"aadc9b77300a20c9d7828239965a8676"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a69baa0d-eddc-4381-8238-59e82893c564' closed"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.896623,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"aadc9b77300a20c9d7828239965a8676","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924062,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","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/58f8827f-9a69-4973-ad74-74aebe72719d' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1e8e2e28-68d3-4a35-a54a-e7c355096a2f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.6492143} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05be3d94-3d76-4631-b59c-baff97bbbdde","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.654396} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a95ec463-cd55-4656-ac99-da05dda66c7f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.6641886} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"503d8412-300e-4ce1-8950-9fcc4d898975","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.6643462} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.664162865Z"}]},"request_id":"db6ea3cd-7722-48b6-adb8-3e0fc46a3a65","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.693865} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"aadc9b77300a20c9d7828239965a8676"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aadc9b77300a20c9d7828239965a8676"} device-1 | {"level":"info","message":"POST /devices? 201 102ms","method":"POST","requestID":"aadc9b77300a20c9d7828239965a8676","responseTime":102,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90","level":"info","message":"auth send jwt","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.770073,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924062,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Mn0.u60XGE2N9ypeozDlCTCpySoN9gEWi1No-1C3lGXrN90"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"828e16dd-956b-4d47-be25-10dfe163dac8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.758815} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c319cf0c-e1e0-4821-a134-ccff7194ec86","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.7876847} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"b2b3534f-3e6a-48e0-9780-890bf83b00b1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.7988539} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"af8a8895-bea6-4bad-a119-6b4aafe1000a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.7991831} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.798828288Z"}]},"request_id":"76179e68-7926-4cc3-8a96-08c04468f77f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924062.803794} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f"} device-1 | {"level":"info","message":"POST /devices? 201 104ms","method":"POST","requestID":"bc59b9d7c3bf5be3b21be6b4516ba33f","responseTime":104,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"82529967749811a3f79631ab4559cde8","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":"OPTIONS /devices/e8681858-9b01-48d4-90bc-9249f825589f/websocket 200 0ms","method":"OPTIONS","requestID":"82529967749811a3f79631ab4559cde8","responseTime":0,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e8681858-9b01-48d4-90bc-9249f825589f/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":"82529967749811a3f79631ab4559cde8"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"82529967749811a3f79631ab4559cde8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955529,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"48a88c1fbbc71d5f14cbcb9a9904812b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.058","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":"48a88c1fbbc71d5f14cbcb9a9904812b"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/websocket 200 54ms","method":"POST","requestID":"48a88c1fbbc71d5f14cbcb9a9904812b","responseTime":54,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dc9fbba498c62e9036e3786df0c00f87","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":"dc9fbba498c62e9036e3786df0c00f87","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/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":"dc9fbba498c62e9036e3786df0c00f87"} device-1 | {"level":"info","message":"OPTIONS /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/websocket 200 1ms","method":"OPTIONS","requestID":"dc9fbba498c62e9036e3786df0c00f87","responseTime":1,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"4bc4f33503bd218b08baa39a3b94ad8a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bc4f33503bd218b08baa39a3b94ad8a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4bc4f33503bd218b08baa39a3b94ad8a"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72978,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4bc4f33503bd218b08baa39a3b94ad8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4bc4f33503bd218b08baa39a3b94ad8a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4bc4f33503bd218b08baa39a3b94ad8a"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/websocket 200 39ms","method":"POST","requestID":"4bc4f33503bd218b08baa39a3b94ad8a","responseTime":39,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/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":"4bc4f33503bd218b08baa39a3b94ad8a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941558,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.664162865Z"}]},"request_id":"b769148b-f5b6-433e-8df1-8d607ecf6b5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.5883615} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? 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":"fc7d0a2ddaf3a91fd03b07b268c4b789"} device-1 | {"level":"info","message":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? 200 13ms","method":"GET","requestID":"fc7d0a2ddaf3a91fd03b07b268c4b789","responseTime":13,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"27b5a45af5626f7abd7b125d7abdb518"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"27b5a45af5626f7abd7b125d7abdb518","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"27b5a45af5626f7abd7b125d7abdb518"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929837,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"27b5a45af5626f7abd7b125d7abdb518","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27b5a45af5626f7abd7b125d7abdb518","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.798828288Z"}]},"request_id":"ba11645c-afeb-4bc5-82df-1bf3fb0542a8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.629687} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"27b5a45af5626f7abd7b125d7abdb518","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"27b5a45af5626f7abd7b125d7abdb518"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? 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":"27b5a45af5626f7abd7b125d7abdb518"} device-1 | {"level":"info","message":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? 200 13ms","method":"GET","requestID":"27b5a45af5626f7abd7b125d7abdb518","responseTime":13,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bc3d28ad4da05d0242ed874e63b4513d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.564434,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bc3d28ad4da05d0242ed874e63b4513d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bc3d28ad4da05d0242ed874e63b4513d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to run experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to book experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully booked experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665324,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.054354,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.664162865Z"}]},"request_id":"a444d215-0628-43db-93ec-2c617f8ab57c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.7755153} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.798828288Z"}]},"request_id":"dad9eb3e-f12b-46c7-b4f3-564199caa712","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.776595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? 200 15ms","method":"GET","requestID":"50f3e860-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? 200 15ms","method":"GET","requestID":"50f40f70-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Setting up experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully set up experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully running experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.979455,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51091e10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903578,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.979506,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb7292ba-5212-4e18-8f44-160f8d2e2585","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9114764} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51091e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","rebac_allow":false,"scope_allow":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":"51091e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51091e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling 200 14ms","method":"POST","requestID":"51091e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.798828288Z"}]},"request_id":"0d50e5c6-0d3a-4631-a6c2-9c755538a826","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9186726} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.664162865Z"}]},"request_id":"ff9be5e8-3ebf-4fb5-a0eb-49da9124b8e3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9198391} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"510bb620-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36219dc3-e736-4d2e-b0ea-2c3f4d54279b#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36219dc3-e736-4d2e-b0ea-2c3f4d54279b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"d67927c2-9d9f-4dc3-93e7-10a13e5113cb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9241047} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8152a2e6-31c6-42dd-84ba-7667cd580ce6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9243114} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"bc3d28ad4da05d0242ed874e63b4513d","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc79f211-3f93-408f-a0de-73118a0dff88","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.9530654} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.34803,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} device-1 | {"level":"info","message":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? 200 75ms","method":"GET","requestID":"51052670-24e8-11f0-a431-d1fa1ca0a775","responseTime":75,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"510bb620-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","rebac_allow":false,"scope_allow":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":"510bb620-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? 200 78ms","method":"GET","requestID":"5104d850-24e8-11f0-a431-d1fa1ca0a775","responseTime":78,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"510bb620-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling 200 36ms","method":"POST","requestID":"510bb620-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51115b70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} gateway-1 | {"time_local":"29/Apr/2025:10:54:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 324ms","method":"POST","requestID":"bc3d28ad4da05d0242ed874e63b4513d","responseTime":324,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69a1d2cc-cc48-4b49-ba1a-4f1813ed5935","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924065.963988} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.926471,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51115b70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","rebac_allow":false,"scope_allow":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":"51115b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0","level":"info","message":"auth send jwt","requestID":"ed898a0aa8d085ff4725629a4eccf7f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed898a0aa8d085ff4725629a4eccf7f3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51115b70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling 200 10ms","method":"POST","requestID":"51115b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed898a0aa8d085ff4725629a4eccf7f3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51135740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93712,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ed898a0aa8d085ff4725629a4eccf7f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"ed898a0aa8d085ff4725629a4eccf7f3","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"911c3c48-c7d2-40a9-819d-abc54b658752","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.0057833} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.964891,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51135740-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","rebac_allow":false,"scope_allow":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":"51135740-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.664162865Z"}]},"request_id":"efeff6c1-69be-428a-badb-2cecb8284d11","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.008481} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ed898a0aa8d085ff4725629a4eccf7f3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51135740-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling 200 43ms","method":"POST","requestID":"51135740-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed898a0aa8d085ff4725629a4eccf7f3"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed898a0aa8d085ff4725629a4eccf7f3"} device-1 | {"level":"info","message":"GET /devices/e8681858-9b01-48d4-90bc-9249f825589f? 200 46ms","method":"GET","requestID":"ed898a0aa8d085ff4725629a4eccf7f3","responseTime":46,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Building connection plan","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} 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":"72e55852-bef9-4656-bbd5-bc925a9776ac"},{"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":"cc296db5-067a-4dc8-897c-cee1e7235caf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"eff9b147-4b65-4c22-b621-02f95239717d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} 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/e8681858-9b01-48d4-90bc-9249f825589f"},{"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/05ed71d6-c237-4c24-b63f-c7c3ef4ed925"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A","level":"info","message":"auth send jwt","requestID":"defed335fff90b7c8a8297d150f81b10"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"defed335fff90b7c8a8297d150f81b10","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"defed335fff90b7c8a8297d150f81b10"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":26.188623,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924065,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2NX0.6vSMVwCuCKzPK-Euyqww2DOrE2_V8jWgLWSeIh6-yA0"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700062,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"defed335fff90b7c8a8297d150f81b10","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"defed335fff90b7c8a8297d150f81b10","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:22.798828288Z"}]},"request_id":"1e64c0d5-b13f-461a-aad6-6f5758898e5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.0562756} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"defed335fff90b7c8a8297d150f81b10","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"defed335fff90b7c8a8297d150f81b10"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"defed335fff90b7c8a8297d150f81b10"} device-1 | {"level":"info","message":"GET /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925? 200 42ms","method":"GET","requestID":"defed335fff90b7c8a8297d150f81b10","responseTime":42,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"bd879672-17f9-4b36-9185-81454b676893","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.065189} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56fdfe0b-32d2-49a2-b883-a0bfd645cbb3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.0660903} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908'","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908'","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} 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":"511a8330-24e8-11f0-a431-d1fa1ca0a775","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":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"511a8330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","device":"e8681858-9b01-48d4-90bc-9249f825589f","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/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bc3d28ad4da05d0242ed874e63b4513d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5130a340-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5f144fe-d858-4f86-8f2a-c8278edae067","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.1950366} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.340692,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5130a340-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","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 | {"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"5130a340-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5130a340-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling 200 39ms","method":"POST","requestID":"5130a340-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51370be0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 3503157753124751950 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:bpCD\r\na=ice-pwd:xfCvefLqJiqjUF0SOADpqreN\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:28:AF:C4:81:31:7A:2E:E9:4F:CF:D8:4C:F7:2A:D1:D4:9D:72:66:A5:FB:E0:DC:6D:04:89:05:2C:CB:09: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":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"646c91e6-0b44-4ee1-872a-3ff8e43b7f3d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.2118967} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51370be0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","rebac_allow":false,"scope_allow":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":"51370be0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51370be0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling 200 37ms","method":"POST","requestID":"51370be0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7706308723549254837 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:+F1E\r\na=ice-pwd:P2ZRj85gxf3IMchTcZfQmlt8\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FB:75:04:8E:B1:70:8D:48:C7:7A:6C:F0:74:BF:EB:63:2D:BB:A9:B0:A7:69:59:33:3A:F4:DD:58:68:B5:F8:0F\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2370727363 1 udp 2113937151 895bb7f9-ef37-4611-b907-8f3b78aeacdb.local 56173 typ host generation 0 ufrag +F1E network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e8681858-9b01-48d4-90bc-9249f825589f","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/e8681858-9b01-48d4-90bc-9249f825589f'"} device-1 | {"content":{"candidate":"candidate:1898426275 1 udp 2113937151 cee76afe-6d8a-4477-af77-3b4fe3ddc2a4.local 37141 typ host generation 0 ufrag bpCD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","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/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ca9229e1b51ec8652170efe964cc69f","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":"4ca9229e1b51ec8652170efe964cc69f","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":"new","url":"http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f"},{"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/05ed71d6-c237-4c24-b63f-c7c3ef4ed925"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"}}},"level":"info","message":"received a callback","requestID":"4ca9229e1b51ec8652170efe964cc69f"} device-1 | {"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"4ca9229e1b51ec8652170efe964cc69f","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +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.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ca9229e1b51ec8652170efe964cc69f"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","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/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"227ef5314e3056b674e827c9569da948","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":"227ef5314e3056b674e827c9569da948","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/e8681858-9b01-48d4-90bc-9249f825589f"},{"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/05ed71d6-c237-4c24-b63f-c7c3ef4ed925"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"}}},"level":"info","message":"received a callback","requestID":"227ef5314e3056b674e827c9569da948"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"51525c10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1daa907-0b7a-4cbb-ac81-22f45039f35c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.3900874} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.263523,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51525c10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","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 7ms","method":"POST","requestID":"51525c10-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"51525c10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908 200 15ms","method":"GET","requestID":"51525c10-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","requestID":"c65c1822861f4a2bf5720fc1b8815a52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A","level":"info","message":"auth send jwt","requestID":"c65c1822861f4a2bf5720fc1b8815a52"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c65c1822861f4a2bf5720fc1b8815a52","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 84ms","method":"POST","requestID":"227ef5314e3056b674e827c9569da948","responseTime":84,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +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.088","http_referrer":"","http_user_agent":"node-fetch","requestID":"227ef5314e3056b674e827c9569da948"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"515ac080-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.899538,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c65c1822861f4a2bf5720fc1b8815a52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c65c1822861f4a2bf5720fc1b8815a52","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d2272f9-d81e-47ce-803f-b643012a84b6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.4465857} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.066289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","requestID":"c65c1822861f4a2bf5720fc1b8815a52"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"515ac080-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","rebac_allow":false,"scope_allow":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":"515ac080-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c65c1822861f4a2bf5720fc1b8815a52"} experiment-1 | {"level":"info","message":"GET /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b 200 11ms","method":"GET","requestID":"c65c1822861f4a2bf5720fc1b8815a52","responseTime":11,"status":200,"url":"/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A","level":"info","message":"auth send jwt","requestID":"cd9e866de330c162e35a0e05c141658f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd9e866de330c162e35a0e05c141658f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"515ac080-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","requestID":"cd9e866de330c162e35a0e05c141658f"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling 200 15ms","method":"POST","requestID":"515ac080-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"51617740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.954186,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cd9e866de330c162e35a0e05c141658f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"cd9e866de330c162e35a0e05c141658f","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb128971-1009-4cf0-aa19-1a1d98006433","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.490957} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Attempting to finish experiment","requestID":"cd9e866de330c162e35a0e05c141658f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.667265,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"51617740-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","rebac_allow":false,"scope_allow":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":"51617740-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"51617740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.982473,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling 200 13ms","method":"POST","requestID":"51617740-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","device":"e8681858-9b01-48d4-90bc-9249f825589f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","device":"05ed71d6-c237-4c24-b63f-c7c3ef4ed925","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/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d91c7c1-a7eb-46e5-aa9d-3417df1e2908': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"53e8092e-eba3-401f-a8d6-840ab489f62a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.5346544} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"967ae2d4f798e38a15644175d99074e1","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":"967ae2d4f798e38a15644175d99074e1","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1174ae1e-0577-43d0-a565-59a067ee92b5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.535143} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a40da62b1db1b596a7c1e4555943b3f","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/e8681858-9b01-48d4-90bc-9249f825589f"},{"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/05ed71d6-c237-4c24-b63f-c7c3ef4ed925"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"}}},"level":"info","message":"received a callback","requestID":"967ae2d4f798e38a15644175d99074e1"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4a40da62b1db1b596a7c1e4555943b3f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/relations/update"} 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/e8681858-9b01-48d4-90bc-9249f825589f"},{"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/05ed71d6-c237-4c24-b63f-c7c3ef4ed925"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"}}},"level":"info","message":"received a callback","requestID":"4a40da62b1db1b596a7c1e4555943b3f"} device-1 | {"data":{"peerconnection":"6d91c7c1-a7eb-46e5-aa9d-3417df1e2908","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908 204 92ms","method":"DELETE","requestID":"5162afc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"status":204,"url":"/peerconnections/6d91c7c1-a7eb-46e5-aa9d-3417df1e2908"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"},"level":"info","message":"Successfully finished experiment","requestID":"cd9e866de330c162e35a0e05c141658f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5176fb10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe8681858-9b01-48d4-90bc-9249f825589f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38309ead-ea8f-43f8-95e2-7c012f22dcfc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.6303496} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.937879,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5176fb10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f","object_type":"device","rebac_allow":false,"scope_allow":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":"5176fb10-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5176fb10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling 200 10ms","method":"POST","requestID":"5176fb10-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/e8681858-9b01-48d4-90bc-9249f825589f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5178cfd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F05ed71d6-c237-4c24-b63f-c7c3ef4ed925","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0d6c7e6-e1d0-41d8-8ced-5f3019de30fb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.6421733} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.987948,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5178cfd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925","object_type":"device","rebac_allow":false,"scope_allow":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":"5178cfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36219dc3-e736-4d2e-b0ea-2c3f4d54279b': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F36219dc3-e736-4d2e-b0ea-2c3f4d54279b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"d7e268d6-01e6-40c5-bd58-44f9249449b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.6440272} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"845b9837-53e8-4886-8ceb-3ec84d87c24d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.6444316} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"cd9e866de330c162e35a0e05c141658f","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5178cfd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling 200 11ms","method":"POST","requestID":"5178cfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b","requestID":"cd9e866de330c162e35a0e05c141658f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.367","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd9e866de330c162e35a0e05c141658f"} experiment-1 | {"level":"info","message":"DELETE /experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b 204 364ms","method":"DELETE","requestID":"cd9e866de330c162e35a0e05c141658f","responseTime":364,"status":204,"url":"/experiments/36219dc3-e736-4d2e-b0ea-2c3f4d54279b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 287ms","method":"POST","requestID":"967ae2d4f798e38a15644175d99074e1","responseTime":287,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +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.290","http_referrer":"","http_user_agent":"node-fetch","requestID":"967ae2d4f798e38a15644175d99074e1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 287ms","method":"POST","requestID":"4a40da62b1db1b596a7c1e4555943b3f","responseTime":287,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +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.291","http_referrer":"","http_user_agent":"node-fetch","requestID":"4a40da62b1db1b596a7c1e4555943b3f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"1.296","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":"ad7325cb5ca3ce25734c5c2451477314"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"1.358","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":"8fec8f31207536c51fb4baa350925658"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A","level":"info","message":"auth send jwt","requestID":"899e31e5931602e0217f346121d4d1b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"899e31e5931602e0217f346121d4d1b8"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/05ed71d6-c237-4c24-b63f-c7c3ef4ed925' closed"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.62616,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"899e31e5931602e0217f346121d4d1b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e8681858-9b01-48d4-90bc-9249f825589f' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"34114627-77cd-4efb-b418-a5daaedc7d53","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.889179} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a5a4d94-b1da-4ea2-a9e6-856cce717800","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.9183922} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"718a80f6-9971-47d6-9b95-1a5589492e22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.9295344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"493cd9af-7a8a-4e6d-abfe-c9dcdbd96279","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.9298055} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":14,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"29/Apr/2025:10:54:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"899e31e5931602e0217f346121d4d1b8"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"899e31e5931602e0217f346121d4d1b8"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:26.929488832Z"}]},"request_id":"01229a97-a64e-4275-9ca0-020e97ff8f5a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924066.934156} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 98ms","method":"POST","requestID":"899e31e5931602e0217f346121d4d1b8","responseTime":98,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A","level":"info","message":"auth send jwt","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829981,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924066,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2Nn0.WQBIES5hG9tiHAplkFlSa-jzO5uN7i4hz8QmR8NvZ4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"acf1b0a7-8592-4c92-9fee-862e248ea055","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924067.0144882} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86bb50a3-3cf0-45de-860a-68477fde8dc5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924067.0195248} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"cf71189e-6fb2-47e4-ac6c-1a26cfa2c2f5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924067.0302505} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c0ab8dfd-fe84-40f2-ae2a-7f105b60222b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924067.0306842} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"c0c85fc3-c5f3-4e24-a708-9f783f604b73","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924067.0593476} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"361b6d360f95e6fcfd9109e1d2b1ab34","responseTime":96,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:27 +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":"361b6d360f95e6fcfd9109e1d2b1ab34"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OH0.UWdSHsHRrWqsnzL3QA6mtkCfRlULf8UJ1azM545AC5E","level":"info","message":"auth send jwt","requestID":"7ba520720fb135071db419f2b338e564"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ba520720fb135071db419f2b338e564","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7ba520720fb135071db419f2b338e564"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813321,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7ba520720fb135071db419f2b338e564","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924068,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OH0.UWdSHsHRrWqsnzL3QA6mtkCfRlULf8UJ1azM545AC5E"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7ba520720fb135071db419f2b338e564","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"230ea304-dad4-4ed7-a416-6183b2d800b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924068.358282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ba520720fb135071db419f2b338e564","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee0b5c16-b2a5-448c-b401-683dc4e02238","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924068.3637455} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7ba520720fb135071db419f2b338e564","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"f49b494b-ab19-4d98-a8a0-cb88384d5f1f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924068.4130404} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ba520720fb135071db419f2b338e564","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7ba520720fb135071db419f2b338e564"} gateway-1 | {"time_local":"29/Apr/2025:10:54:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/446cb89c-b837-4264-a604-d35f050ea19f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7ba520720fb135071db419f2b338e564"} device-1 | {"level":"info","message":"PATCH /devices/446cb89c-b837-4264-a604-d35f050ea19f 200 91ms","method":"PATCH","requestID":"7ba520720fb135071db419f2b338e564","responseTime":91,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OH0.UWdSHsHRrWqsnzL3QA6mtkCfRlULf8UJ1azM545AC5E","level":"info","message":"auth send jwt","requestID":"c6b8e8df4284930098a6ae590b9a65ed"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6b8e8df4284930098a6ae590b9a65ed","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c6b8e8df4284930098a6ae590b9a65ed"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:28Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950636,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c6b8e8df4284930098a6ae590b9a65ed","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924068,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OH0.UWdSHsHRrWqsnzL3QA6mtkCfRlULf8UJ1azM545AC5E"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c6b8e8df4284930098a6ae590b9a65ed","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c6b8e8df4284930098a6ae590b9a65ed"} gateway-1 | {"time_local":"29/Apr/2025:10:54:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c6b8e8df4284930098a6ae590b9a65ed"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/websocket 200 47ms","method":"POST","requestID":"c6b8e8df4284930098a6ae590b9a65ed","responseTime":47,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee6b8f46a895ba7c2473085fceffea14","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":"ee6b8f46a895ba7c2473085fceffea14","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/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":"ee6b8f46a895ba7c2473085fceffea14"} device-1 | {"level":"info","message":"OPTIONS /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/websocket 200 0ms","method":"OPTIONS","requestID":"ee6b8f46a895ba7c2473085fceffea14","responseTime":0,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8","level":"info","message":"auth send jwt","requestID":"ea2a73af546bca5b24c778409fb82f73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea2a73af546bca5b24c778409fb82f73","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ea2a73af546bca5b24c778409fb82f73"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.93327,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ea2a73af546bca5b24c778409fb82f73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ea2a73af546bca5b24c778409fb82f73","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ea2a73af546bca5b24c778409fb82f73"} gateway-1 | {"time_local":"29/Apr/2025:10:54:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.059","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":"ea2a73af546bca5b24c778409fb82f73"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/websocket 200 55ms","method":"POST","requestID":"ea2a73af546bca5b24c778409fb82f73","responseTime":55,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8","level":"info","message":"auth send jwt","requestID":"f0163d43cc985d82b6cf1b1a7d05984e"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"f0163d43cc985d82b6cf1b1a7d05984e","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f0163d43cc985d82b6cf1b1a7d05984e"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.748178,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f0163d43cc985d82b6cf1b1a7d05984e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f0163d43cc985d82b6cf1b1a7d05984e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:26.929488832Z"}]},"request_id":"e2bca821-d884-4ee0-80ec-010bd8331e18","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924069.75516} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0163d43cc985d82b6cf1b1a7d05984e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f0163d43cc985d82b6cf1b1a7d05984e"} gateway-1 | {"time_local":"29/Apr/2025:10:54:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? 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":"f0163d43cc985d82b6cf1b1a7d05984e"} device-1 | {"level":"info","message":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? 200 11ms","method":"GET","requestID":"f0163d43cc985d82b6cf1b1a7d05984e","responseTime":11,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8","level":"info","message":"auth send jwt","requestID":"d66ea7559a208bfd4b97db50f6f009bb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d66ea7559a208bfd4b97db50f6f009bb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d66ea7559a208bfd4b97db50f6f009bb"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681533,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d66ea7559a208bfd4b97db50f6f009bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d66ea7559a208bfd4b97db50f6f009bb","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"ab65d408-82c0-4887-af04-cfd95c9c3ff1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924069.79514} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d66ea7559a208bfd4b97db50f6f009bb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d66ea7559a208bfd4b97db50f6f009bb"} gateway-1 | {"time_local":"29/Apr/2025:10:54:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 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":"d66ea7559a208bfd4b97db50f6f009bb"} device-1 | {"level":"info","message":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 200 36ms","method":"GET","requestID":"d66ea7559a208bfd4b97db50f6f009bb","responseTime":36,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8","level":"info","message":"auth send jwt","requestID":"fd22ca5b2768b768febdd982c0d721dc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fd22ca5b2768b768febdd982c0d721dc","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fd22ca5b2768b768febdd982c0d721dc"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.932961,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fd22ca5b2768b768febdd982c0d721dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd22ca5b2768b768febdd982c0d721dc","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to run experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to book experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully booked experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895626,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005088,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:26.929488832Z"}]},"request_id":"ed78d55b-10f9-400a-b2b0-47837d7500dc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924069.9431021} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"c9c7039d-6ce4-4283-8f27-898cb7c63763","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924069.9443867} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? 200 39ms","method":"GET","requestID":"536c3b60-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 200 39ms","method":"GET","requestID":"536c6270-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Setting up experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully set up experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"538122f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916114,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully running experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971224,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec070f62-cd02-4893-91c2-4df3978173b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.0813377} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"3f028e53-e629-4f8c-9db6-496845447f74","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.0818377} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.51087,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:26.929488832Z"}]},"request_id":"a7c41087-84d2-48a5-be5a-defa6745b138","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.0827286} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"538122f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"538122f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 200 42ms","method":"GET","requestID":"5380d4d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"538122f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling 200 43ms","method":"POST","requestID":"538122f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? 200 47ms","method":"GET","requestID":"5380adc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0ac90af-9756-4384-9367-47d07513cbc1#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0ac90af-9756-4384-9367-47d07513cbc1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"8ac64395-8469-40e8-8f3c-30605a89da25","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.0926142} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d0d6b94-9a27-4b62-a350-eaeaeb4aec59","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.093005} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"538827d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"538875f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"fd22ca5b2768b768febdd982c0d721dc","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e722a65-d6bd-4d42-b4fd-898ed1401e52","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.0979462} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.80889,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"538827d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","rebac_allow":false,"scope_allow":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":"538827d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6660118f-072b-4c23-b8e1-50bf6782ac22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.101044} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861287,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"538875f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","rebac_allow":false,"scope_allow":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":"538875f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 299ms","method":"POST","requestID":"fd22ca5b2768b768febdd982c0d721dc","responseTime":299,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd22ca5b2768b768febdd982c0d721dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3MH0.kvE17C6Zsje8YCDdubpv1WDpGZECw4I4x3zXbN9QsCQ","level":"info","message":"auth send jwt","requestID":"c3660c19233279f3a90212c839b6107d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c3660c19233279f3a90212c839b6107d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"538827d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling 200 41ms","method":"POST","requestID":"538827d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3660c19233279f3a90212c839b6107d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"538875f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling 200 42ms","method":"POST","requestID":"538875f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080411,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"538f53c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c3660c19233279f3a90212c839b6107d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924070,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3MH0.kvE17C6Zsje8YCDdubpv1WDpGZECw4I4x3zXbN9QsCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3660c19233279f3a90212c839b6107d","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:26.929488832Z"}]},"request_id":"dbc8b3fc-d525-4ff6-9848-e0ec57e904ae","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.1455948} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98be034b-c268-49eb-80c7-157b83834358","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.1457303} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c3660c19233279f3a90212c839b6107d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.90523,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"538f53c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","rebac_allow":false,"scope_allow":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":"538f53c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3660c19233279f3a90212c839b6107d"} device-1 | {"level":"info","message":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? 200 16ms","method":"GET","requestID":"c3660c19233279f3a90212c839b6107d","responseTime":16,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"538f53c0-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3660c19233279f3a90212c839b6107d"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling 200 12ms","method":"POST","requestID":"538f53c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Building connection plan","requestID":"fd22ca5b2768b768febdd982c0d721dc"} 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":"7f89ae70-fb09-4150-bfb5-54e178bc2388"},{"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":"c430550d-3d74-482e-b8f4-1f8244e11465"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"11dcc929-a3b4-4ac0-a7b0-270929734cd4"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fd22ca5b2768b768febdd982c0d721dc"} 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/1d142f78-21b6-4bf2-b657-969c6c6f0314"},{"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/446cb89c-b837-4264-a604-d35f050ea19f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fd22ca5b2768b768febdd982c0d721dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3MH0.kvE17C6Zsje8YCDdubpv1WDpGZECw4I4x3zXbN9QsCQ","level":"info","message":"auth send jwt","requestID":"012f8601f3185d0d0c1c0647d01bde89"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"012f8601f3185d0d0c1c0647d01bde89","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"012f8601f3185d0d0c1c0647d01bde89"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.72946,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924069,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA2OX0.yAvdOs7sgEAeiZpoKJD2KCYUFIcIE8sKZBhfQCRnma8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657843,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"012f8601f3185d0d0c1c0647d01bde89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924070,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3MH0.kvE17C6Zsje8YCDdubpv1WDpGZECw4I4x3zXbN9QsCQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"012f8601f3185d0d0c1c0647d01bde89","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:27.030230477Z"}]},"request_id":"9d559f90-c84c-4c96-8900-2013277ca8f4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.1898038} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"012f8601f3185d0d0c1c0647d01bde89","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"012f8601f3185d0d0c1c0647d01bde89"} gateway-1 | {"time_local":"29/Apr/2025:10:54:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 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":"012f8601f3185d0d0c1c0647d01bde89"} device-1 | {"level":"info","message":"GET /devices/446cb89c-b837-4264-a604-d35f050ea19f? 200 14ms","method":"GET","requestID":"012f8601f3185d0d0c1c0647d01bde89","responseTime":14,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"fcb84b8c-7f90-4841-a096-c17960845368","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.1974792} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ab324c2-9b3c-4a16-8b71-604980d6d4f0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.20336} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5'","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5'","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 66ms","method":"POST","requestID":"53954730-24e8-11f0-a431-d1fa1ca0a775","responseTime":66,"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":"53954730-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","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/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fd22ca5b2768b768febdd982c0d721dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53abdc70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d1a0ce0f-f1aa-4e5d-862b-8f66ea9c43f7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.3320389} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.732838,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"53abdc70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","rebac_allow":false,"scope_allow":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":"53abdc70-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53abdc70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling 200 9ms","method":"POST","requestID":"53abdc70-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"53adb130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23d1eb4d-5269-4255-a57b-791589a3e640","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924070.3441625} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.197621,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"53adb130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","rebac_allow":false,"scope_allow":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":"53adb130-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"53adb130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling 200 35ms","method":"POST","requestID":"53adb130-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling"} device-1 | {"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"446cb89c-b837-4264-a604-d35f050ea19f","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":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3543507396835320860 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:6OGX\r\na=ice-pwd:xsUmw4tu9x5ZgFUVHRmii/fW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F6:7F:25:73:61:6F:2A:E0:F9:44:11:FB:CC:57:91:9A:C1:59:93:C5:AE:72:3F:85:A6:F4:C1:92:0F:D7:46:FA\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1805877412 1 udp 2113937151 18d5006b-4edf-4dc6-8323-a67b83e4fe58.local 48321 typ host generation 0 ufrag 6OGX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","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/5c398364-d027-427f-a7c5-2b76a5dfbff5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"446cb89c-b837-4264-a604-d35f050ea19f","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":"446cb89c-b837-4264-a604-d35f050ea19f","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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"00b64bebe80a7e9983e7634df3122853","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":"446cb89c-b837-4264-a604-d35f050ea19f","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"}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00b64bebe80a7e9983e7634df3122853","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/1d142f78-21b6-4bf2-b657-969c6c6f0314"},{"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/446cb89c-b837-4264-a604-d35f050ea19f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"}}},"level":"info","message":"received a callback","requestID":"00b64bebe80a7e9983e7634df3122853"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"00b64bebe80a7e9983e7634df3122853","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"00b64bebe80a7e9983e7634df3122853"} device-1 | {"device":"446cb89c-b837-4264-a604-d35f050ea19f","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":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"446cb89c-b837-4264-a604-d35f050ea19f","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":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","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/5c398364-d027-427f-a7c5-2b76a5dfbff5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"678e348f764abeb98b63baf07cdc440e","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":"678e348f764abeb98b63baf07cdc440e","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/1d142f78-21b6-4bf2-b657-969c6c6f0314"},{"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/446cb89c-b837-4264-a604-d35f050ea19f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"}}},"level":"info","message":"received a callback","requestID":"678e348f764abeb98b63baf07cdc440e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"54ef0ad0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c398364-d027-427f-a7c5-2b76a5dfbff5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c59c36bd-7019-4dbe-adc2-254f4377371b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.4507344} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.06363,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"54ef0ad0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","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":"54ef0ad0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"54ef0ad0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5 200 10ms","method":"GET","requestID":"54ef0ad0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 55ms","method":"POST","requestID":"678e348f764abeb98b63baf07cdc440e","responseTime":55,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"678e348f764abeb98b63baf07cdc440e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54f6d300-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f40a4ec3-a412-4e15-8432-953e178226f0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.501343} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799464,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"54f6d300-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","rebac_allow":false,"scope_allow":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":"54f6d300-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54f6d300-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling 200 38ms","method":"POST","requestID":"54f6d300-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o","level":"info","message":"auth send jwt","requestID":"60dc9559bba49d192f20e8b8647718c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60dc9559bba49d192f20e8b8647718c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"54fd1490-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c0ac90af-9756-4384-9367-47d07513cbc1","requestID":"60dc9559bba49d192f20e8b8647718c6"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.783895,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"60dc9559bba49d192f20e8b8647718c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924072,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"60dc9559bba49d192f20e8b8647718c6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2066265-f1cc-46a4-a119-c22281b64c01","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.5436196} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.954053,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"54fd1490-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","rebac_allow":false,"scope_allow":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":"54fd1490-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"54fd1490-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling 200 12ms","method":"POST","requestID":"54fd1490-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c0ac90af-9756-4384-9367-47d07513cbc1","requestID":"60dc9559bba49d192f20e8b8647718c6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c0ac90af-9756-4384-9367-47d07513cbc1 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60dc9559bba49d192f20e8b8647718c6"} experiment-1 | {"level":"info","message":"GET /experiments/c0ac90af-9756-4384-9367-47d07513cbc1 200 12ms","method":"GET","requestID":"60dc9559bba49d192f20e8b8647718c6","responseTime":12,"status":200,"url":"/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o","level":"info","message":"auth send jwt","requestID":"ac6c009bd8df5b21a47b445e343b325c"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c0ac90af-9756-4384-9367-47d07513cbc1","requestID":"ac6c009bd8df5b21a47b445e343b325c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"ac6c009bd8df5b21a47b445e343b325c","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.912847,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ac6c009bd8df5b21a47b445e343b325c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924072,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac6c009bd8df5b21a47b445e343b325c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Attempting to finish experiment","requestID":"ac6c009bd8df5b21a47b445e343b325c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.865228,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924072,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5","device":"1d142f78-21b6-4bf2-b657-969c6c6f0314","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"446cb89c-b837-4264-a604-d35f050ea19f","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":"446cb89c-b837-4264-a604-d35f050ea19f","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":"446cb89c-b837-4264-a604-d35f050ea19f","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/5c398364-d027-427f-a7c5-2b76a5dfbff5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5c398364-d027-427f-a7c5-2b76a5dfbff5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d4924c7-1d7d-4fc6-b778-12dca90a3ee8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.6306899} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c398364-d027-427f-a7c5-2b76a5dfbff5': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5c398364-d027-427f-a7c5-2b76a5dfbff5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"aa063272-966c-44b0-bee7-967e66f3cbb3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.6322012} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d8dc01612cc9ae420c2a248e18d938d","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":"closed","url":"http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314"},{"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/446cb89c-b837-4264-a604-d35f050ea19f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"}}},"level":"info","message":"received a callback","requestID":"3d8dc01612cc9ae420c2a248e18d938d"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/relations/update"} 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/1d142f78-21b6-4bf2-b657-969c6c6f0314"},{"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/446cb89c-b837-4264-a604-d35f050ea19f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"}}},"level":"info","message":"received a callback","requestID":"436a7d4081251c98d082b1e5383a9af3"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d8dc01612cc9ae420c2a248e18d938d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"436a7d4081251c98d082b1e5383a9af3","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":"436a7d4081251c98d082b1e5383a9af3","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5 204 91ms","method":"DELETE","requestID":"55052ae0-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":204,"url":"/peerconnections/5c398364-d027-427f-a7c5-2b76a5dfbff5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"},"level":"info","message":"Successfully finished experiment","requestID":"ac6c009bd8df5b21a47b445e343b325c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"55197630-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d142f78-21b6-4bf2-b657-969c6c6f0314","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0838d96-06fe-4647-8bc3-6ffefe26a284","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.72812} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.673299,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"55197630-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314","object_type":"device","rebac_allow":false,"scope_allow":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":"55197630-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"55197630-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling 200 10ms","method":"POST","requestID":"55197630-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0ac90af-9756-4384-9367-47d07513cbc1': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc0ac90af-9756-4384-9367-47d07513cbc1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"e414552f-1273-412e-9740-d42844d07ca5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.7352643} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"243c91fb-7a81-4bf5-9e3c-1722e9c6e703","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.735597} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"551b7200-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"ac6c009bd8df5b21a47b445e343b325c","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F446cb89c-b837-4264-a604-d35f050ea19f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b40db3a-388c-41c4-b90a-1ffb8a6b1a3a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.7421746} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.858271,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"551b7200-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f","object_type":"device","rebac_allow":false,"scope_allow":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":"551b7200-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"551b7200-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling 200 35ms","method":"POST","requestID":"551b7200-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/446cb89c-b837-4264-a604-d35f050ea19f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c0ac90af-9756-4384-9367-47d07513cbc1","requestID":"ac6c009bd8df5b21a47b445e343b325c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c0ac90af-9756-4384-9367-47d07513cbc1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.331","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac6c009bd8df5b21a47b445e343b325c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:32 +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.413","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e2ccfc444d2c70292f03a878b276939d"} experiment-1 | {"level":"info","message":"DELETE /experiments/c0ac90af-9756-4384-9367-47d07513cbc1 204 307ms","method":"DELETE","requestID":"ac6c009bd8df5b21a47b445e343b325c","responseTime":307,"status":204,"url":"/experiments/c0ac90af-9756-4384-9367-47d07513cbc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o","level":"info","message":"auth send jwt","requestID":"2e8af8a7143deb18d4762f07a0543ba6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 278ms","method":"POST","requestID":"3d8dc01612cc9ae420c2a248e18d938d","responseTime":278,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.285","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d8dc01612cc9ae420c2a248e18d938d"} gateway-1 | {"time_local":"29/Apr/2025:10:54:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.220","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":"792afd78171c98e6fb32c37a4149ca82"} device-1 | {"level":"info","message":"postDevices called","requestID":"2e8af8a7143deb18d4762f07a0543ba6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e8af8a7143deb18d4762f07a0543ba6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:32Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 286ms","method":"POST","requestID":"436a7d4081251c98d082b1e5383a9af3","responseTime":286,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.015334,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2e8af8a7143deb18d4762f07a0543ba6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924072,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Mn0.czp_L7YLMwhsIqYxmPulZTfB8KqyPJdL2oBVjZGcU-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.290","http_referrer":"","http_user_agent":"node-fetch","requestID":"436a7d4081251c98d082b1e5383a9af3"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1d142f78-21b6-4bf2-b657-969c6c6f0314' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/446cb89c-b837-4264-a604-d35f050ea19f' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"885ed9bb-12e3-4b40-8bd6-3e07c1dffdb6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.9746053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c54db00-684e-4dfc-b389-68fd2dfded00","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924072.9801853} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","responseTime":5,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"896c950c-d10a-4426-ab9d-7072f01c0a27","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.0162864} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"1a093a8c-6841-4551-b369-795f5031b18e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.0164552} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.016428063Z"}]},"request_id":"217d5122-82b2-4f0f-baf2-76780d1efae9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.0219123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2e8af8a7143deb18d4762f07a0543ba6"} device-1 | {"level":"info","message":"POST /devices? 201 108ms","method":"POST","requestID":"2e8af8a7143deb18d4762f07a0543ba6","responseTime":108,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e8af8a7143deb18d4762f07a0543ba6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3M30.t8_4TfoNPXEVGRsBqBzuib7qlR1k1tWlWTVDv7GOTXw","level":"info","message":"auth send jwt","requestID":"7cd7d94ad098ea9bd8e1a631d8766914"} device-1 | {"level":"info","message":"postDevices called","requestID":"7cd7d94ad098ea9bd8e1a631d8766914"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:33Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.992749,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7cd7d94ad098ea9bd8e1a631d8766914","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924073,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3M30.t8_4TfoNPXEVGRsBqBzuib7qlR1k1tWlWTVDv7GOTXw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2c4406fe-976a-4b93-8bff-0cc171ae7624","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.0788844} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cef6e20-86f3-47ed-9e4f-1156b12ff50d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.1090627} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"cbd22b90-98de-46fc-85aa-82361acd5c9b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.1233523} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eeed8cfa-ea46-4376-ab41-5b61084e8225","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.1235666} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"7c7776a4-901a-4ab4-882e-100a76ed84f6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924073.1285684} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7cd7d94ad098ea9bd8e1a631d8766914"} device-1 | {"level":"info","message":"POST /devices? 201 124ms","method":"POST","requestID":"7cd7d94ad098ea9bd8e1a631d8766914","responseTime":124,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7cd7d94ad098ea9bd8e1a631d8766914"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NH0.xD4mjPiIINyk2t9bqdSciTBJesWP20IEs1qDGT5-BgM","level":"info","message":"auth send jwt","requestID":"b7aaba5fbe59f0a26077e00279cd0259"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7aaba5fbe59f0a26077e00279cd0259","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b7aaba5fbe59f0a26077e00279cd0259"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:34Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708553,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b7aaba5fbe59f0a26077e00279cd0259","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924074,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NH0.xD4mjPiIINyk2t9bqdSciTBJesWP20IEs1qDGT5-BgM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"b7aaba5fbe59f0a26077e00279cd0259","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"aaa33f5e-162f-435f-b6f1-b67112efb62c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924074.455537} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b7aaba5fbe59f0a26077e00279cd0259","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"114b9ec9-b60b-4373-82a0-b4a0d10ed618","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924074.4611394} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b7aaba5fbe59f0a26077e00279cd0259","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"f2ffe0a1-af28-4f59-98d9-c76767e002d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924074.555779} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7aaba5fbe59f0a26077e00279cd0259","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b7aaba5fbe59f0a26077e00279cd0259"} gateway-1 | {"time_local":"29/Apr/2025:10:54:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/91b87d83-8687-4b08-b14f-c12955161db0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.141","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"b7aaba5fbe59f0a26077e00279cd0259"} device-1 | {"level":"info","message":"PATCH /devices/91b87d83-8687-4b08-b14f-c12955161db0 200 136ms","method":"PATCH","requestID":"b7aaba5fbe59f0a26077e00279cd0259","responseTime":136,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NH0.xD4mjPiIINyk2t9bqdSciTBJesWP20IEs1qDGT5-BgM","level":"info","message":"auth send jwt","requestID":"67a2ed8200c630c0be04f7851a18b0e4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67a2ed8200c630c0be04f7851a18b0e4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"67a2ed8200c630c0be04f7851a18b0e4"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:34Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.963841,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67a2ed8200c630c0be04f7851a18b0e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924074,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NH0.xD4mjPiIINyk2t9bqdSciTBJesWP20IEs1qDGT5-BgM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"67a2ed8200c630c0be04f7851a18b0e4","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"67a2ed8200c630c0be04f7851a18b0e4"} gateway-1 | {"time_local":"29/Apr/2025:10:54:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"67a2ed8200c630c0be04f7851a18b0e4"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/websocket 200 45ms","method":"POST","requestID":"67a2ed8200c630c0be04f7851a18b0e4","responseTime":45,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"976125599b9b66a9d35ffdffdb910ca5","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":"976125599b9b66a9d35ffdffdb910ca5","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/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":"976125599b9b66a9d35ffdffdb910ca5"} device-1 | {"level":"info","message":"OPTIONS /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/websocket 200 1ms","method":"OPTIONS","requestID":"976125599b9b66a9d35ffdffdb910ca5","responseTime":1,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY","level":"info","message":"auth send jwt","requestID":"cd8d71ad144441c46c894cc15d3ec5d4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd8d71ad144441c46c894cc15d3ec5d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cd8d71ad144441c46c894cc15d3ec5d4"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725879,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cd8d71ad144441c46c894cc15d3ec5d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cd8d71ad144441c46c894cc15d3ec5d4","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cd8d71ad144441c46c894cc15d3ec5d4"} gateway-1 | {"time_local":"29/Apr/2025:10:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","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":"cd8d71ad144441c46c894cc15d3ec5d4"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/websocket 200 42ms","method":"POST","requestID":"cd8d71ad144441c46c894cc15d3ec5d4","responseTime":42,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY","level":"info","message":"auth send jwt","requestID":"530a2ebc50b412c8a35ed2ee877f467b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"530a2ebc50b412c8a35ed2ee877f467b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"530a2ebc50b412c8a35ed2ee877f467b"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928489,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"530a2ebc50b412c8a35ed2ee877f467b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"530a2ebc50b412c8a35ed2ee877f467b","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.016428063Z"}]},"request_id":"92133fff-cffa-4285-8f0e-b9c054deedf1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924075.8108535} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"530a2ebc50b412c8a35ed2ee877f467b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"530a2ebc50b412c8a35ed2ee877f467b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 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":"530a2ebc50b412c8a35ed2ee877f467b"} device-1 | {"level":"info","message":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 200 11ms","method":"GET","requestID":"530a2ebc50b412c8a35ed2ee877f467b","responseTime":11,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY","level":"info","message":"auth send jwt","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934899,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b32d0eeb0f59d86bdfc2d97be551d2de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"dd2f40b1-d71a-4688-a1df-5a75186d5400","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924075.8517385} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de"} gateway-1 | {"time_local":"29/Apr/2025:10:54:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? 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":"b32d0eeb0f59d86bdfc2d97be551d2de"} device-1 | {"level":"info","message":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? 200 12ms","method":"GET","requestID":"b32d0eeb0f59d86bdfc2d97be551d2de","responseTime":12,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY","level":"info","message":"auth send jwt","requestID":"46ef81e8f1502f6c8d219584ea407e00"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"46ef81e8f1502f6c8d219584ea407e00","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"46ef81e8f1502f6c8d219584ea407e00"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.117091,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"46ef81e8f1502f6c8d219584ea407e00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"46ef81e8f1502f6c8d219584ea407e00","responseTime":29,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to run experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to book experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully booked experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798408,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.713053,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.016428063Z"}]},"request_id":"d25dc96c-7d3f-497f-aa7b-747d6888ffe7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924075.9924529} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"36431193-c549-470d-a302-5857f2586f9a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924075.9939482} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 200 39ms","method":"GET","requestID":"57073c70-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? 200 42ms","method":"GET","requestID":"57076380-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Setting up experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully locked booking for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to update booking for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully updated booking for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully set up experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully running experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"57223e80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923991,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859384,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3eaa8ee-1b95-4cde-8c81-79177adc66d9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.1462193} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.871706,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57223e80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"57223e80-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.016428063Z"}]},"request_id":"52aea1f5-bc39-4ec4-93d8-2416129fb3b1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.1504414} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"4dcb016a-fbac-4241-b793-18ab7fa1d505","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.1518335} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"57223e80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling 200 45ms","method":"POST","requestID":"57223e80-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 200 75ms","method":"GET","requestID":"571df8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":75,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F279f397c-9886-40fc-bdc7-0bfa5137c092#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F279f397c-9886-40fc-bdc7-0bfa5137c092","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0914b415-0a5f-4163-b95d-796b3d58a707","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.1847286} device-1 | {"level":"info","message":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? 200 51ms","method":"GET","requestID":"5721f060-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5729b890-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"717f6653-f257-4252-840c-17db162c673c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.1853483} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"46ef81e8f1502f6c8d219584ea407e00","responseTime":48,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"572a2dc0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95057aee-bbf8-49cd-be2f-5d41205909f7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.193857} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"942c8a5a-5cf6-4b08-8d8f-df10584a78c4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.194512} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.550703,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5729b890-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","rebac_allow":false,"scope_allow":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":"5729b890-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.974708,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"572a2dc0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"572a2dc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"46ef81e8f1502f6c8d219584ea407e00"} gateway-1 | {"time_local":"29/Apr/2025:10:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.344","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"level":"info","message":"POST /experiments? 201 339ms","method":"POST","requestID":"46ef81e8f1502f6c8d219584ea407e00","responseTime":339,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5729b890-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling 200 41ms","method":"POST","requestID":"5729b890-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"572a2dc0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling 200 39ms","method":"POST","requestID":"572a2dc0-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Nn0.0Xs33ZvhZ8gWAnlU7DVHBOnTSbu2M3j99lIoCW9U89E","level":"info","message":"auth send jwt","requestID":"7df5f832a03403e4d663c7ebeab620aa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7df5f832a03403e4d663c7ebeab620aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"57309660-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7df5f832a03403e4d663c7ebeab620aa"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57348","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850929,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7df5f832a03403e4d663c7ebeab620aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924076,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Nn0.0Xs33ZvhZ8gWAnlU7DVHBOnTSbu2M3j99lIoCW9U89E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7df5f832a03403e4d663c7ebeab620aa","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"252d9a69-630e-46e4-b4d0-a89508ca5871","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.2346163} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.516944,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57309660-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","rebac_allow":false,"scope_allow":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":"57309660-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.016428063Z"}]},"request_id":"e9a9dcbd-3b05-4615-8f32-b14bfba2deed","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.2393296} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"57309660-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling 200 10ms","method":"POST","requestID":"57309660-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7df5f832a03403e4d663c7ebeab620aa","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Building connection plan","requestID":"46ef81e8f1502f6c8d219584ea407e00"} 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":"adf2e860-78f4-4c3f-9f65-7875d2b6d08d"},{"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":"396f7eff-8dc6-4421-8143-205f88ba10aa"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"89269161-1f61-4862-94b8-40c9b0a5e56f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"46ef81e8f1502f6c8d219584ea407e00"} 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/6852c6cb-3ed8-4182-8965-04f5a2671dfc"},{"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/91b87d83-8687-4b08-b14f-c12955161db0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"46ef81e8f1502f6c8d219584ea407e00"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7df5f832a03403e4d663c7ebeab620aa"} gateway-1 | {"time_local":"29/Apr/2025:10:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 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":"7df5f832a03403e4d663c7ebeab620aa"} device-1 | {"level":"info","message":"GET /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc? 200 14ms","method":"GET","requestID":"7df5f832a03403e4d663c7ebeab620aa","responseTime":14,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc?"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.963187,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924075,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3NX0.HP4bOH6rEq6HAPYHr6kHl40zDaz9krNnuWSnuh1qZUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Nn0.0Xs33ZvhZ8gWAnlU7DVHBOnTSbu2M3j99lIoCW9U89E","level":"info","message":"auth send jwt","requestID":"6da085540722f23cd020cf2c83fd3fe6"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"6da085540722f23cd020cf2c83fd3fe6","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6da085540722f23cd020cf2c83fd3fe6"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a1e82e4d-3d2a-4c04-9aae-c756fd147fa3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.2825089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22865d4f-ccf9-4ce2-b64e-9e8495fd1d61","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.2825766} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88239,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6da085540722f23cd020cf2c83fd3fe6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924076,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3Nn0.0Xs33ZvhZ8gWAnlU7DVHBOnTSbu2M3j99lIoCW9U89E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6da085540722f23cd020cf2c83fd3fe6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:33.123320527Z"}]},"request_id":"211ffb61-89b1-4949-a0db-3851a98f7f22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.2906036} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6da085540722f23cd020cf2c83fd3fe6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372'","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372'","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 85ms","method":"POST","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775","responseTime":85,"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":"6da085540722f23cd020cf2c83fd3fe6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6da085540722f23cd020cf2c83fd3fe6"} device-1 | {"level":"info","message":"GET /devices/91b87d83-8687-4b08-b14f-c12955161db0? 200 52ms","method":"GET","requestID":"6da085540722f23cd020cf2c83fd3fe6","responseTime":52,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"57329230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","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/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"46ef81e8f1502f6c8d219584ea407e00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5747eef0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.104726,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9cfd5a1-eb38-44b8-8598-a1c5e33f151c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.3884366} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5747eef0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"5747eef0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5747eef0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling 200 36ms","method":"POST","requestID":"5747eef0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"574de260-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3a6ba7c-9918-42c0-ad5f-c6c30b1ead17","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924076.4273872} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.770393,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"574de260-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","rebac_allow":false,"scope_allow":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":"574de260-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"574de260-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling 200 10ms","method":"POST","requestID":"574de260-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling"} device-1 | {"device":"91b87d83-8687-4b08-b14f-c12955161db0","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":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8781678857204199263 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:Dg2E\r\na=ice-pwd:g0YM9qHXEzlATk/elwiLxbdm\r\na=ice-options:trickle\r\na=fingerprint:sha-256 06:76:69:57:17:39:7B:3B:D7:4E:44:93:23:CB:C4:C9:82:B5:BE:88:6A:59:CE:98:72:6A:6D:65:2C:C4:BD:BD\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1665072402 1 udp 2113937151 c290364d-88b4-4464-8877-a6d15a70b8ad.local 52736 typ host generation 0 ufrag Dg2E network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","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/6852c6cb-3ed8-4182-8965-04f5a2671dfc'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b6facdbe202f47d007a0e6e0e7952a6","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":"9b6facdbe202f47d007a0e6e0e7952a6","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"91b87d83-8687-4b08-b14f-c12955161db0","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":"91b87d83-8687-4b08-b14f-c12955161db0","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":"91b87d83-8687-4b08-b14f-c12955161db0","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 | {"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/6852c6cb-3ed8-4182-8965-04f5a2671dfc"},{"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/91b87d83-8687-4b08-b14f-c12955161db0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"}}},"level":"info","message":"received a callback","requestID":"9b6facdbe202f47d007a0e6e0e7952a6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +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":"9b6facdbe202f47d007a0e6e0e7952a6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"9b6facdbe202f47d007a0e6e0e7952a6","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"91b87d83-8687-4b08-b14f-c12955161db0","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":"91b87d83-8687-4b08-b14f-c12955161db0","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":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","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/cee41d2a-3ecc-4033-ab13-5e6fcd595372' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"55625ab68a40a75cdc56ca42a675a615","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":"55625ab68a40a75cdc56ca42a675a615","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/6852c6cb-3ed8-4182-8965-04f5a2671dfc"},{"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/91b87d83-8687-4b08-b14f-c12955161db0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"}}},"level":"info","message":"received a callback","requestID":"55625ab68a40a75cdc56ca42a675a615"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"588af640-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcee41d2a-3ecc-4033-ab13-5e6fcd595372","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad968abd-9ea2-42ee-96f2-fb15dfed75ec","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.5300083} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.597879,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"588af640-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","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":"588af640-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"588af640-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372 200 34ms","method":"GET","requestID":"588af640-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 83ms","method":"POST","requestID":"55625ab68a40a75cdc56ca42a675a615","responseTime":83,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58970430-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +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.088","http_referrer":"","http_user_agent":"node-fetch","requestID":"55625ab68a40a75cdc56ca42a675a615"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU","level":"info","message":"auth send jwt","requestID":"21c860e936b6b14db2389a454223f2d4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"21c860e936b6b14db2389a454223f2d4","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96bfd0ca-6f89-46ad-940e-d4539e390144","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.584602} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","requestID":"21c860e936b6b14db2389a454223f2d4"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.75475,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"58970430-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"58970430-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.94362,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58970430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling 200 11ms","method":"POST","requestID":"58970430-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"21c860e936b6b14db2389a454223f2d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924078,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"21c860e936b6b14db2389a454223f2d4","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58992710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","requestID":"21c860e936b6b14db2389a454223f2d4"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092 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":"21c860e936b6b14db2389a454223f2d4"} experiment-1 | {"level":"info","message":"GET /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092 200 15ms","method":"GET","requestID":"21c860e936b6b14db2389a454223f2d4","responseTime":15,"status":200,"url":"/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55fb8baf-8569-4320-8b0a-a580ca1fb4d2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.599562} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.041014,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU","level":"info","message":"auth send jwt","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"58992710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","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":"1cfbc326b1a34e81c963d87a4af1535c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"58992710-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58992710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling 200 39ms","method":"POST","requestID":"58992710-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.937854,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1cfbc326b1a34e81c963d87a4af1535c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924078,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1cfbc326b1a34e81c963d87a4af1535c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Attempting to finish experiment","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.790855,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924078,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372","device":"6852c6cb-3ed8-4182-8965-04f5a2671dfc","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"91b87d83-8687-4b08-b14f-c12955161db0","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":"91b87d83-8687-4b08-b14f-c12955161db0","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":"91b87d83-8687-4b08-b14f-c12955161db0","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/cee41d2a-3ecc-4033-ab13-5e6fcd595372' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c40a821c61d41de56e41cb0812b61a1c","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":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcee41d2a-3ecc-4033-ab13-5e6fcd595372': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fcee41d2a-3ecc-4033-ab13-5e6fcd595372","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"f306af81-fe55-498d-9ef0-e7499183599d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.682557} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c40a821c61d41de56e41cb0812b61a1c","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"475dcf9d7d61b5edb9e0201410c84e2a","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":"475dcf9d7d61b5edb9e0201410c84e2a","responseTime":1,"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":"closed","url":"http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc"},{"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/91b87d83-8687-4b08-b14f-c12955161db0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"}}},"level":"info","message":"received a callback","requestID":"475dcf9d7d61b5edb9e0201410c84e2a"} 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/6852c6cb-3ed8-4182-8965-04f5a2671dfc"},{"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/91b87d83-8687-4b08-b14f-c12955161db0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"}}},"level":"info","message":"received a callback","requestID":"c40a821c61d41de56e41cb0812b61a1c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"194c4bf7-5e69-4a22-8db5-68aad3119068","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.6868944} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"cee41d2a-3ecc-4033-ab13-5e6fcd595372","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372 204 86ms","method":"DELETE","requestID":"58a0c830-24e8-11f0-a431-d1fa1ca0a775","responseTime":86,"status":204,"url":"/peerconnections/cee41d2a-3ecc-4033-ab13-5e6fcd595372"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"},"level":"info","message":"Successfully finished experiment","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58b42920-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6852c6cb-3ed8-4182-8965-04f5a2671dfc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e25fc75-dffb-465f-a7d9-6ff35293d20c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.7749715} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.408675,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"58b42920-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc","object_type":"device","rebac_allow":false,"scope_allow":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":"58b42920-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58b42920-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling 200 10ms","method":"POST","requestID":"58b42920-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"58b5fde0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91b87d83-8687-4b08-b14f-c12955161db0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd7d7644-8d5c-40ba-b64c-16f83c28a5da","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.7874928} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.752969,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"58b5fde0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0","object_type":"device","rebac_allow":false,"scope_allow":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":"58b5fde0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"58b5fde0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling 200 10ms","method":"POST","requestID":"58b5fde0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/91b87d83-8687-4b08-b14f-c12955161db0/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F279f397c-9886-40fc-bdc7-0bfa5137c092': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F279f397c-9886-40fc-bdc7-0bfa5137c092","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"8288e612-80ff-4eb4-b979-e8a8ef62a66d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.818465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"194dea0e-e9b4-402c-8910-339b1b38fbbb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924078.8187714} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"1cfbc326b1a34e81c963d87a4af1535c","responseTime":51,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.333","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cfbc326b1a34e81c963d87a4af1535c"} experiment-1 | {"level":"info","message":"DELETE /experiments/279f397c-9886-40fc-bdc7-0bfa5137c092 204 305ms","method":"DELETE","requestID":"1cfbc326b1a34e81c963d87a4af1535c","responseTime":305,"status":204,"url":"/experiments/279f397c-9886-40fc-bdc7-0bfa5137c092"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +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.320","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"33ce50901a90d954cc5fc1c8d602bf3e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 276ms","method":"POST","requestID":"475dcf9d7d61b5edb9e0201410c84e2a","responseTime":276,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 277ms","method":"POST","requestID":"c40a821c61d41de56e41cb0812b61a1c","responseTime":277,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +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.282","http_referrer":"","http_user_agent":"node-fetch","requestID":"c40a821c61d41de56e41cb0812b61a1c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU","level":"info","message":"auth send jwt","requestID":"c54bcba8ef237ad3806ea313b55e67e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c54bcba8ef237ad3806ea313b55e67e1","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +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.282","http_referrer":"","http_user_agent":"node-fetch","requestID":"475dcf9d7d61b5edb9e0201410c84e2a"} device-1 | {"level":"info","message":"postDevices called","requestID":"c54bcba8ef237ad3806ea313b55e67e1"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.03157,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c54bcba8ef237ad3806ea313b55e67e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924078,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OH0.HUIlkhWJtKXF_UvFoPkUJgKj7PjKX4ECB-Y0bs-UzZU"} gateway-1 | {"time_local":"29/Apr/2025:10:54:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.215","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":"96ba7b1f971798e66d37d73f69078935"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/91b87d83-8687-4b08-b14f-c12955161db0' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b83e3de-3c51-4cbe-a99c-46d7a9ad6a71","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.0165176} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8d54b24-fc3e-41e1-bdba-8db4e29f1f42","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.0241323} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6852c6cb-3ed8-4182-8965-04f5a2671dfc' closed"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"dcf6f55a-ccc8-4a1f-93e6-4a3ecf3a4295","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.0572994} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b8e64c4-b426-4da6-b477-856873b443ab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.0576978} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"209b6dd7-e2d5-404d-a8b0-762eb8b3cf8d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.0628746} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c54bcba8ef237ad3806ea313b55e67e1"} gateway-1 | {"time_local":"29/Apr/2025:10:54:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c54bcba8ef237ad3806ea313b55e67e1"} device-1 | {"level":"info","message":"POST /devices? 201 99ms","method":"POST","requestID":"c54bcba8ef237ad3806ea313b55e67e1","responseTime":99,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OX0.EiCrxUJh8QWvloB2YHaLAirFf9O4QNYnNtRx44lQTNs","level":"info","message":"auth send jwt","requestID":"d58207690ca63794e82d2987c648705d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d58207690ca63794e82d2987c648705d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d58207690ca63794e82d2987c648705d"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:39Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.940832,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d58207690ca63794e82d2987c648705d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924079,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA3OX0.EiCrxUJh8QWvloB2YHaLAirFf9O4QNYnNtRx44lQTNs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1eb83376-1f8a-467f-9186-65856a75ff29","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.1584973} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bf34c0a-36ff-4ce7-9605-8c3432b81a46","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.1666472} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"bf27acc5-b260-46cc-914c-fbaeacb0f95d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.1807172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae6dd043-8bdc-4502-a82a-8425ae0c4dfd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.2056668} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.180698295Z"}]},"request_id":"3d86839b-5673-42a3-ace4-54be93dfcd10","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924079.21004} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d58207690ca63794e82d2987c648705d"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d58207690ca63794e82d2987c648705d"} device-1 | {"level":"info","message":"POST /devices? 201 142ms","method":"POST","requestID":"d58207690ca63794e82d2987c648705d","responseTime":142,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MH0.pmHyjmcAcIGfpo8lZO-HePP2w_9LynWHyuuyaihmDIM","level":"info","message":"auth send jwt","requestID":"b983b693f9dce4cf985d10dd82b433ab"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b983b693f9dce4cf985d10dd82b433ab","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b983b693f9dce4cf985d10dd82b433ab"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.109774,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b983b693f9dce4cf985d10dd82b433ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924080,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MH0.pmHyjmcAcIGfpo8lZO-HePP2w_9LynWHyuuyaihmDIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b983b693f9dce4cf985d10dd82b433ab","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"407f7ba7-8c5b-4e86-93bf-7baea4d7dc2f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924080.6051006} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b983b693f9dce4cf985d10dd82b433ab","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d5d9323-fcc5-4d24-8db1-8a620a440e2e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924080.6159084} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"b983b693f9dce4cf985d10dd82b433ab","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"ce38889d-67fd-4151-99ea-e95fe14dd2c9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924080.6583178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b983b693f9dce4cf985d10dd82b433ab","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b983b693f9dce4cf985d10dd82b433ab"} device-1 | {"level":"info","message":"PATCH /devices/97c78316-050a-4ad5-b34e-2528efe0ca19 200 94ms","method":"PATCH","requestID":"b983b693f9dce4cf985d10dd82b433ab","responseTime":94,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19"} gateway-1 | {"time_local":"29/Apr/2025:10:54:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/97c78316-050a-4ad5-b34e-2528efe0ca19 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":"b983b693f9dce4cf985d10dd82b433ab"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MH0.pmHyjmcAcIGfpo8lZO-HePP2w_9LynWHyuuyaihmDIM","level":"info","message":"auth send jwt","requestID":"d8f99bd97861344cb1133a2735633431"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d8f99bd97861344cb1133a2735633431","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d8f99bd97861344cb1133a2735633431"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:40Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984153,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d8f99bd97861344cb1133a2735633431","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924080,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MH0.pmHyjmcAcIGfpo8lZO-HePP2w_9LynWHyuuyaihmDIM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d8f99bd97861344cb1133a2735633431","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d8f99bd97861344cb1133a2735633431"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d8f99bd97861344cb1133a2735633431"} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/websocket 200 21ms","method":"POST","requestID":"d8f99bd97861344cb1133a2735633431","responseTime":21,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ee4e7425dba52a809e6eb41ad4cddee","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":"5ee4e7425dba52a809e6eb41ad4cddee","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","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":"5ee4e7425dba52a809e6eb41ad4cddee"} device-1 | {"level":"info","message":"OPTIONS /devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket 200 1ms","method":"OPTIONS","requestID":"5ee4e7425dba52a809e6eb41ad4cddee","responseTime":1,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc","level":"info","message":"auth send jwt","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782525,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"dff91fa9e7d4322e6eaf50414b8dc74b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","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":"dff91fa9e7d4322e6eaf50414b8dc74b"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket 200 45ms","method":"POST","requestID":"dff91fa9e7d4322e6eaf50414b8dc74b","responseTime":45,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc","level":"info","message":"auth send jwt","requestID":"78ef7886b200497fd13ce4f9aece9658"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78ef7886b200497fd13ce4f9aece9658","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78ef7886b200497fd13ce4f9aece9658"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944779,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"78ef7886b200497fd13ce4f9aece9658","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"78ef7886b200497fd13ce4f9aece9658","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"bb0f7bc6-1573-453e-8105-87dfdc1d6b0a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924081.9506862} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78ef7886b200497fd13ce4f9aece9658","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? 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":"78ef7886b200497fd13ce4f9aece9658"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78ef7886b200497fd13ce4f9aece9658"} device-1 | {"level":"info","message":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? 200 12ms","method":"GET","requestID":"78ef7886b200497fd13ce4f9aece9658","responseTime":12,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc","level":"info","message":"auth send jwt","requestID":"d7f27b2938966b21fe543e560867e307"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7f27b2938966b21fe543e560867e307","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7f27b2938966b21fe543e560867e307"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928206,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d7f27b2938966b21fe543e560867e307","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7f27b2938966b21fe543e560867e307","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.180698295Z"}]},"request_id":"bcd58070-2e81-4e2f-8f33-49742a7d57b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924081.991178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7f27b2938966b21fe543e560867e307","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7f27b2938966b21fe543e560867e307"} device-1 | {"level":"info","message":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? 200 35ms","method":"GET","requestID":"d7f27b2938966b21fe543e560867e307","responseTime":35,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? 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":"d7f27b2938966b21fe543e560867e307"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc","level":"info","message":"auth send jwt","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.935599,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7f6b0cefc9ebefb79f3d4f0de8693675","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to run experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to book experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully booked experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61718,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.068052,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"53845471-5178-4fe7-b1e1-483064074941","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.3789735} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.180698295Z"}]},"request_id":"69336c12-c5cf-4046-889f-08fa16800b1c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.3801} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? 200 41ms","method":"GET","requestID":"5ad55b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? 200 16ms","method":"GET","requestID":"5ad95310-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Setting up experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully set up experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully running experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5aeab830-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929648,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838608,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21230190-8b04-4bef-bddb-6db216d0151d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.516738} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.155725,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5aeab830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","rebac_allow":false,"scope_allow":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":"5aeab830-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.180698295Z"}]},"request_id":"78eca7bc-9c2c-4a55-87cf-3f5d1451a42a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.5192876} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"75586a8d-4acf-4862-8908-be7044f1b9e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.5207672} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5aeab830-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fafeff14b-b97d-4f61-8cef-636adbb7f37b#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fafeff14b-b97d-4f61-8cef-636adbb7f37b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"3b1851a5-0638-47de-a207-28d3a75b864c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.5284038} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling 200 47ms","method":"POST","requestID":"5aeab830-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? 200 50ms","method":"GET","requestID":"5aea6a10-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5af20b30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cd47675-8885-44c2-9c16-174527d25f50","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.528943} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? 200 54ms","method":"GET","requestID":"5aea4300-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675","responseTime":50,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5af69f10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"388b5924-ec0d-4b3b-91f1-8d58dd5e4d7d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.5628452} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.123656,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5af20b30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","rebac_allow":false,"scope_allow":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":"5af20b30-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ac9b632-d4dd-4ce9-9be3-ebdfc13614a7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.566703} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.366203,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5af69f10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","rebac_allow":false,"scope_allow":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":"5af69f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} gateway-1 | {"time_local":"29/Apr/2025:10:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.576","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} experiment-1 | {"level":"info","message":"POST /experiments? 201 572ms","method":"POST","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675","responseTime":572,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5af20b30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling 200 41ms","method":"POST","requestID":"5af20b30-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5af69f10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling 200 13ms","method":"POST","requestID":"5af69f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4Mn0.xNJTbl_M9s-S-ysg9WplJDjxnQ8ZWX6flJTpiebUBQc","level":"info","message":"auth send jwt","requestID":"b50aed2ae195c10ceff7ca30844f7653"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b50aed2ae195c10ceff7ca30844f7653","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5af93720-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b50aed2ae195c10ceff7ca30844f7653"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c698e3d-8360-445a-9a31-4df937500624","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.5824366} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712458,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b50aed2ae195c10ceff7ca30844f7653","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924082,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4Mn0.xNJTbl_M9s-S-ysg9WplJDjxnQ8ZWX6flJTpiebUBQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b50aed2ae195c10ceff7ca30844f7653","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.972103,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5af93720-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","rebac_allow":false,"scope_allow":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":"5af93720-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.057270184Z"}]},"request_id":"61ab55f2-d214-45d6-9175-9764c35520b6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.6131737} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5af93720-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling 200 35ms","method":"POST","requestID":"5af93720-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b50aed2ae195c10ceff7ca30844f7653","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Building connection plan","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} 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":"8fd3672a-24b9-4772-a821-f8c9edc4e47a"},{"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":"a2f3d0e3-4925-455e-a873-d1e9f80ae2a6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a7da6812-6f32-420a-8453-370c8e0e7b83"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} 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/96ef8aac-de18-442a-9043-fbecde7670e4"},{"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/97c78316-050a-4ad5-b34e-2528efe0ca19"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b50aed2ae195c10ceff7ca30844f7653"} device-1 | {"level":"info","message":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? 200 40ms","method":"GET","requestID":"b50aed2ae195c10ceff7ca30844f7653","responseTime":40,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97c78316-050a-4ad5-b34e-2528efe0ca19? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b50aed2ae195c10ceff7ca30844f7653"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.882346,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924081,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4MX0.fyWCMivFfMaDxko7uK8ksuV7R508gYoRqTFlpvPOABc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4Mn0.xNJTbl_M9s-S-ysg9WplJDjxnQ8ZWX6flJTpiebUBQc","level":"info","message":"auth send jwt","requestID":"5bfa1bdafefea571f20ecac2f9a201da"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5bfa1bdafefea571f20ecac2f9a201da","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5bfa1bdafefea571f20ecac2f9a201da"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.933133,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5bfa1bdafefea571f20ecac2f9a201da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924082,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4Mn0.xNJTbl_M9s-S-ysg9WplJDjxnQ8ZWX6flJTpiebUBQc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5bfa1bdafefea571f20ecac2f9a201da","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"c9838a8a-c12a-4a1b-8ccb-4fc84cf3ea71","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.632632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9119a757-1ba2-4994-be69-4eee166d79ab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.6569595} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:39.180698295Z"}]},"request_id":"cfcf4edd-8fee-46ca-90a0-4be5083f7701","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.6612234} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5bfa1bdafefea571f20ecac2f9a201da","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029'","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029'","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 63ms","method":"POST","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775","responseTime":63,"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":"5bfa1bdafefea571f20ecac2f9a201da"} gateway-1 | {"time_local":"29/Apr/2025:10:54:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5bfa1bdafefea571f20ecac2f9a201da"} device-1 | {"level":"info","message":"GET /devices/96ef8aac-de18-442a-9043-fbecde7670e4? 200 54ms","method":"GET","requestID":"5bfa1bdafefea571f20ecac2f9a201da","responseTime":54,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"5aff0380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","device":"96ef8aac-de18-442a-9043-fbecde7670e4","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 | {"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7f6b0cefc9ebefb79f3d4f0de8693675"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b1bda50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eccbf03e-691c-4265-9ef3-8bdd7154a616","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.809681} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.089633,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5b1bda50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","rebac_allow":false,"scope_allow":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":"5b1bda50-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b1bda50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling 200 11ms","method":"POST","requestID":"5b1bda50-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5b1dfd30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d783add2-339a-4349-bb65-025cf6a56ad4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924082.8242123} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.094615,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5b1dfd30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","rebac_allow":false,"scope_allow":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":"5b1dfd30-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5b1dfd30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling 200 36ms","method":"POST","requestID":"5b1dfd30-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling"} device-1 | {"device":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"397bea13-91ca-46c0-a6e1-e9e071c9d029","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 185046126084008423 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:0Ba6\r\na=ice-pwd:y1cBDiJcHI7kh4L8uZoqAbm3\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BB:B2:9A:82:86:5E:A5:94:26:5F:94:93:4E:28:EA:CA:9D:75:B4:93:3C:26:4E:08:FB:86:50:65:BF:49:71:6A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:572170635 1 udp 2113937151 045b0518-5127-4d62-9078-b7db94e11cd8.local 43716 typ host generation 0 ufrag 0Ba6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"96ef8aac-de18-442a-9043-fbecde7670e4","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/96ef8aac-de18-442a-9043-fbecde7670e4'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"397bea13-91ca-46c0-a6e1-e9e071c9d029","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d520c23fdf2042261de33a166a221106","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":"d520c23fdf2042261de33a166a221106","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/96ef8aac-de18-442a-9043-fbecde7670e4"},{"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/97c78316-050a-4ad5-b34e-2528efe0ca19"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"}}},"level":"info","message":"received a callback","requestID":"d520c23fdf2042261de33a166a221106"} device-1 | {"device":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"d520c23fdf2042261de33a166a221106","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d520c23fdf2042261de33a166a221106"} device-1 | {"device":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"96ef8aac-de18-442a-9043-fbecde7670e4","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"397bea13-91ca-46c0-a6e1-e9e071c9d029","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"397bea13-91ca-46c0-a6e1-e9e071c9d029","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/397bea13-91ca-46c0-a6e1-e9e071c9d029' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"397bea13-91ca-46c0-a6e1-e9e071c9d029","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"64e7aa515d41cfedacf54ff1de32bdc2","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":"64e7aa515d41cfedacf54ff1de32bdc2","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/96ef8aac-de18-442a-9043-fbecde7670e4"},{"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/97c78316-050a-4ad5-b34e-2528efe0ca19"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"}}},"level":"info","message":"received a callback","requestID":"64e7aa515d41cfedacf54ff1de32bdc2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"5c5fa4f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:44Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F397bea13-91ca-46c0-a6e1-e9e071c9d029","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e63a099-bbf9-4af7-981d-35a1e651526f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924084.932837} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.137874,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c5fa4f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","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":"5c5fa4f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"5c5fa4f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029 200 36ms","method":"GET","requestID":"5c5fa4f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NH0.Vqk6mgJNyBjUP2-GyM7bQa_BN_3FLTdBy9xU-W68EcY","level":"info","message":"auth send jwt","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:44Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.993612,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1a3ad97a93d6ad98bbd01ff529ac575f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924084,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NH0.Vqk6mgJNyBjUP2-GyM7bQa_BN_3FLTdBy9xU-W68EcY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 93ms","method":"POST","requestID":"64e7aa515d41cfedacf54ff1de32bdc2","responseTime":93,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.096","http_referrer":"","http_user_agent":"node-fetch","requestID":"64e7aa515d41cfedacf54ff1de32bdc2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c6ceb60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f"} experiment-1 | {"level":"info","message":"GET /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b 200 46ms","method":"GET","requestID":"1a3ad97a93d6ad98bbd01ff529ac575f","responseTime":46,"status":200,"url":"/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fa2ca48-3b81-4154-99f9-d47e7340095d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.0193946} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.195114,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c6ceb60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","rebac_allow":false,"scope_allow":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":"5c6ceb60-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to","level":"info","message":"auth send jwt","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20f4a0ae35fec2460c0491a989d3d9fa","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c6ceb60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling 200 12ms","method":"POST","requestID":"5c6ceb60-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.923115,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"20f4a0ae35fec2460c0491a989d3d9fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924085,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"20f4a0ae35fec2460c0491a989d3d9fa","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c6f5c60-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Attempting to finish experiment","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5513333f-ab82-4cf9-b896-1961c580a884","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.0609148} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.39811,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c6f5c60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"5c6f5c60-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.893916,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924085,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c6f5c60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling 200 41ms","method":"POST","requestID":"5c6f5c60-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling"} device-1 | {"device":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"97c78316-050a-4ad5-b34e-2528efe0ca19","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":"97c78316-050a-4ad5-b34e-2528efe0ca19","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 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029","device":"96ef8aac-de18-442a-9043-fbecde7670e4","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/397bea13-91ca-46c0-a6e1-e9e071c9d029' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"397bea13-91ca-46c0-a6e1-e9e071c9d029","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F397bea13-91ca-46c0-a6e1-e9e071c9d029': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F397bea13-91ca-46c0-a6e1-e9e071c9d029","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"b05f2cfc-ac72-4e03-ba68-d0596c4a3918","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.1070952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11b65f16-93b0-400d-8774-7fd5650896ab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.107838} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7a1391d0a72d63f7cbddefed7cd08f8a","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":"7a1391d0a72d63f7cbddefed7cd08f8a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/relations/update"} 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/96ef8aac-de18-442a-9043-fbecde7670e4"},{"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/97c78316-050a-4ad5-b34e-2528efe0ca19"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"}}},"level":"info","message":"received a callback","requestID":"7a1391d0a72d63f7cbddefed7cd08f8a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0b1716f0eaa2a0b0464e6d21283aa9dd","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":"0b1716f0eaa2a0b0464e6d21283aa9dd","responseTime":2,"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/96ef8aac-de18-442a-9043-fbecde7670e4"},{"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/97c78316-050a-4ad5-b34e-2528efe0ca19"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"}}},"level":"info","message":"received a callback","requestID":"0b1716f0eaa2a0b0464e6d21283aa9dd"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029 204 57ms","method":"DELETE","requestID":"5c73f040-24e8-11f0-a431-d1fa1ca0a775","responseTime":57,"status":204,"url":"/peerconnections/397bea13-91ca-46c0-a6e1-e9e071c9d029"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"},"level":"info","message":"Successfully finished experiment","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c833280-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96ef8aac-de18-442a-9043-fbecde7670e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fceda2c5-ef03-40cb-ad52-faea7d6f2354","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.1651785} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.85339,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c833280-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96ef8aac-de18-442a-9043-fbecde7670e4","object_type":"device","rebac_allow":false,"scope_allow":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":"5c833280-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c833280-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling 200 10ms","method":"POST","requestID":"5c833280-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/96ef8aac-de18-442a-9043-fbecde7670e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5c850740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fafeff14b-b97d-4f61-8cef-636adbb7f37b': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fafeff14b-b97d-4f61-8cef-636adbb7f37b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"fbe792d5-6cc9-48f7-a590-00f061b55ce8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.173358} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c53cf15-7341-42bc-9736-4c3703deb2ef","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.1737142} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"20f4a0ae35fec2460c0491a989d3d9fa","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97c78316-050a-4ad5-b34e-2528efe0ca19","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"904a4718-a756-4db2-8e20-9db6deed7da5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.2036045} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.873598,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c850740-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"5c850740-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5c850740-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling 200 36ms","method":"POST","requestID":"5c850740-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/97c78316-050a-4ad5-b34e-2528efe0ca19/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} gateway-1 | {"time_local":"29/Apr/2025:10:54:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.292","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20f4a0ae35fec2460c0491a989d3d9fa"} experiment-1 | {"level":"info","message":"DELETE /experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b 204 288ms","method":"DELETE","requestID":"20f4a0ae35fec2460c0491a989d3d9fa","responseTime":288,"status":204,"url":"/experiments/afeff14b-b97d-4f61-8cef-636adbb7f37b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:45 +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.575","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a53c3cb8f776a76d52ff7c754b7d11fb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"7a1391d0a72d63f7cbddefed7cd08f8a","responseTime":206,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.209","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a1391d0a72d63f7cbddefed7cd08f8a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 202ms","method":"POST","requestID":"0b1716f0eaa2a0b0464e6d21283aa9dd","responseTime":202,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.205","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b1716f0eaa2a0b0464e6d21283aa9dd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to","level":"info","message":"auth send jwt","requestID":"e946d398660d205ea660e711b2a54e18"} gateway-1 | {"time_local":"29/Apr/2025:10:54:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.451","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":"92c7408719f27061a84062fd0e86f8e0"} authentication-1 | {"level":"info","message":"GET /auth 200 39ms","method":"GET","requestID":"e946d398660d205ea660e711b2a54e18","responseTime":39,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e946d398660d205ea660e711b2a54e18"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/97c78316-050a-4ad5-b34e-2528efe0ca19' closed"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.965159,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e946d398660d205ea660e711b2a54e18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924085,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","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/96ef8aac-de18-442a-9043-fbecde7670e4' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7c294c4c-5d2c-4426-9a58-f81cb168c7d5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.4033875} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ad3ee47-a5e5-42ea-a344-3644d4b47803","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.409797} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"45fbf7f3-b54d-40fd-a01c-2d9e41c37ec2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.4453082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d0d3d96-288c-4511-818c-53a1853db797","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.4456146} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"ed95db6e-a531-44ef-af82-9f78e5881bb8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.4505253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e946d398660d205ea660e711b2a54e18"} device-1 | {"level":"info","message":"POST /devices? 201 96ms","method":"POST","requestID":"e946d398660d205ea660e711b2a54e18","responseTime":96,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e946d398660d205ea660e711b2a54e18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to","level":"info","message":"auth send jwt","requestID":"4910390cffd871487f5c1cd49fa4c61b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4910390cffd871487f5c1cd49fa4c61b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4910390cffd871487f5c1cd49fa4c61b"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.915494,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4910390cffd871487f5c1cd49fa4c61b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924085,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4NX0.mzLepUeThggVDyq37WzjHUcccRZ1BZERhVa1SDRF0to"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4ce97a4-3d54-4326-a55b-0e8bb81458d5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.6407013} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab95f060-123c-40e8-af78-6a5722da15a2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.6462438} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"680a8fa8-10d1-4217-a470-68b9374a9ca9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.730774} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70bfa0db-7700-452e-82f7-3ff0cb482747","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.731225} authorization-1 | {"level":"info","message":"POST /relations/update 200 87ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","responseTime":87,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.730753684Z"}]},"request_id":"6ff8b6d5-6b03-47be-b70a-53fbf9bbbbe3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924085.7356644} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4910390cffd871487f5c1cd49fa4c61b"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4910390cffd871487f5c1cd49fa4c61b"} device-1 | {"level":"info","message":"POST /devices? 201 279ms","method":"POST","requestID":"4910390cffd871487f5c1cd49fa4c61b","responseTime":279,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4N30.J2P90WMG9rm8xdSTGDYxNZDwGZYX134mxZlz_Y977Fk","level":"info","message":"auth send jwt","requestID":"a9f3fa92abeed19bf67aa3219cce57f8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a9f3fa92abeed19bf67aa3219cce57f8"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77689,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a9f3fa92abeed19bf67aa3219cce57f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924087,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4N30.J2P90WMG9rm8xdSTGDYxNZDwGZYX134mxZlz_Y977Fk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"7033e9b6-fed0-41d0-b6fc-1b9bcb12b65d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924087.0401652} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a285ecff-ee0c-4d38-a861-a4c392d7ebd4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924087.045664} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"b26ef5da-0d1c-438c-9e8f-d8c2cf1cb991","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924087.1408303} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a9f3fa92abeed19bf67aa3219cce57f8"} gateway-1 | {"time_local":"29/Apr/2025:10:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.117","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"a9f3fa92abeed19bf67aa3219cce57f8"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"PATCH /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b 200 112ms","method":"PATCH","requestID":"a9f3fa92abeed19bf67aa3219cce57f8","responseTime":112,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4N30.J2P90WMG9rm8xdSTGDYxNZDwGZYX134mxZlz_Y977Fk","level":"info","message":"auth send jwt","requestID":"cf2587bf0b6e5b99205f9529ab8b087b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf2587bf0b6e5b99205f9529ab8b087b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cf2587bf0b6e5b99205f9529ab8b087b"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:47Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841735,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cf2587bf0b6e5b99205f9529ab8b087b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924087,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4N30.J2P90WMG9rm8xdSTGDYxNZDwGZYX134mxZlz_Y977Fk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf2587bf0b6e5b99205f9529ab8b087b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cf2587bf0b6e5b99205f9529ab8b087b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cf2587bf0b6e5b99205f9529ab8b087b"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/websocket 200 56ms","method":"POST","requestID":"cf2587bf0b6e5b99205f9529ab8b087b","responseTime":56,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5eed6927e452c41aa91a413c2c519e2d","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":"5eed6927e452c41aa91a413c2c519e2d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2f27e61c-ee93-477a-854b-c0257a836e55/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":"5eed6927e452c41aa91a413c2c519e2d"} device-1 | {"level":"info","message":"OPTIONS /devices/2f27e61c-ee93-477a-854b-c0257a836e55/websocket 200 1ms","method":"OPTIONS","requestID":"5eed6927e452c41aa91a413c2c519e2d","responseTime":1,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"8615420102b835fbda488c62b86e049f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8615420102b835fbda488c62b86e049f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8615420102b835fbda488c62b86e049f"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9059,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8615420102b835fbda488c62b86e049f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8615420102b835fbda488c62b86e049f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8615420102b835fbda488c62b86e049f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","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":"8615420102b835fbda488c62b86e049f"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/websocket 200 46ms","method":"POST","requestID":"8615420102b835fbda488c62b86e049f","responseTime":46,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"4e8b720a44f23f894b47b9bdd9e34dff"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4e8b720a44f23f894b47b9bdd9e34dff","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4e8b720a44f23f894b47b9bdd9e34dff"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601919,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4e8b720a44f23f894b47b9bdd9e34dff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"4e8b720a44f23f894b47b9bdd9e34dff","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"87d30aff-c33a-4f57-b5bb-a53d8875b92c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.472168} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4e8b720a44f23f894b47b9bdd9e34dff","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4e8b720a44f23f894b47b9bdd9e34dff"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? 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":"4e8b720a44f23f894b47b9bdd9e34dff"} device-1 | {"level":"info","message":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? 200 39ms","method":"GET","requestID":"4e8b720a44f23f894b47b9bdd9e34dff","responseTime":39,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"38d58ff181654abb05fe40b843b36a0f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"38d58ff181654abb05fe40b843b36a0f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"38d58ff181654abb05fe40b843b36a0f"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93888,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"38d58ff181654abb05fe40b843b36a0f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"38d58ff181654abb05fe40b843b36a0f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.730753684Z"}]},"request_id":"6ff7f7cd-6c18-46d1-afbb-0163b589df2b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.5142708} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"38d58ff181654abb05fe40b843b36a0f","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"38d58ff181654abb05fe40b843b36a0f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 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":"38d58ff181654abb05fe40b843b36a0f"} device-1 | {"level":"info","message":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 200 36ms","method":"GET","requestID":"38d58ff181654abb05fe40b843b36a0f","responseTime":36,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d7572f181dca6a23bb47bfc1c95601d4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.951704,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d7572f181dca6a23bb47bfc1c95601d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d7572f181dca6a23bb47bfc1c95601d4","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to run experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to book experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully booked experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982071,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.869665,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"d0b61e3f-9460-46b9-b26b-6a8c956ffa69","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.622061} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.730753684Z"}]},"request_id":"278a73ee-60ae-466b-96bb-ca3c5dfadb65","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.6237595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? 200 16ms","method":"GET","requestID":"5e91ee40-24e8-11f0-a431-d1fa1ca0a775","responseTime":17,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 200 16ms","method":"GET","requestID":"5e921550-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Setting up experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully set up experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully running experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960757,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ea7e740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949685,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"458b20cb-51c6-45b6-87a5-4bbc0dc4650e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.761306} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed1ad3ba-b6e0-4449-9356-dfa17e1e0f4b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.7652595} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.589227,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ea7e740-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","rebac_allow":false,"scope_allow":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":"5ea7e740-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.730753684Z"}]},"request_id":"66dff1f6-e56b-402c-ba44-e61fa60bcfad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.7704105} device-1 | {"level":"info","message":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? 200 44ms","method":"GET","requestID":"5ea37a70-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ea7e740-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling 200 46ms","method":"POST","requestID":"5ea7e740-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eaf3a40-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb2d5975-9bf5-4477-a0db-91117c96e693#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb2d5975-9bf5-4477-a0db-91117c96e693","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"f8aabf7c-ec8f-4aee-b84b-e8a97b592fb5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.8041015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35ce416c-0a91-4c90-9cd8-87d1383a0d60","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.8045342} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"d7572f181dca6a23bb47bfc1c95601d4","responseTime":51,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"677de1ac-1bc0-4fe4-a528-43f67d4a70fe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.8131814} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.871233,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5eaf3a40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","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 | {"data":{"experiment":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"5eaf3a40-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.298","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"level":"info","message":"POST /experiments? 201 293ms","method":"POST","requestID":"d7572f181dca6a23bb47bfc1c95601d4","responseTime":293,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"c179c4c115e76fca2b15f758b2bce3b3"} device-1 | {"level":"info","message":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 200 67ms","method":"GET","requestID":"5ea77210-24e8-11f0-a431-d1fa1ca0a775","responseTime":67,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c179c4c115e76fca2b15f758b2bce3b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c179c4c115e76fca2b15f758b2bce3b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eb26e90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eaf3a40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling 200 24ms","method":"POST","requestID":"5eaf3a40-24e8-11f0-a431-d1fa1ca0a775","responseTime":24,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.569032,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.119997,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c179c4c115e76fca2b15f758b2bce3b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"c179c4c115e76fca2b15f758b2bce3b3","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eedfad25-1374-4c97-911a-c4619db11d32","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.8525763} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5eb26e90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","rebac_allow":false,"scope_allow":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":"5eb26e90-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.445277253Z"}]},"request_id":"6155f165-26f9-4a10-a07a-e5eea574ce73","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.8588274} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c179c4c115e76fca2b15f758b2bce3b3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eb26e90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling 200 35ms","method":"POST","requestID":"5eb26e90-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5eb86200-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c179c4c115e76fca2b15f758b2bce3b3"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c179c4c115e76fca2b15f758b2bce3b3"} device-1 | {"level":"info","message":"GET /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b? 200 45ms","method":"GET","requestID":"c179c4c115e76fca2b15f758b2bce3b3","responseTime":45,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b?"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c14b452e-fede-4382-9aeb-c9b56e00c22e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.871981} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo","level":"info","message":"auth send jwt","requestID":"5ad7b2169f290efb4a9e9d1216bffda0"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.908615,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5eb86200-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","rebac_allow":false,"scope_allow":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":"5eb86200-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5ad7b2169f290efb4a9e9d1216bffda0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ad7b2169f290efb4a9e9d1216bffda0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5eb86200-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883571,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Building connection plan","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} 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":"f204c002-6463-4c1d-8d4b-601e6f8bea2d"},{"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":"18a9509f-d539-4199-a8de-6e9ce2a20c1b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b54086ec-4ab7-4428-855d-3d26c3eaa0c8"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} 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/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"},{"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/2f27e61c-ee93-477a-854b-c0257a836e55"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ad7b2169f290efb4a9e9d1216bffda0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling 200 43ms","method":"POST","requestID":"5eb86200-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ad7b2169f290efb4a9e9d1216bffda0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.646797,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924088,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA4OH0.t5e-eOzKx-0DnA0fo9mR1leO2_duZe5zW9Xif58BWzo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:45.730753684Z"}]},"request_id":"42ffa4f4-e4dd-4f4f-a9d8-0bcbfc56fe65","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.9134843} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"5ad7b2169f290efb4a9e9d1216bffda0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ad7b2169f290efb4a9e9d1216bffda0"} device-1 | {"level":"info","message":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 200 44ms","method":"GET","requestID":"5ad7b2169f290efb4a9e9d1216bffda0","responseTime":44,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f27e61c-ee93-477a-854b-c0257a836e55? 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":"5ad7b2169f290efb4a9e9d1216bffda0"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"ee8ea10d-edaf-44dc-aca3-609db22e61f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.950545} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31a7dc88-d3c0-417a-a365-1b4f6006ddfc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924088.950777} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59'","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59'","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 58ms","method":"POST","requestID":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":58,"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":"5ebf18c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","device":"2f27e61c-ee93-477a-854b-c0257a836e55","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/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d7572f181dca6a23bb47bfc1c95601d4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5ed49c90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:49Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6c6b211-e95a-4657-b9d6-2ddf61d28277","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924089.054558} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.816177,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ed49c90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","rebac_allow":false,"scope_allow":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":"5ed49c90-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5ed49c90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling 200 11ms","method":"POST","requestID":"5ed49c90-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"5edab710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:49Z"} device-1 | {"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fef4150e-479b-4888-b642-06a6abcea27c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924089.0946088} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.265154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5edab710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","rebac_allow":false,"scope_allow":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":"5edab710-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"5edab710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling 200 12ms","method":"POST","requestID":"5edab710-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 7414231184367643930 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:Ut7P\r\na=ice-pwd:EHfjEZUIFzwYDxuhffxzjHw6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 16:FC:05:9E:32:21:5D:24:5D:03:D7:FE:45:0E:B7:8D:97:0A:98:BE:74:EE:64:A3:B4:E6:3D:9D:11:3F:39:51\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"61694062-3d22-463f-9726-f762b481fd59","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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/61694062-3d22-463f-9726-f762b481fd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61694062-3d22-463f-9726-f762b481fd59","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99442fde89fcf4f69501b4814a196c54","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":"99442fde89fcf4f69501b4814a196c54","responseTime":1,"status":200,"url":"/auth"} device-1 | {"content":{"candidate":"candidate:1196554257 1 udp 2113937151 df99a2fb-b987-4f14-acb0-b8b4baaf9ee1.local 39788 typ host generation 0 ufrag Ut7P network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} 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/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"},{"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/2f27e61c-ee93-477a-854b-c0257a836e55"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59"}}},"level":"info","message":"received a callback","requestID":"99442fde89fcf4f69501b4814a196c54"} device-1 | {"device":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"99442fde89fcf4f69501b4814a196c54"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"99442fde89fcf4f69501b4814a196c54","responseTime":35,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"61694062-3d22-463f-9726-f762b481fd59","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"61694062-3d22-463f-9726-f762b481fd59","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/61694062-3d22-463f-9726-f762b481fd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61694062-3d22-463f-9726-f762b481fd59","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ae0110328e6cb55a0984f2dc277ed6f9","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":"ae0110328e6cb55a0984f2dc277ed6f9","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/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"},{"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/2f27e61c-ee93-477a-854b-c0257a836e55"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59"}}},"level":"info","message":"received a callback","requestID":"ae0110328e6cb55a0984f2dc277ed6f9"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"601707a0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61694062-3d22-463f-9726-f762b481fd59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b5e2d92-0456-43c9-bf3a-1f6d37741b80","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.166955} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.595154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"601707a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","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":"601707a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"601707a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/61694062-3d22-463f-9726-f762b481fd59 200 9ms","method":"GET","requestID":"601707a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/peerconnections/61694062-3d22-463f-9726-f762b481fd59"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"ae0110328e6cb55a0984f2dc277ed6f9","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae0110328e6cb55a0984f2dc277ed6f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"601ecfd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b871d9fa-16f0-4aa0-8001-62ccbfe00edf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.2175136} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905112,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"601ecfd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","rebac_allow":false,"scope_allow":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":"601ecfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao","level":"info","message":"auth send jwt","requestID":"92db4c7ba644db979e4ae23216e9dd6b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"92db4c7ba644db979e4ae23216e9dd6b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","requestID":"92db4c7ba644db979e4ae23216e9dd6b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"601ecfd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling 200 10ms","method":"POST","requestID":"601ecfd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"60244e10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.903141,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"92db4c7ba644db979e4ae23216e9dd6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924091,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"92db4c7ba644db979e4ae23216e9dd6b","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1cf0bc52-b91c-454e-aef6-53fe72f7b7c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.2562048} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.179362,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"60244e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","rebac_allow":false,"scope_allow":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":"60244e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"60244e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling 200 12ms","method":"POST","requestID":"60244e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","requestID":"92db4c7ba644db979e4ae23216e9dd6b"} gateway-1 | {"time_local":"29/Apr/2025:10:54:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92db4c7ba644db979e4ae23216e9dd6b"} experiment-1 | {"level":"info","message":"GET /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693 200 41ms","method":"GET","requestID":"92db4c7ba644db979e4ae23216e9dd6b","responseTime":41,"status":200,"url":"/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao","level":"info","message":"auth send jwt","requestID":"5b4109f565341b5204e56ef0bd9886d0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5b4109f565341b5204e56ef0bd9886d0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","requestID":"5b4109f565341b5204e56ef0bd9886d0"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.933325,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5b4109f565341b5204e56ef0bd9886d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924091,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5b4109f565341b5204e56ef0bd9886d0","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Attempting to finish experiment","requestID":"5b4109f565341b5204e56ef0bd9886d0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.706376,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924091,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59","device":"2f27e61c-ee93-477a-854b-c0257a836e55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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":"539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","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/61694062-3d22-463f-9726-f762b481fd59' to 'http://localhost/callbacks/experiment'"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61694062-3d22-463f-9726-f762b481fd59': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F61694062-3d22-463f-9726-f762b481fd59","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"433ec975-a3cb-4876-a120-3598a80a2282","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.3463693} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"add460f2-05a5-40b7-a21c-d01ed34466a2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.3465803} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1f26a146ce6a490431e4d7d81f6ca0a3","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":"1f26a146ce6a490431e4d7d81f6ca0a3","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/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"},{"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/2f27e61c-ee93-477a-854b-c0257a836e55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59"}}},"level":"info","message":"received a callback","requestID":"1f26a146ce6a490431e4d7d81f6ca0a3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cdb38164f75d3981179f44e04058d98c","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":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"61694062-3d22-463f-9726-f762b481fd59","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cdb38164f75d3981179f44e04058d98c","responseTime":1,"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":"closed","url":"http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b"},{"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/2f27e61c-ee93-477a-854b-c0257a836e55"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/61694062-3d22-463f-9726-f762b481fd59"}}},"level":"info","message":"received a callback","requestID":"cdb38164f75d3981179f44e04058d98c"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/61694062-3d22-463f-9726-f762b481fd59 204 65ms","method":"DELETE","requestID":"602c8b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":65,"status":204,"url":"/peerconnections/61694062-3d22-463f-9726-f762b481fd59"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"},"level":"info","message":"Successfully finished experiment","requestID":"5b4109f565341b5204e56ef0bd9886d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"603d5450-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bae8d734-d0ec-4cf8-be23-142aebfc5e83","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.442546} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.333716,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"603d5450-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b","object_type":"device","rebac_allow":false,"scope_allow":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":"603d5450-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"603d5450-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling 200 40ms","method":"POST","requestID":"603d5450-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6043e400-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82d1457d-4389-46ab-992d-a02ba13a246b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.453127} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb2d5975-9bf5-4477-a0db-91117c96e693': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feb2d5975-9bf5-4477-a0db-91117c96e693","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"1ddde1a7-0511-4876-88fe-d12a5caccf81","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.4568956} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"5b4109f565341b5204e56ef0bd9886d0","responseTime":50,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f27e61c-ee93-477a-854b-c0257a836e55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02407d62-29e5-4e26-8004-daccbbbd8f2e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.4635174} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.939962,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6043e400-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55","object_type":"device","rebac_allow":false,"scope_allow":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":"6043e400-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6043e400-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling 200 37ms","method":"POST","requestID":"6043e400-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/2f27e61c-ee93-477a-854b-c0257a836e55/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693","requestID":"5b4109f565341b5204e56ef0bd9886d0"} gateway-1 | {"time_local":"29/Apr/2025:10:54:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.342","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b4109f565341b5204e56ef0bd9886d0"} gateway-1 | {"time_local":"29/Apr/2025:10:54:51 +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.375","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"9380d3ec5f7480c509d9eaf0c45b20f5"} experiment-1 | {"level":"info","message":"DELETE /experiments/eb2d5975-9bf5-4477-a0db-91117c96e693 204 339ms","method":"DELETE","requestID":"5b4109f565341b5204e56ef0bd9886d0","responseTime":339,"status":204,"url":"/experiments/eb2d5975-9bf5-4477-a0db-91117c96e693"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 289ms","method":"POST","requestID":"1f26a146ce6a490431e4d7d81f6ca0a3","responseTime":289,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.292","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f26a146ce6a490431e4d7d81f6ca0a3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 289ms","method":"POST","requestID":"cdb38164f75d3981179f44e04058d98c","responseTime":289,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.292","http_referrer":"","http_user_agent":"node-fetch","requestID":"cdb38164f75d3981179f44e04058d98c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao","level":"info","message":"auth send jwt","requestID":"f6a31d780882d873ffbbf755d99c1395"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6a31d780882d873ffbbf755d99c1395","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f6a31d780882d873ffbbf755d99c1395"} gateway-1 | {"time_local":"29/Apr/2025:10:54:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"3.258","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":"2aec39bdd40099a49822990e1e5e621e"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.010003,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f6a31d780882d873ffbbf755d99c1395","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924091,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/539037c5-2b2c-4ff1-ad91-bc5a2e3dda2b' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"186d10b1-eda4-4199-b93d-fe197adca4f2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.6889427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b86a879-b2bd-442c-a401-868b5860fa63","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.6949332} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2f27e61c-ee93-477a-854b-c0257a836e55' closed"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"f31d12ef-c6dd-47db-a53a-a7dd385b7925","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.7086346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0edb1b4e-b7bd-4067-9066-d5055d388261","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.7329865} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"dac60c95-8e02-4da6-8431-1371c207feea","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.7381566} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f6a31d780882d873ffbbf755d99c1395"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"f6a31d780882d873ffbbf755d99c1395","responseTime":97,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6a31d780882d873ffbbf755d99c1395"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao","level":"info","message":"auth send jwt","requestID":"fbef32645c834bdbd25436d028c78e03"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fbef32645c834bdbd25436d028c78e03","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"fbef32645c834bdbd25436d028c78e03"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.865934,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fbef32645c834bdbd25436d028c78e03","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924091,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5MX0.yp_do6kLDoCvXIUEUU9UMlbf4wutoyFtjIxw7z6VHao"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"462b7429-b407-4a9c-afa2-5a5cc6c56d58","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.8302722} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c55b09d4-12f1-4039-a90f-88f98b3ffcba","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.83678} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"66e041cf-08f0-45b6-bc50-d5c97e781fd5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.8735886} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48853355-7975-4270-8483-6679b7560bfc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.8738148} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"9984c467-23dd-440d-8c2e-fd7bd3326f9e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924091.878599} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fbef32645c834bdbd25436d028c78e03"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbef32645c834bdbd25436d028c78e03"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"fbef32645c834bdbd25436d028c78e03","responseTime":135,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"fbbeb5e128fe93a929bdbe8822640779"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fbbeb5e128fe93a929bdbe8822640779","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fbbeb5e128fe93a929bdbe8822640779"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950492,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fbbeb5e128fe93a929bdbe8822640779","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fbbeb5e128fe93a929bdbe8822640779","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"cf36b78e8576432f290eb325e02dc8c5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf36b78e8576432f290eb325e02dc8c5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cf36b78e8576432f290eb325e02dc8c5"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954142,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cf36b78e8576432f290eb325e02dc8c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf36b78e8576432f290eb325e02dc8c5","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"f0050613-0982-4d7f-8157-1ee4c47930f4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.3303607} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fbbeb5e128fe93a929bdbe8822640779","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff0c4229-36d5-4cc7-bbd6-4d00381d6a81","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.3365934} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"fbbeb5e128fe93a929bdbe8822640779","responseTime":29,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"3570c2cd-e6f6-4315-949d-fab19de8716f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.3653142} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"cf36b78e8576432f290eb325e02dc8c5","responseTime":30,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d4d1cf1-43fc-442b-b9e2-43b78e58d67f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.3711927} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cf36b78e8576432f290eb325e02dc8c5","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"20127a98-8926-4b88-90c6-3dddcd2178de","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.4170845} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fbbeb5e128fe93a929bdbe8822640779","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fbbeb5e128fe93a929bdbe8822640779"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4fa74b60-228b-4d10-917b-5891930d007e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.131","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"fbbeb5e128fe93a929bdbe8822640779"} device-1 | {"level":"info","message":"PATCH /devices/4fa74b60-228b-4d10-917b-5891930d007e 200 103ms","method":"PATCH","requestID":"fbbeb5e128fe93a929bdbe8822640779","responseTime":103,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"2482a21bbc8c67ebaa74fefdcaacf399"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2482a21bbc8c67ebaa74fefdcaacf399"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2482a21bbc8c67ebaa74fefdcaacf399","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880769,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2482a21bbc8c67ebaa74fefdcaacf399","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2482a21bbc8c67ebaa74fefdcaacf399","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"1a9e7788-a3aa-4b4b-9a33-74d811d919fb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.4285445} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cf36b78e8576432f290eb325e02dc8c5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cf36b78e8576432f290eb325e02dc8c5"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/159ea51f-a900-4c38-a79d-909c6c4e3401 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.112","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"cf36b78e8576432f290eb325e02dc8c5"} device-1 | {"level":"info","message":"PATCH /devices/159ea51f-a900-4c38-a79d-909c6c4e3401 200 107ms","method":"PATCH","requestID":"cf36b78e8576432f290eb325e02dc8c5","responseTime":107,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"c73e67665ba9249021de5ea49bab61bc"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c73e67665ba9249021de5ea49bab61bc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c73e67665ba9249021de5ea49bab61bc"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774737,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c73e67665ba9249021de5ea49bab61bc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c73e67665ba9249021de5ea49bab61bc","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2482a21bbc8c67ebaa74fefdcaacf399"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2482a21bbc8c67ebaa74fefdcaacf399"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/websocket 200 47ms","method":"POST","requestID":"2482a21bbc8c67ebaa74fefdcaacf399","responseTime":47,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c73e67665ba9249021de5ea49bab61bc"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/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":"c73e67665ba9249021de5ea49bab61bc"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/websocket 200 48ms","method":"POST","requestID":"c73e67665ba9249021de5ea49bab61bc","responseTime":48,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"fcb7b17a6d31e18574dacb355753519f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fcb7b17a6d31e18574dacb355753519f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fcb7b17a6d31e18574dacb355753519f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22695,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fcb7b17a6d31e18574dacb355753519f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fcb7b17a6d31e18574dacb355753519f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"a2f1c56d-a96f-4fe9-ad63-9965dd7ea0bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.56988} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fcb7b17a6d31e18574dacb355753519f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fcb7b17a6d31e18574dacb355753519f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? 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":"fcb7b17a6d31e18574dacb355753519f"} device-1 | {"level":"info","message":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? 200 13ms","method":"GET","requestID":"fcb7b17a6d31e18574dacb355753519f","responseTime":13,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"443c39798bb6d5c86a420e5c6d56df8e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"443c39798bb6d5c86a420e5c6d56df8e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"443c39798bb6d5c86a420e5c6d56df8e"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925543,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"443c39798bb6d5c86a420e5c6d56df8e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"443c39798bb6d5c86a420e5c6d56df8e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"9d885a94-0dd4-477e-acba-6d31c518e582","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.6110706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"443c39798bb6d5c86a420e5c6d56df8e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"443c39798bb6d5c86a420e5c6d56df8e"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 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":"443c39798bb6d5c86a420e5c6d56df8e"} device-1 | {"level":"info","message":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 200 36ms","method":"GET","requestID":"443c39798bb6d5c86a420e5c6d56df8e","responseTime":36,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.855966,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0f4a69c9cdfc034f5d261d07fa3104a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to run experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to book experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully booked experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.821652,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865735,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"440e6f7c-a2d6-4ba0-9125-1d37a6585f83","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.7190921} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"d124fdff-43d0-40eb-a6b2-ef6a48139a7b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.7201486} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? 200 44ms","method":"GET","requestID":"619babd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 200 43ms","method":"GET","requestID":"619bf9f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Setting up experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully set up experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61b2b640-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932883,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully running experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980963,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a69d1141-ce02-4b1c-aaee-f839c3161ec6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.8931327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"df3a628b-288a-46ce-ae20-4e757e1687ad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.8953552} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.814005,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61b2b640-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","rebac_allow":false,"scope_allow":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":"61b2b640-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"a89bd295-978c-4449-915d-e0011e6fba40","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.8963444} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61b2b640-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling 200 44ms","method":"POST","requestID":"61b2b640-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? 200 48ms","method":"GET","requestID":"61b21a00-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 200 47ms","method":"GET","requestID":"61b26820-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61b9bb20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688f81bb-88b8-4e33-8385-c315d3c0d26d#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688f81bb-88b8-4e33-8385-c315d3c0d26d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"55e2bff1-ebcc-4582-a79b-dbb90d1de586","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.909212} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61ba5760-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"695d302b-d0eb-4855-b0a1-0ce939d20500","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.9094043} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0","responseTime":46,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65485f76-d975-4231-af63-842e13b5b825","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.9124408} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.350894,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61b9bb20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"61b9bb20-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.332741,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eea263e2-9887-4eaf-bd32-067f0dd7d92d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.9412253} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61ba5760-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","rebac_allow":false,"scope_allow":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":"61ba5760-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61b9bb20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling 200 43ms","method":"POST","requestID":"61b9bb20-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61ba5760-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling 200 40ms","method":"POST","requestID":"61ba5760-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling"} gateway-1 | {"time_local":"29/Apr/2025:10:54:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.335","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 331ms","method":"POST","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0","responseTime":331,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61c10e20-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8","level":"info","message":"auth send jwt","requestID":"79401158e7a3b099eccc35c43dbc3a5f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"79401158e7a3b099eccc35c43dbc3a5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79401158e7a3b099eccc35c43dbc3a5f"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.411973,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.071732,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:53Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"181a007c-2b99-46d0-b203-c6542758dc2a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.960157} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61c10e20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","rebac_allow":false,"scope_allow":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":"61c10e20-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"79401158e7a3b099eccc35c43dbc3a5f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"79401158e7a3b099eccc35c43dbc3a5f","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61c10e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling 200 38ms","method":"POST","requestID":"61c10e20-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.708614658Z"}]},"request_id":"a67c675a-4501-4d03-ab4f-0bdefdf8b4fe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924093.9925451} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"79401158e7a3b099eccc35c43dbc3a5f","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Building connection plan","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} 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":"ef5e4df7-4990-4cba-bffd-af4c319919a9"},{"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":"9a524f88-9b98-4c8f-bd57-b4724444cb74"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f01dcc3f-6bd4-4c50-8767-276fe3c77425"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} 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/159ea51f-a900-4c38-a79d-909c6c4e3401"},{"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/4fa74b60-228b-4d10-917b-5891930d007e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79401158e7a3b099eccc35c43dbc3a5f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79401158e7a3b099eccc35c43dbc3a5f"} device-1 | {"level":"info","message":"GET /devices/4fa74b60-228b-4d10-917b-5891930d007e? 200 43ms","method":"GET","requestID":"79401158e7a3b099eccc35c43dbc3a5f","responseTime":43,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e?"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.936148,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924093,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5M30.COxX8KEIXdoPKAV_wV0iB9yJPocoMKIG-AvwKdl3wv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5NH0.Gy1Aas2HiL3-IO5IcLr9cr-UCtNnAs2k7xLOJO-eLCM","level":"info","message":"auth send jwt","requestID":"67c26250ad7076b42488b5eeb9b65958"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"67c26250ad7076b42488b5eeb9b65958","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"67c26250ad7076b42488b5eeb9b65958"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76935,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"67c26250ad7076b42488b5eeb9b65958","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924094,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5NH0.Gy1Aas2HiL3-IO5IcLr9cr-UCtNnAs2k7xLOJO-eLCM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"67c26250ad7076b42488b5eeb9b65958","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"7693f403-effd-4ba0-b146-425d8b833cf6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924094.0464008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f153daa-14cc-4964-8ab0-69847cb9eef7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924094.046694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:51.873561764Z"}]},"request_id":"99c9b52e-d36c-4e89-b24d-f010797ce2b6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924094.0477877} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"67c26250ad7076b42488b5eeb9b65958","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"67c26250ad7076b42488b5eeb9b65958"} device-1 | {"level":"info","message":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 200 46ms","method":"GET","requestID":"67c26250ad7076b42488b5eeb9b65958","responseTime":46,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/159ea51f-a900-4c38-a79d-909c6c4e3401? 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":"67c26250ad7076b42488b5eeb9b65958"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093'","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093'","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 97ms","method":"POST","requestID":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":97,"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":"61c7c4e0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0f4a69c9cdfc034f5d261d07fa3104a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61ec63e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6310636-acc3-48a0-befd-b728a3a46682","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924094.2431664} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.194337,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61ec63e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","rebac_allow":false,"scope_allow":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":"61ec63e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61ec63e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling 200 35ms","method":"POST","requestID":"61ec63e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"61f1e220-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"050a418d-56e9-4e8e-8f47-e94466998a8e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924094.2790692} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.896105,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61f1e220-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","rebac_allow":false,"scope_allow":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":"61f1e220-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"61f1e220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling 200 9ms","method":"POST","requestID":"61f1e220-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling"} device-1 | {"device":"4fa74b60-228b-4d10-917b-5891930d007e","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":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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/484b5242-0c91-4ba9-81e1-9bade4c0f093' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f34eafac2e5400dc9c94e75837573f4d","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":"f34eafac2e5400dc9c94e75837573f4d","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/159ea51f-a900-4c38-a79d-909c6c4e3401"},{"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/4fa74b60-228b-4d10-917b-5891930d007e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"}}},"level":"info","message":"received a callback","requestID":"f34eafac2e5400dc9c94e75837573f4d"} device-1 | {"device":"4fa74b60-228b-4d10-917b-5891930d007e","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":"4fa74b60-228b-4d10-917b-5891930d007e","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":"4fa74b60-228b-4d10-917b-5891930d007e","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 14ms","method":"POST","requestID":"f34eafac2e5400dc9c94e75837573f4d","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"f34eafac2e5400dc9c94e75837573f4d"} device-1 | {"device":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"4fa74b60-228b-4d10-917b-5891930d007e","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"4fa74b60-228b-4d10-917b-5891930d007e","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":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"484b5242-0c91-4ba9-81e1-9bade4c0f093","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/484b5242-0c91-4ba9-81e1-9bade4c0f093' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4de9bd299b8c2626a289ba13d9b9778","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":"b4de9bd299b8c2626a289ba13d9b9778","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/159ea51f-a900-4c38-a79d-909c6c4e3401"},{"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/4fa74b60-228b-4d10-917b-5891930d007e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"}}},"level":"info","message":"received a callback","requestID":"b4de9bd299b8c2626a289ba13d9b9778"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"632de490-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F484b5242-0c91-4ba9-81e1-9bade4c0f093","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5598fd3-0fc1-4f95-9abc-131bcd7b09fc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.3506856} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.902613,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"632de490-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093","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":"632de490-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"632de490-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8","level":"info","message":"auth send jwt","requestID":"b6e30c71f7398becfe1ac3f689083c4f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b6e30c71f7398becfe1ac3f689083c4f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093 200 14ms","method":"GET","requestID":"632de490-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","requestID":"b6e30c71f7398becfe1ac3f689083c4f"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.041119,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b6e30c71f7398becfe1ac3f689083c4f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924096,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6e30c71f7398becfe1ac3f689083c4f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","requestID":"b6e30c71f7398becfe1ac3f689083c4f"} experiment-1 | {"level":"info","message":"GET /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d 200 50ms","method":"GET","requestID":"b6e30c71f7398becfe1ac3f689083c4f","responseTime":50,"status":200,"url":"/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"} gateway-1 | {"time_local":"29/Apr/2025:10:54:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6e30c71f7398becfe1ac3f689083c4f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 99ms","method":"POST","requestID":"b4de9bd299b8c2626a289ba13d9b9778","responseTime":99,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.102","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4de9bd299b8c2626a289ba13d9b9778"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"633c6380-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8","level":"info","message":"auth send jwt","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dcce4b8d-6130-49d7-8119-7980946e0b66","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.4457917} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080743,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"633c6380-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","rebac_allow":false,"scope_allow":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":"633c6380-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.913763,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924096,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"633c6380-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling 200 11ms","method":"POST","requestID":"633c6380-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"633e5f50-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Attempting to finish experiment","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e50a9b36-2b10-40d7-b2a4-8bf2feb7893d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.485637} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.947958,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924096,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.672501,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"633e5f50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","rebac_allow":false,"scope_allow":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":"633e5f50-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"633e5f50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling 200 39ms","method":"POST","requestID":"633e5f50-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling"} device-1 | {"device":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"159ea51f-a900-4c38-a79d-909c6c4e3401","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":"4fa74b60-228b-4d10-917b-5891930d007e","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":"4fa74b60-228b-4d10-917b-5891930d007e","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":"4fa74b60-228b-4d10-917b-5891930d007e","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/484b5242-0c91-4ba9-81e1-9bade4c0f093' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"484b5242-0c91-4ba9-81e1-9bade4c0f093","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F484b5242-0c91-4ba9-81e1-9bade4c0f093': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F484b5242-0c91-4ba9-81e1-9bade4c0f093","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"084ae944-edcb-4a5a-95c2-183447923644","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.50119} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6b67585-6f5a-4ea6-ac2f-b450cebe9cc2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.5015142} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0fd3cd7602cf252fec69ba67d03bdd7","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 8ms","method":"POST","requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"d0fd3cd7602cf252fec69ba67d03bdd7","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dd30f9f42980ba8a7773f41efb6fc5c7","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/159ea51f-a900-4c38-a79d-909c6c4e3401"},{"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/4fa74b60-228b-4d10-917b-5891930d007e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"}}},"level":"info","message":"received a callback","requestID":"d0fd3cd7602cf252fec69ba67d03bdd7"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"dd30f9f42980ba8a7773f41efb6fc5c7","responseTime":25,"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/159ea51f-a900-4c38-a79d-909c6c4e3401"},{"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/4fa74b60-228b-4d10-917b-5891930d007e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"}}},"level":"info","message":"received a callback","requestID":"dd30f9f42980ba8a7773f41efb6fc5c7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093 204 68ms","method":"DELETE","requestID":"63427e00-24e8-11f0-a431-d1fa1ca0a775","responseTime":68,"status":204,"url":"/peerconnections/484b5242-0c91-4ba9-81e1-9bade4c0f093"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"},"level":"info","message":"Successfully finished experiment","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"63543140-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F159ea51f-a900-4c38-a79d-909c6c4e3401","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79ce0a93-a97e-4cb5-b2a3-caba4f9993f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.6249795} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.340742,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"63543140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401","object_type":"device","rebac_allow":false,"scope_allow":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":"63543140-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"63543140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling 200 38ms","method":"POST","requestID":"63543140-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/159ea51f-a900-4c38-a79d-909c6c4e3401/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"635a24b0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688f81bb-88b8-4e33-8385-c315d3c0d26d': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688f81bb-88b8-4e33-8385-c315d3c0d26d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"91ad4e30-eead-48bf-97c4-bb0868c05d1b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.6387212} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"594fd02c-4112-4ed7-a90b-caa438c5f568","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.6390896} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0","responseTime":48,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4fa74b60-228b-4d10-917b-5891930d007e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9103a71c-4a02-435a-b8a3-b83e8b4ef7f7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.6416466} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.09524,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"635a24b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e","object_type":"device","rebac_allow":false,"scope_allow":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":"635a24b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"635a24b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling 200 13ms","method":"POST","requestID":"635a24b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/4fa74b60-228b-4d10-917b-5891930d007e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} gateway-1 | {"time_local":"29/Apr/2025:10:54:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.344","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0"} experiment-1 | {"level":"info","message":"DELETE /experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d 204 342ms","method":"DELETE","requestID":"0d2c7db02d65c2bb92c61fd9a0cc52b0","responseTime":342,"status":204,"url":"/experiments/688f81bb-88b8-4e33-8385-c315d3c0d26d"} gateway-1 | {"time_local":"29/Apr/2025:10:54:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.272","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"595edb8fd7de051e1130caf25f0a7156"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 258ms","method":"POST","requestID":"d0fd3cd7602cf252fec69ba67d03bdd7","responseTime":258,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 258ms","method":"POST","requestID":"dd30f9f42980ba8a7773f41efb6fc5c7","responseTime":258,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8","level":"info","message":"auth send jwt","requestID":"1d216e6ab1c4ef824779931688546463"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1d216e6ab1c4ef824779931688546463"} gateway-1 | {"time_local":"29/Apr/2025:10:54:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.310","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"534abddf79f1313a24e5ac71cc5d477e"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.315","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0fd3cd7602cf252fec69ba67d03bdd7"} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.315","http_referrer":"","http_user_agent":"node-fetch","requestID":"dd30f9f42980ba8a7773f41efb6fc5c7"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.883666,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1d216e6ab1c4ef824779931688546463","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924096,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/159ea51f-a900-4c38-a79d-909c6c4e3401' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"767d20a8-02bd-45db-8da3-8fa7bacbaa59","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.8366425} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4fa74b60-228b-4d10-917b-5891930d007e' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df003655-c776-4bfd-9244-ff449e07c4a6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.8683162} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"90a39dce-41ce-4cf3-93cf-aa2d3407bfdb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.887969} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"729bab2b-09c5-40e7-8ab7-2cfff38fba92","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.8882465} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":46,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"c09ab809-9585-41b1-a923-29abb0f947b3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924096.9202332} gateway-1 | {"time_local":"29/Apr/2025:10:54: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.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d216e6ab1c4ef824779931688546463"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1d216e6ab1c4ef824779931688546463"} device-1 | {"level":"info","message":"POST /devices? 201 132ms","method":"POST","requestID":"1d216e6ab1c4ef824779931688546463","responseTime":132,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8","level":"info","message":"auth send jwt","requestID":"4138314c7e02f68ea64ed9ea43b39ff7"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"4138314c7e02f68ea64ed9ea43b39ff7"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.440865,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"4138314c7e02f68ea64ed9ea43b39ff7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924096,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5Nn0.HEoRDBtLm0uhAB_Am4h4DXAhdz03bQFGqXbqQcHmkn8"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39dca1ad-ba77-441e-99e2-f0842761b1bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924097.0120265} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ff6f082-0ee7-4967-a8b1-0b0a68e5a141","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924097.0200698} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"c69b6a8e-d7b3-4efa-863b-f3ce88b36f14","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924097.0295095} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2cc26ce8-cc7d-4c51-b059-50b435581e2c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924097.0297868} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"6dd40ad8-3634-4d21-8503-aab8672ab52a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924097.0594618} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4138314c7e02f68ea64ed9ea43b39ff7"} gateway-1 | {"time_local":"29/Apr/2025:10:54:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4138314c7e02f68ea64ed9ea43b39ff7"} device-1 | {"level":"info","message":"POST /devices? 201 131ms","method":"POST","requestID":"4138314c7e02f68ea64ed9ea43b39ff7","responseTime":131,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6844,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"08dff9d7-541d-4bd6-8a42-c881dede0312","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.3264546} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0340779-00d5-4595-acc6-e6a7ba1cf775","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.33164} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","responseTime":28,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"dbe99208-d617-45a8-9587-ff153995a9e1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.370699} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"e836c818784e3389ea6cde61f71c1f75"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7"} device-1 | {"level":"info","message":"PATCH /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c 200 57ms","method":"PATCH","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","responseTime":57,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e836c818784e3389ea6cde61f71c1f75"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e836c818784e3389ea6cde61f71c1f75","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f82769c1a2bb855f538b7dbe3cb4ecd7","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"69564367610271232c0cb883fac006e6"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"69564367610271232c0cb883fac006e6","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"69564367610271232c0cb883fac006e6"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918431,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e836c818784e3389ea6cde61f71c1f75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"e836c818784e3389ea6cde61f71c1f75","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778165,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69564367610271232c0cb883fac006e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"69564367610271232c0cb883fac006e6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"a3c30b57-15b5-4fc3-94dd-907d9942eb84","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.4150574} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e836c818784e3389ea6cde61f71c1f75","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8569d19-a567-4791-88bc-464e5d2c3423","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.4201322} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e836c818784e3389ea6cde61f71c1f75","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"69564367610271232c0cb883fac006e6"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"69564367610271232c0cb883fac006e6"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/websocket 200 51ms","method":"POST","requestID":"69564367610271232c0cb883fac006e6","responseTime":51,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/websocket"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"6fb58323-0dad-4daa-a208-d3a3f3b6f407","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.4680393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e836c818784e3389ea6cde61f71c1f75","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e836c818784e3389ea6cde61f71c1f75"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/34dc158a-5602-412e-9582-316d59dc56dc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.101","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e836c818784e3389ea6cde61f71c1f75"} device-1 | {"level":"info","message":"PATCH /devices/34dc158a-5602-412e-9582-316d59dc56dc 200 96ms","method":"PATCH","requestID":"e836c818784e3389ea6cde61f71c1f75","responseTime":96,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"61f70549723baecbd93caf3e24a9bb36"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"61f70549723baecbd93caf3e24a9bb36"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"61f70549723baecbd93caf3e24a9bb36","responseTime":26,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86092,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"61f70549723baecbd93caf3e24a9bb36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"61f70549723baecbd93caf3e24a9bb36","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"61f70549723baecbd93caf3e24a9bb36"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.075","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"61f70549723baecbd93caf3e24a9bb36"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/websocket 200 47ms","method":"POST","requestID":"61f70549723baecbd93caf3e24a9bb36","responseTime":47,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695384,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"80b7dc946a22f061b0d9d1ac3de11f6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"46c3feb0-08f8-40c2-bb81-fdfcfeb4b25b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.596973} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e"} device-1 | {"level":"info","message":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? 200 35ms","method":"GET","requestID":"80b7dc946a22f061b0d9d1ac3de11f6e","responseTime":35,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"bd35408ac359b020184433210211144f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bd35408ac359b020184433210211144f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd35408ac359b020184433210211144f"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891113,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bd35408ac359b020184433210211144f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bd35408ac359b020184433210211144f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"36fa64c1-abc1-4cd8-b300-eac7b4f44ee0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.6130354} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd35408ac359b020184433210211144f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd35408ac359b020184433210211144f"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? 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":"bd35408ac359b020184433210211144f"} device-1 | {"level":"info","message":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? 200 11ms","method":"GET","requestID":"bd35408ac359b020184433210211144f","responseTime":11,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"c4c1f10533449f94b50e47c4d85ab187"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c4c1f10533449f94b50e47c4d85ab187","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c4c1f10533449f94b50e47c4d85ab187"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.857194,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c4c1f10533449f94b50e47c4d85ab187","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c4c1f10533449f94b50e47c4d85ab187","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to run experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to book experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully booked experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873417,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.215791,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"1c822f3a-5f59-4a44-8f38-7644fd8fc165","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.7419815} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"862cf35c-9e31-42b8-bc65-300d7aeafcad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.7429705} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? 200 38ms","method":"GET","requestID":"64967540-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? 200 38ms","method":"GET","requestID":"6496c360-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Setting up experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully set up experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully running experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64b0db10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.026737,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.813128,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66198803-00d2-43b2-a54d-ae961e9b3d5a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.8882306} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.464566,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64b0db10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","rebac_allow":false,"scope_allow":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":"64b0db10-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"4fd4e528-f1db-4272-8de0-62c76a45732a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.891317} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"1ac3a542-6430-43bb-a345-16a66bf99b1f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.8940244} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64b0db10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling 200 16ms","method":"POST","requestID":"64b0db10-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64b3c140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? 200 49ms","method":"GET","requestID":"64ac9550-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} device-1 | {"level":"info","message":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? 200 48ms","method":"GET","requestID":"64ace370-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2702a180-be5e-4e48-8bd0-8223f5f5ff84","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9049773} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.114373,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64b3c140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","rebac_allow":false,"scope_allow":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":"64b3c140-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aceda7a-3594-4edb-b9ce-734c31427f77#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aceda7a-3594-4edb-b9ce-734c31427f77","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"139b1b98-095c-424c-a57c-fb869e57c867","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9332657} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64b8ca50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ac77c68-73d0-4052-8cda-0691b2b89920","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9335792} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"c4c1f10533449f94b50e47c4d85ab187","responseTime":49,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64b3c140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling 200 39ms","method":"POST","requestID":"64b3c140-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28a0f8cf-c9cf-4170-b680-b7e1fcbfe6a5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9391572} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.535476,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64b8ca50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","rebac_allow":false,"scope_allow":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":"64b8ca50-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c4c1f10533449f94b50e47c4d85ab187"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.302","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"level":"info","message":"POST /experiments? 201 298ms","method":"POST","requestID":"c4c1f10533449f94b50e47c4d85ab187","responseTime":298,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64b8ca50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling 200 12ms","method":"POST","requestID":"64b8ca50-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64baed30-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242478,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28a486d4-75f4-4a2e-9ad2-17f1d8005afa","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9539263} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.89344,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64baed30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","rebac_allow":false,"scope_allow":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":"64baed30-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:56.887937336Z"}]},"request_id":"c0157b06-ee58-4f60-b833-2394ba0fda4c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924098.9817605} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64baed30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling 200 36ms","method":"POST","requestID":"64baed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Building connection plan","requestID":"c4c1f10533449f94b50e47c4d85ab187"} 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":"32dea8c5-5571-46c8-9b0f-349cd9b62672"},{"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":"ac030d68-b5bf-4be0-9530-09fccf4f9b8f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6ad41954-dfaa-4e20-b588-229580d55970"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c4c1f10533449f94b50e47c4d85ab187"} 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/282f5660-b67f-48a0-b5f2-a781d661fa0c"},{"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/34dc158a-5602-412e-9582-316d59dc56dc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c4c1f10533449f94b50e47c4d85ab187"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1"} device-1 | {"level":"info","message":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? 200 39ms","method":"GET","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1","responseTime":39,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c?"} gateway-1 | {"time_local":"29/Apr/2025:10:54:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8cd6d7c01e4a57f7e99f3cb7c025d1f1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw","level":"info","message":"auth send jwt","requestID":"2f82cdda1ab64d08327d2db584697869"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f82cdda1ab64d08327d2db584697869","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.057639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f82cdda1ab64d08327d2db584697869"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878513,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2f82cdda1ab64d08327d2db584697869","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924098,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDA5OH0.o2dBVDFr4RVQPcJAvnZ1TuiaLfSApHWioM1sQgrYksw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2f82cdda1ab64d08327d2db584697869","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:54:57.029479801Z"}]},"request_id":"2b64cf15-9479-432c-84ff-536253c8b2b7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924099.0269957} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2f82cdda1ab64d08327d2db584697869","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"11632807-82ca-4094-a8c7-3d461ca250dc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924099.0320055} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f0076c6-b973-4502-a570-c69adaf1fde8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924099.0323455} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f82cdda1ab64d08327d2db584697869"} gateway-1 | {"time_local":"29/Apr/2025:10:54:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f82cdda1ab64d08327d2db584697869"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/34dc158a-5602-412e-9582-316d59dc56dc? 200 40ms","method":"GET","requestID":"2f82cdda1ab64d08327d2db584697869","responseTime":40,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7'","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7'","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} 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":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775","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":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"64c0e0a0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c4c1f10533449f94b50e47c4d85ab187"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64d775e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbe968c9-2416-4122-ae5b-8f8f0b0b516e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924099.13915} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.839379,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64d775e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","rebac_allow":false,"scope_allow":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":"64d775e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64d775e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling 200 10ms","method":"POST","requestID":"64d775e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"64dccd10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:54:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a82659c6-44ea-4f44-bab6-ae64d8175bf8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924099.174144} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.59023,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:54:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"64dccd10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","rebac_allow":false,"scope_allow":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":"64dccd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"64dccd10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling 200 8ms","method":"POST","requestID":"64dccd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling"} device-1 | {"device":"34dc158a-5602-412e-9582-316d59dc56dc","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":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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 | {"device":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf75b890f196c858f4636dddf6a16213","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":"cf75b890f196c858f4636dddf6a16213","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/282f5660-b67f-48a0-b5f2-a781d661fa0c"},{"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/34dc158a-5602-412e-9582-316d59dc56dc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"}}},"level":"info","message":"received a callback","requestID":"cf75b890f196c858f4636dddf6a16213"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"cf75b890f196c858f4636dddf6a16213","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"34dc158a-5602-412e-9582-316d59dc56dc","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":"34dc158a-5602-412e-9582-316d59dc56dc","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":"34dc158a-5602-412e-9582-316d59dc56dc","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"}} gateway-1 | {"time_local":"29/Apr/2025:10:55: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":"cf75b890f196c858f4636dddf6a16213"} device-1 | {"device":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"34dc158a-5602-412e-9582-316d59dc56dc","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":"34dc158a-5602-412e-9582-316d59dc56dc","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f2c8f044-3aaa-4c77-a482-e485d16483f7","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/f2c8f044-3aaa-4c77-a482-e485d16483f7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ecc0d9baeab059a64c12868b03ca67a2","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":"ecc0d9baeab059a64c12868b03ca67a2","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":"connected","url":"http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c"},{"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/34dc158a-5602-412e-9582-316d59dc56dc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"}}},"level":"info","message":"received a callback","requestID":"ecc0d9baeab059a64c12868b03ca67a2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6629bf70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2c8f044-3aaa-4c77-a482-e485d16483f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34287b17-42ff-4fb9-b1e4-2699c8070df5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.3817942} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.724257,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6629bf70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7","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 7ms","method":"POST","requestID":"6629bf70-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6629bf70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7 200 37ms","method":"GET","requestID":"6629bf70-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k","level":"info","message":"auth send jwt","requestID":"7a5653d4df73bad777c7e2a4058e056e"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"7a5653d4df73bad777c7e2a4058e056e","responseTime":12,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"7a5653d4df73bad777c7e2a4058e056e"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.985867,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7a5653d4df73bad777c7e2a4058e056e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924101,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7a5653d4df73bad777c7e2a4058e056e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"7a5653d4df73bad777c7e2a4058e056e"} gateway-1 | {"time_local":"29/Apr/2025:10:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a5653d4df73bad777c7e2a4058e056e"} experiment-1 | {"level":"info","message":"GET /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 200 48ms","method":"GET","requestID":"7a5653d4df73bad777c7e2a4058e056e","responseTime":48,"status":200,"url":"/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"ecc0d9baeab059a64c12868b03ca67a2","responseTime":143,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"663ece10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.587538,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38053672-b51e-416f-87e3-17e29e87ea5e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.5219495} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"663ece10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"663ece10-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"ecc0d9baeab059a64c12868b03ca67a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k","level":"info","message":"auth send jwt","requestID":"aae8cdae55b8029752a6290fb9f408ec"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aae8cdae55b8029752a6290fb9f408ec","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"aae8cdae55b8029752a6290fb9f408ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"663ece10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling 200 93ms","method":"POST","requestID":"663ece10-24e8-11f0-a431-d1fa1ca0a775","responseTime":93,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":4.186755,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"aae8cdae55b8029752a6290fb9f408ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924101,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6652f250-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"aae8cdae55b8029752a6290fb9f408ec","responseTime":41,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"aae8cdae55b8029752a6290fb9f408ec"} gateway-1 | {"time_local":"29/Apr/2025:10:55:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aae8cdae55b8029752a6290fb9f408ec"} experiment-1 | {"level":"info","message":"GET /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 200 62ms","method":"GET","requestID":"aae8cdae55b8029752a6290fb9f408ec","responseTime":62,"status":200,"url":"/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k","level":"info","message":"auth send jwt","requestID":"590e2e54a83d812ee48d4c471e693502"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"590e2e54a83d812ee48d4c471e693502","responseTime":32,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"590e2e54a83d812ee48d4c471e693502"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57292","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":36.951564,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd95b297-f240-4ccf-8b6f-c7abcc2a090f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.671523} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6652f250-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"6652f250-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.055572,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"590e2e54a83d812ee48d4c471e693502","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924101,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"590e2e54a83d812ee48d4c471e693502","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6652f250-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling 200 103ms","method":"POST","requestID":"6652f250-24e8-11f0-a431-d1fa1ca0a775","responseTime":103,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Attempting to finish experiment","requestID":"590e2e54a83d812ee48d4c471e693502"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.047568,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924101,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMX0.bBTgzjqiqjTS0G-PKUbrJ8gxkMTQGBnG_VUJZPgl16k"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"34dc158a-5602-412e-9582-316d59dc56dc","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":"34dc158a-5602-412e-9582-316d59dc56dc","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":"34dc158a-5602-412e-9582-316d59dc56dc","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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":"282f5660-b67f-48a0-b5f2-a781d661fa0c","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/f2c8f044-3aaa-4c77-a482-e485d16483f7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f2c8f044-3aaa-4c77-a482-e485d16483f7","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2c8f044-3aaa-4c77-a482-e485d16483f7': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff2c8f044-3aaa-4c77-a482-e485d16483f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"980742ed-e0e9-400a-ba1e-864d854d44b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.825504} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e36c71e0-7014-47a5-9d13-8ad13e88018b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.8261023} authorization-1 | {"level":"info","message":"POST /relations/update 200 56ms","method":"POST","requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f8ca1e400341f913dbecb75b5788b1c7","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":"f8ca1e400341f913dbecb75b5788b1c7","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/282f5660-b67f-48a0-b5f2-a781d661fa0c"},{"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/34dc158a-5602-412e-9582-316d59dc56dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"}}},"level":"info","message":"received a callback","requestID":"f8ca1e400341f913dbecb75b5788b1c7"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7 204 145ms","method":"DELETE","requestID":"66639420-24e8-11f0-a431-d1fa1ca0a775","responseTime":145,"status":204,"url":"/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"47b0ebc3375eff736327beccba312265","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":"47b0ebc3375eff736327beccba312265","responseTime":2,"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/282f5660-b67f-48a0-b5f2-a781d661fa0c"},{"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/34dc158a-5602-412e-9582-316d59dc56dc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f2c8f044-3aaa-4c77-a482-e485d16483f7"}}},"level":"info","message":"received a callback","requestID":"47b0ebc3375eff736327beccba312265"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"},"level":"info","message":"Successfully finished experiment","requestID":"590e2e54a83d812ee48d4c471e693502"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"668796e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F282f5660-b67f-48a0-b5f2-a781d661fa0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f2b5a39-1c3a-4b28-a8f7-33084643e75c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924101.974235} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.456979,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"668796e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"668796e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"668796e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling 200 44ms","method":"POST","requestID":"668796e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"668ec2d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34dc158a-5602-412e-9582-316d59dc56dc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb3353c0-4deb-4f04-96b9-d97ead7b0f84","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.0199623} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.533112,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"668ec2d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc","object_type":"device","rebac_allow":false,"scope_allow":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":"668ec2d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"668ec2d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling 200 41ms","method":"POST","requestID":"668ec2d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/34dc158a-5602-412e-9582-316d59dc56dc/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aceda7a-3594-4edb-b9ce-734c31427f77': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0aceda7a-3594-4edb-b9ce-734c31427f77","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"14ff6e3a-1e84-4d28-9787-2a7737e76933","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.0683873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"189f954d-3506-4cb4-8f6f-f2c9e5110102","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.0697224} authorization-1 | {"level":"info","message":"POST /relations/update 200 137ms","method":"POST","requestID":"590e2e54a83d812ee48d4c471e693502","responseTime":137,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77","requestID":"590e2e54a83d812ee48d4c471e693502"} gateway-1 | {"time_local":"29/Apr/2025:10:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.615","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"590e2e54a83d812ee48d4c471e693502"} experiment-1 | {"level":"info","message":"DELETE /experiments/0aceda7a-3594-4edb-b9ce-734c31427f77 204 584ms","method":"DELETE","requestID":"590e2e54a83d812ee48d4c471e693502","responseTime":584,"status":204,"url":"/experiments/0aceda7a-3594-4edb-b9ce-734c31427f77"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 386ms","method":"POST","requestID":"f8ca1e400341f913dbecb75b5788b1c7","responseTime":386,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 347ms","method":"POST","requestID":"47b0ebc3375eff736327beccba312265","responseTime":347,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:02 +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.381","http_referrer":"","http_user_agent":"node-fetch","requestID":"47b0ebc3375eff736327beccba312265"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMn0.Tf5VuHNdb4JC82z5WC9GAtXGY1IxXhLeOK_121r8Xg8","level":"info","message":"auth send jwt","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.747","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"45207c69cf731b5aca80951df906ecab"} gateway-1 | {"time_local":"29/Apr/2025:10:55:02 +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.431","http_referrer":"","http_user_agent":"node-fetch","requestID":"f8ca1e400341f913dbecb75b5788b1c7"} gateway-1 | {"time_local":"29/Apr/2025:10:55:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.839","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"94eaefd1001e87283f9f0701ccaa1725"} device-1 | {"level":"info","message":"postDevices called","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.979898,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924102,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMn0.Tf5VuHNdb4JC82z5WC9GAtXGY1IxXhLeOK_121r8Xg8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/34dc158a-5602-412e-9582-316d59dc56dc' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/282f5660-b67f-48a0-b5f2-a781d661fa0c' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4879a12b-c4b8-46bf-8d0b-b275cda1e2ad","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.4485104} authorization-1 | {"level":"info","message":"POST /relations/query 200 46ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":46,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efcac0f5-abc2-458e-8e9b-46fe593d7303","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.4855363} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"11291261-5cab-4205-9c22-3dabef4a3530","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.5522187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a550e67c-1a5e-43f8-9fdd-fccde5790b62","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.577829} authorization-1 | {"level":"info","message":"POST /relations/update 200 82ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":82,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.552185381Z"}]},"request_id":"84b653f2-067c-407c-9e34-e3a8432b0a0d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.5861475} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 248ms","method":"POST","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0","responseTime":248,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.331","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"745f0f2b185a5420d1ab6c176fc6fcf0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMn0.Tf5VuHNdb4JC82z5WC9GAtXGY1IxXhLeOK_121r8Xg8","level":"info","message":"auth send jwt","requestID":"1c717de73b7cb0816f3b3799873a950e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"1c717de73b7cb0816f3b3799873a950e"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.901041,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"1c717de73b7cb0816f3b3799873a950e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924102,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwMn0.Tf5VuHNdb4JC82z5WC9GAtXGY1IxXhLeOK_121r8Xg8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"187b0389-233c-4408-8e1e-31de8f36e4bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.682583} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":7,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd352278-6a3c-4a0e-b435-03902950be7d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.690182} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"1e66acd6-b3ab-4abe-a328-54b6076f7213","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.737867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29baa0f8-bce4-4550-951a-023076e0e8f1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.7393441} authorization-1 | {"level":"info","message":"POST /relations/update 200 78ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":78,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.737834380Z"}]},"request_id":"173c4aff-dfaf-4a78-af00-897d591e111a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924102.7795348} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"1c717de73b7cb0816f3b3799873a950e"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c717de73b7cb0816f3b3799873a950e"} device-1 | {"level":"info","message":"POST /devices? 201 185ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":185,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"1c717de73b7cb0816f3b3799873a950e","responseTime":8,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/54c9c559-4085-4506-93f0-73053083bce8/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":"d6c7ad2044dd9a2f2b85328864a5f92e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d6c7ad2044dd9a2f2b85328864a5f92e","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":"d6c7ad2044dd9a2f2b85328864a5f92e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/54c9c559-4085-4506-93f0-73053083bce8/websocket 200 1ms","method":"OPTIONS","requestID":"d6c7ad2044dd9a2f2b85328864a5f92e","responseTime":1,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw","level":"info","message":"auth send jwt","requestID":"435d271a996309f0b2efc35939f7d2ff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"435d271a996309f0b2efc35939f7d2ff"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"435d271a996309f0b2efc35939f7d2ff","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936934,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"435d271a996309f0b2efc35939f7d2ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"435d271a996309f0b2efc35939f7d2ff","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"435d271a996309f0b2efc35939f7d2ff"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.085","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":"435d271a996309f0b2efc35939f7d2ff"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/websocket 200 81ms","method":"POST","requestID":"435d271a996309f0b2efc35939f7d2ff","responseTime":81,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2f202e04-cce4-4d83-984d-69560d0305af/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":"62843f069fc1166c92b187147541bb9b"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"62843f069fc1166c92b187147541bb9b","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":"62843f069fc1166c92b187147541bb9b","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/2f202e04-cce4-4d83-984d-69560d0305af/websocket 200 1ms","method":"OPTIONS","requestID":"62843f069fc1166c92b187147541bb9b","responseTime":1,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw","level":"info","message":"auth send jwt","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966408,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","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":"fb62e9a9d3a2f6f182a25a0c706f14e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/websocket 200 52ms","method":"POST","requestID":"fb62e9a9d3a2f6f182a25a0c706f14e5","responseTime":52,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw","level":"info","message":"auth send jwt","requestID":"f8ee0b90e2249286609efddbeef34893"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8ee0b90e2249286609efddbeef34893","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8ee0b90e2249286609efddbeef34893"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864467,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f8ee0b90e2249286609efddbeef34893","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"f8ee0b90e2249286609efddbeef34893","responseTime":32,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.552185381Z"}]},"request_id":"eef412a1-e40f-4f46-b37d-8876125621b1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.381308} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"f8ee0b90e2249286609efddbeef34893","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8ee0b90e2249286609efddbeef34893"} device-1 | {"level":"info","message":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? 200 75ms","method":"GET","requestID":"f8ee0b90e2249286609efddbeef34893","responseTime":75,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f8ee0b90e2249286609efddbeef34893"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw","level":"info","message":"auth send jwt","requestID":"ed1548a185694494d9d2750cebab2a02"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"ed1548a185694494d9d2750cebab2a02","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed1548a185694494d9d2750cebab2a02"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.9204,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ed1548a185694494d9d2750cebab2a02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ed1548a185694494d9d2750cebab2a02","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.737834380Z"}]},"request_id":"630bc653-e946-4d45-9f7d-0b4b7a538f22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.4384375} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"ed1548a185694494d9d2750cebab2a02","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed1548a185694494d9d2750cebab2a02"} device-1 | {"level":"info","message":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? 200 41ms","method":"GET","requestID":"ed1548a185694494d9d2750cebab2a02","responseTime":41,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? 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":"ed1548a185694494d9d2750cebab2a02"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw","level":"info","message":"auth send jwt","requestID":"9cef529535b4283dfd08887cd4dd12ef"} authentication-1 | {"level":"info","message":"GET /auth 200 15ms","method":"GET","requestID":"9cef529535b4283dfd08887cd4dd12ef","responseTime":15,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9cef529535b4283dfd08887cd4dd12ef"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.84502,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9cef529535b4283dfd08887cd4dd12ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9cef529535b4283dfd08887cd4dd12ef","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to run experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to book experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully booked experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944927,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.552185381Z"}]},"request_id":"c800b75b-6778-42f6-81e7-fa2c462ea413","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.6268864} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962557,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.737834380Z"}]},"request_id":"507440ae-3afb-42e9-b4fd-5511aea9dab6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.6653328} device-1 | {"level":"info","message":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? 200 53ms","method":"GET","requestID":"694caa50-24e8-11f0-a431-d1fa1ca0a775","responseTime":53,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? 200 46ms","method":"GET","requestID":"694e30f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Setting up experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully set up experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully running experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.19445,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.336429,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69731e10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.737834380Z"}]},"request_id":"50dfa1a8-417b-4cb5-b9b8-47227d447fbe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.8745675} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.552185381Z"}]},"request_id":"94097c22-b493-442d-953d-d03b4d078027","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9054759} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? 200 60ms","method":"GET","requestID":"69714950-24e8-11f0-a431-d1fa1ca0a775","responseTime":60,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b01eb43f-007d-4c1d-b6d7-a37b77e3fc92","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9117296} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":37.918483,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69731e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 71ms","method":"POST","requestID":"69731e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":71,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? 200 99ms","method":"GET","requestID":"6970fb30-24e8-11f0-a431-d1fa1ca0a775","responseTime":99,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69803d70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69731e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/signaling 200 91ms","method":"POST","requestID":"69731e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"698127d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b5ecbd7-d96a-4c6a-917b-bb09032609ac#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b5ecbd7-d96a-4c6a-917b-bb09032609ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"2d732fb7-f1dc-49af-a84d-6bb2c7bd208f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9520612} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c115f13-7d34-4a1b-84f7-8be8ee0aa730","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9526982} authorization-1 | {"level":"info","message":"POST /relations/update 200 98ms","method":"POST","requestID":"9cef529535b4283dfd08887cd4dd12ef","responseTime":98,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed0b648e-e23c-4d8d-826a-d31353ec324b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9637535} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.807142,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69803d70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"69803d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"level":"info","message":"POST /experiments? 201 512ms","method":"POST","requestID":"9cef529535b4283dfd08887cd4dd12ef","responseTime":512,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2e47ead-58d5-40d0-b4c8-dea3530da246","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924106.9943185} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69803d70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.129988,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:06Z"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/signaling 200 50ms","method":"POST","requestID":"69803d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"698127d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"698127d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.539","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9cef529535b4283dfd08887cd4dd12ef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69896530-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwN30.GP-KenpainjQWwVkUTO0RAzS40KitMt61VtLLOr_k8Y","level":"info","message":"auth send jwt","requestID":"be6412cc9989f07fc92cde0430e79bdd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"698127d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling 200 87ms","method":"POST","requestID":"698127d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":87,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"be6412cc9989f07fc92cde0430e79bdd","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be6412cc9989f07fc92cde0430e79bdd"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02da0628-c346-4b1a-9d14-02aa5f1cfaea","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.0469701} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.394989,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69896530-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"69896530-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69896530-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001749,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"be6412cc9989f07fc92cde0430e79bdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924107,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwN30.GP-KenpainjQWwVkUTO0RAzS40KitMt61VtLLOr_k8Y"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling 200 88ms","method":"POST","requestID":"69896530-24e8-11f0-a431-d1fa1ca0a775","responseTime":88,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"be6412cc9989f07fc92cde0430e79bdd","responseTime":37,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.053746,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924106,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwNn0.9ReVCyoS4H_FFuR_ulOfa3XMMudiEbxYR5AqsU23iEw"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.552185381Z"}]},"request_id":"831a47b1-9766-4048-a18b-1b2c86bee634","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.1142952} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Building connection plan","requestID":"9cef529535b4283dfd08887cd4dd12ef"} 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":"77873615-c2fa-4ac6-9c5b-6d77988d1369"},{"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":"363008ee-9eb2-4c15-92ab-316ebc43e5b5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"858aea7a-57ed-470c-9e78-c1cdaca7f679"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9cef529535b4283dfd08887cd4dd12ef"} 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/2f202e04-cce4-4d83-984d-69560d0305af"},{"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/54c9c559-4085-4506-93f0-73053083bce8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9cef529535b4283dfd08887cd4dd12ef"} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"be6412cc9989f07fc92cde0430e79bdd","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be6412cc9989f07fc92cde0430e79bdd"} gateway-1 | {"time_local":"29/Apr/2025:10:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be6412cc9989f07fc92cde0430e79bdd"} device-1 | {"level":"info","message":"GET /devices/54c9c559-4085-4506-93f0-73053083bce8? 200 148ms","method":"GET","requestID":"be6412cc9989f07fc92cde0430e79bdd","responseTime":148,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwN30.GP-KenpainjQWwVkUTO0RAzS40KitMt61VtLLOr_k8Y","level":"info","message":"auth send jwt","requestID":"cd38bab16f79f422098f6e799b69f393"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e66655c4-3239-4de0-a449-15099a1f01ac","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.2041428} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"cd38bab16f79f422098f6e799b69f393","responseTime":11,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd0b4df7-fc48-4374-b74f-6ac6df7c8ee8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.2059016} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cd38bab16f79f422098f6e799b69f393"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916853,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cd38bab16f79f422098f6e799b69f393","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924107,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwN30.GP-KenpainjQWwVkUTO0RAzS40KitMt61VtLLOr_k8Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cd38bab16f79f422098f6e799b69f393","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:02.737834380Z"}]},"request_id":"43121946-43f0-4cf4-90c2-4ad55ddbbab5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.2559574} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"cd38bab16f79f422098f6e799b69f393","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4'","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4'","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 247ms","method":"POST","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":247,"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":"cd38bab16f79f422098f6e799b69f393"} device-1 | {"level":"info","message":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? 200 115ms","method":"GET","requestID":"cd38bab16f79f422098f6e799b69f393","responseTime":115,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f202e04-cce4-4d83-984d-69560d0305af? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd38bab16f79f422098f6e799b69f393"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"6996f9c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","device":"2f202e04-cce4-4d83-984d-69560d0305af","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/f099dc3d-0998-49b6-b613-1547db46fda4","device":"54c9c559-4085-4506-93f0-73053083bce8","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/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9cef529535b4283dfd08887cd4dd12ef"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69d86f90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.100925,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48ba6abf-3479-4ed4-9a1a-85d08e6bcc54","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.5374222} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69d86f90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"69d86f90-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69d86f90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/signaling 200 48ms","method":"POST","requestID":"69d86f90-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"69e037c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:07Z"} device-1 | {"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.011276,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:07Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"acf684fd-4c55-464b-aa25-2b08437322a2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924107.5902684} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"69e037c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"69e037c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"69e037c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling 200 48ms","method":"POST","requestID":"69e037c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8325746781634078309 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:7eU7\r\na=ice-pwd:50fgmwMxVa4tsYuBQ4WgTMcz\r\na=ice-options:trickle\r\na=fingerprint:sha-256 09:AE:1E:ED:0E:F0:6F:EB:35:34:9C:EC:73:F1:DD:FA:DE:68:97:2C:C8:2A:51:3B:34:60:F8:C5:40:BF:47:C1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3499537112523716583 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:KQYK\r\na=ice-pwd:rA0ZeK1DzTQP3R/hxrtmAsZB\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0B:D3:E5:55:CB:E7:ED:E5:7C:EF:94:5E:0B:90:2C:2E:5C:A0:3E:4B:8B:FB:3C:73:51:4E:07:4E:12:79:59:73\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:295469860 1 udp 2113937151 f40d0f8d-6171-42a8-8b17-aed83b0f69a9.local 49630 typ host generation 0 ufrag 7eU7 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4261091852 1 udp 2113937151 0f0de2bb-400b-4c9e-a303-b23f197161c5.local 46984 typ host generation 0 ufrag KQYK network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"54c9c559-4085-4506-93f0-73053083bce8","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/f099dc3d-0998-49b6-b613-1547db46fda4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f099dc3d-0998-49b6-b613-1547db46fda4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc159cfcc97ea8ab635ebe1fd1a80061","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":"cc159cfcc97ea8ab635ebe1fd1a80061","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/2f202e04-cce4-4d83-984d-69560d0305af"},{"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/54c9c559-4085-4506-93f0-73053083bce8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"}}},"level":"info","message":"received a callback","requestID":"cc159cfcc97ea8ab635ebe1fd1a80061"} gateway-1 | {"time_local":"29/Apr/2025:10:55:07 +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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc159cfcc97ea8ab635ebe1fd1a80061"} device-1 | {"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"cc159cfcc97ea8ab635ebe1fd1a80061","responseTime":34,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"2f202e04-cce4-4d83-984d-69560d0305af","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"f099dc3d-0998-49b6-b613-1547db46fda4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f099dc3d-0998-49b6-b613-1547db46fda4","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/f099dc3d-0998-49b6-b613-1547db46fda4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f099dc3d-0998-49b6-b613-1547db46fda4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bacc9eaf9becedc2c1ad2e73be2de9f3","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":"bacc9eaf9becedc2c1ad2e73be2de9f3","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/2f202e04-cce4-4d83-984d-69560d0305af"},{"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/54c9c559-4085-4506-93f0-73053083bce8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"}}},"level":"info","message":"received a callback","requestID":"bacc9eaf9becedc2c1ad2e73be2de9f3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6a20c330-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA","level":"info","message":"auth send jwt","requestID":"8f8b4ee86bf7c791fd35ca77381b6874"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"8f8b4ee86bf7c791fd35ca77381b6874","responseTime":29,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff099dc3d-0998-49b6-b613-1547db46fda4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"919298a3-dc65-46d9-80ee-121174cfb08c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.008398} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"8f8b4ee86bf7c791fd35ca77381b6874"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":6.585593,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a20c330-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","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 12ms","method":"POST","requestID":"6a20c330-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":6.020549,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8f8b4ee86bf7c791fd35ca77381b6874","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924108,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8f8b4ee86bf7c791fd35ca77381b6874","responseTime":11,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"8f8b4ee86bf7c791fd35ca77381b6874"} experiment-1 | {"level":"info","message":"GET /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac 200 50ms","method":"GET","requestID":"8f8b4ee86bf7c791fd35ca77381b6874","responseTime":50,"status":200,"url":"/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"} gateway-1 | {"time_local":"29/Apr/2025:10:55:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f8b4ee86bf7c791fd35ca77381b6874"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6a20c330-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4 200 103ms","method":"GET","requestID":"6a20c330-24e8-11f0-a431-d1fa1ca0a775","responseTime":103,"status":200,"url":"/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 202ms","method":"POST","requestID":"bacc9eaf9becedc2c1ad2e73be2de9f3","responseTime":202,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.207","http_referrer":"","http_user_agent":"node-fetch","requestID":"bacc9eaf9becedc2c1ad2e73be2de9f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA","level":"info","message":"auth send jwt","requestID":"7824c896a51f10e0cff308f1cd10c9f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6a390620-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7824c896a51f10e0cff308f1cd10c9f7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"7824c896a51f10e0cff308f1cd10c9f7"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:57364","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.808517,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.369925,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7824c896a51f10e0cff308f1cd10c9f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924108,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"7824c896a51f10e0cff308f1cd10c9f7","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cda1bcf3-e79b-4c98-9552-e901be218723","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.1964831} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a390620-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"6a390620-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6a390620-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling 200 48ms","method":"POST","requestID":"6a390620-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"7824c896a51f10e0cff308f1cd10c9f7"} experiment-1 | {"level":"info","message":"GET /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac 200 49ms","method":"GET","requestID":"7824c896a51f10e0cff308f1cd10c9f7","responseTime":49,"status":200,"url":"/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6a451410-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:55:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7824c896a51f10e0cff308f1cd10c9f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA","level":"info","message":"auth send jwt","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"035d2cdc-2d7f-463c-ae3f-eae9e009461f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.2536194} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.75456,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a451410-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"6a451410-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.158018,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924108,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6a451410-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/signaling 200 21ms","method":"POST","requestID":"6a451410-24e8-11f0-a431-d1fa1ca0a775","responseTime":21,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Attempting to finish experiment","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.961304,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924108,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","device":"54c9c559-4085-4506-93f0-73053083bce8","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4","device":"2f202e04-cce4-4d83-984d-69560d0305af","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/f099dc3d-0998-49b6-b613-1547db46fda4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f099dc3d-0998-49b6-b613-1547db46fda4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff099dc3d-0998-49b6-b613-1547db46fda4': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff099dc3d-0998-49b6-b613-1547db46fda4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"27b5ed0b-d051-4a43-bb02-b40579a5c1f5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.3912973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c981d93-62df-46ce-ad30-56580376b37f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.3926299} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c8d8fe32c5ffb11795543a11a2f86e7","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":"9c8d8fe32c5ffb11795543a11a2f86e7","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1fea93cee21df61eb6a80a46e7cf60a0","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":"1fea93cee21df61eb6a80a46e7cf60a0","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":"connected","url":"http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af"},{"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/54c9c559-4085-4506-93f0-73053083bce8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"}}},"level":"info","message":"received a callback","requestID":"9c8d8fe32c5ffb11795543a11a2f86e7"} 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/2f202e04-cce4-4d83-984d-69560d0305af"},{"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/54c9c559-4085-4506-93f0-73053083bce8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"}}},"level":"info","message":"received a callback","requestID":"1fea93cee21df61eb6a80a46e7cf60a0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4 204 148ms","method":"DELETE","requestID":"6a4e89f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":148,"status":204,"url":"/peerconnections/f099dc3d-0998-49b6-b613-1547db46fda4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"},"level":"info","message":"Successfully finished experiment","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6a6c2410-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f202e04-cce4-4d83-984d-69560d0305af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"078d6633-8ca2-43bd-8fa0-65ddc84849f5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.5036402} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.642154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a6c2410-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af","object_type":"device","rebac_allow":false,"scope_allow":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":"6a6c2410-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6a6c2410-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling 200 47ms","method":"POST","requestID":"6a6c2410-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/2f202e04-cce4-4d83-984d-69560d0305af/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6a735000-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.163802,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F54c9c559-4085-4506-93f0-73053083bce8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cf6a26c-39f1-49ff-b334-1d237c2e257c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.5501177} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b5ecbd7-d96a-4c6a-917b-bb09032609ac': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b5ecbd7-d96a-4c6a-917b-bb09032609ac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"6956e67f-71ad-4bc2-b038-962a2533bc74","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.5788434} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6a735000-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"6a735000-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cea8017b-02c9-477b-b7b7-29c4c85e3889","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.5802999} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6a735000-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/54c9c559-4085-4506-93f0-73053083bce8/signaling 200 47ms","method":"POST","requestID":"6a735000-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/54c9c559-4085-4506-93f0-73053083bce8/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 98ms","method":"POST","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d","responseTime":98,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} gateway-1 | {"time_local":"29/Apr/2025:10:55:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.575","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d"} experiment-1 | {"level":"info","message":"DELETE /experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac 204 573ms","method":"DELETE","requestID":"9f0f68f0f506c9fdeb4eebd4ddda186d","responseTime":573,"status":204,"url":"/experiments/3b5ecbd7-d96a-4c6a-917b-bb09032609ac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA","level":"info","message":"auth send jwt","requestID":"c27a5ddb4f6d344888813727edabc597"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c27a5ddb4f6d344888813727edabc597"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 443ms","method":"POST","requestID":"9c8d8fe32c5ffb11795543a11a2f86e7","responseTime":443,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"2.691","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":"6142940edb66b90a46b19dd65b002f65"} gateway-1 | {"time_local":"29/Apr/2025:10:55:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"2.547","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":"66141b802ff94e8eb8b22dba64baed80"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:08Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.887907,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:08Z"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.449","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c8d8fe32c5ffb11795543a11a2f86e7"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c27a5ddb4f6d344888813727edabc597","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924108,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOH0.Ek1OnkUowt985eR4rkHO7xQ7GKGRRhhoGR-XYJe5MUA"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/54c9c559-4085-4506-93f0-73053083bce8' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 479ms","method":"POST","requestID":"1fea93cee21df61eb6a80a46e7cf60a0","responseTime":479,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.485","http_referrer":"","http_user_agent":"node-fetch","requestID":"1fea93cee21df61eb6a80a46e7cf60a0"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2f202e04-cce4-4d83-984d-69560d0305af' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c60663f-4e58-4a31-bdbc-e8750b7af443","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.9759743} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e253532-e63d-495c-8464-1b741bef7b18","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924108.9835489} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"66c55989-c1da-42ff-bd23-e29b0bd160b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.0640163} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9870cbde-0664-4244-993c-7f73565e51b7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.065429} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":55,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.063978895Z"}]},"request_id":"e3ad5186-6a03-4eeb-ab9a-af29db77adfe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.0714822} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c27a5ddb4f6d344888813727edabc597"} device-1 | {"level":"info","message":"POST /devices? 201 241ms","method":"POST","requestID":"c27a5ddb4f6d344888813727edabc597","responseTime":241,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.255","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c27a5ddb4f6d344888813727edabc597"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOX0.NaFsaIu1Z5h9z4KxkDDmEE7xQVWVM39vYAvxfxurg3A","level":"info","message":"auth send jwt","requestID":"7d50f3d667fc3cd9dc32df0f28f22200"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7d50f3d667fc3cd9dc32df0f28f22200"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.018712,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d50f3d667fc3cd9dc32df0f28f22200","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924109,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEwOX0.NaFsaIu1Z5h9z4KxkDDmEE7xQVWVM39vYAvxfxurg3A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cc4e25e6-99cf-4cc8-aa29-a370e4fb00f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.217534} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c766660-00ac-4c2d-873f-951b38ed5e3d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.224061} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"003cf3ce-75d8-4cdc-924a-092e3401e41c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.2998054} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d22ef3e-e7e6-4ffd-9670-67e7c0e47521","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.3011909} authorization-1 | {"level":"info","message":"POST /relations/update 200 79ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","responseTime":79,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.299770572Z"}]},"request_id":"24a709dc-dc3f-4781-9a2b-2ffbad1091b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924109.3056881} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7d50f3d667fc3cd9dc32df0f28f22200"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.230","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d50f3d667fc3cd9dc32df0f28f22200"} device-1 | {"level":"info","message":"POST /devices? 201 194ms","method":"POST","requestID":"7d50f3d667fc3cd9dc32df0f28f22200","responseTime":194,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1a48b63ef8cbaa6004eecc1944e938e3","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":"1a48b63ef8cbaa6004eecc1944e938e3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/32d0a352-0995-409d-8f77-f47b9513e090/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":"1a48b63ef8cbaa6004eecc1944e938e3"} device-1 | {"level":"info","message":"OPTIONS /devices/32d0a352-0995-409d-8f77-f47b9513e090/websocket 200 1ms","method":"OPTIONS","requestID":"1a48b63ef8cbaa6004eecc1944e938e3","responseTime":1,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w","level":"info","message":"auth send jwt","requestID":"5ed323f41cfc4b36573286c27d7b9cea"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ed323f41cfc4b36573286c27d7b9cea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5ed323f41cfc4b36573286c27d7b9cea"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.06514,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5ed323f41cfc4b36573286c27d7b9cea","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924112,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5ed323f41cfc4b36573286c27d7b9cea","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5ed323f41cfc4b36573286c27d7b9cea"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/websocket 200 99ms","method":"POST","requestID":"5ed323f41cfc4b36573286c27d7b9cea","responseTime":99,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.104","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":"5ed323f41cfc4b36573286c27d7b9cea"} device-1 | {"level":"info","message":"device 'http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090' connected"} gateway-1 | {"time_local":"29/Apr/2025:10:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.005","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":"1456cf6404063b8abd3f15c8e6ad89c6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1456cf6404063b8abd3f15c8e6ad89c6","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":"1456cf6404063b8abd3f15c8e6ad89c6","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket 200 1ms","method":"OPTIONS","requestID":"1456cf6404063b8abd3f15c8e6ad89c6","responseTime":1,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e56cc380bda66967c4d74e33249e7bc4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w","level":"info","message":"auth send jwt","requestID":"e56cc380bda66967c4d74e33249e7bc4"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"e56cc380bda66967c4d74e33249e7bc4","responseTime":34,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.426255,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e56cc380bda66967c4d74e33249e7bc4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924112,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"e56cc380bda66967c4d74e33249e7bc4","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e56cc380bda66967c4d74e33249e7bc4"} gateway-1 | {"time_local":"29/Apr/2025:10:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.101","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":"e56cc380bda66967c4d74e33249e7bc4"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket 200 118ms","method":"POST","requestID":"e56cc380bda66967c4d74e33249e7bc4","responseTime":118,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"41181929d49aabe3eec795f0d707cd45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w","level":"info","message":"auth send jwt","requestID":"41181929d49aabe3eec795f0d707cd45"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41181929d49aabe3eec795f0d707cd45","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.954008,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"41181929d49aabe3eec795f0d707cd45","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924112,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"41181929d49aabe3eec795f0d707cd45","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.063978895Z"}]},"request_id":"6598562e-1d8a-45b8-9f62-a87ac3fd5ab8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924112.919243} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"41181929d49aabe3eec795f0d707cd45","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"41181929d49aabe3eec795f0d707cd45"} device-1 | {"level":"info","message":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? 200 58ms","method":"GET","requestID":"41181929d49aabe3eec795f0d707cd45","responseTime":58,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41181929d49aabe3eec795f0d707cd45"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w","level":"info","message":"auth send jwt","requestID":"414281ae53336c38d24a29a50de09042"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"414281ae53336c38d24a29a50de09042","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"414281ae53336c38d24a29a50de09042"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017279,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"414281ae53336c38d24a29a50de09042","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924112,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExMn0.O48uVf17e7Sr8Xo9fHHVaizjH4oOHJBbyrrQN5qKc6w"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"414281ae53336c38d24a29a50de09042","responseTime":14,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.299770572Z"}]},"request_id":"dc5078aa-75ae-480d-8ff9-50dd481c1e2c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.0435383} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"414281ae53336c38d24a29a50de09042","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"414281ae53336c38d24a29a50de09042"} gateway-1 | {"time_local":"29/Apr/2025:10:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? 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":"414281ae53336c38d24a29a50de09042"} device-1 | {"level":"info","message":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? 200 99ms","method":"GET","requestID":"414281ae53336c38d24a29a50de09042","responseTime":99,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY","level":"info","message":"auth send jwt","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"233d7771f778343bad873ecfdfc1aa6c"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"233d7771f778343bad873ecfdfc1aa6c","responseTime":9,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.886716,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"233d7771f778343bad873ecfdfc1aa6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"233d7771f778343bad873ecfdfc1aa6c","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to run experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to book experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully booked experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959347,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":27.476177,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.063978895Z"}]},"request_id":"64bb37c9-71ea-471f-8403-12652c4471ec","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.293078} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.299770572Z"}]},"request_id":"dbab4f32-216c-4458-8a2c-6919f9ad83b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.3015091} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? 200 126ms","method":"GET","requestID":"6d3ad470-24e8-11f0-a431-d1fa1ca0a775","responseTime":126,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? 200 126ms","method":"GET","requestID":"6d3b2290-24e8-11f0-a431-d1fa1ca0a775","responseTime":126,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Setting up experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully locked booking for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to update booking for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully updated booking for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully set up experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.050872,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.063978895Z"}]},"request_id":"024f9c7f-0ab1-4950-ba70-dfc1f87d149a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.5716922} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? 200 43ms","method":"GET","requestID":"6d6cb9e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d73e5d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029668,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully running experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d73e5d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"6d73e5d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.069216,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d73e5d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling 200 52ms","method":"POST","requestID":"6d73e5d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e61f5106-6487-48c1-8072-4aaf912837f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.6214027} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.299770572Z"}]},"request_id":"251105ed-c3fd-45d7-9a17-ca575ec9b214","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.6331756} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d7cbf70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","method":"POST","requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.796871,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2343c3b4-026d-4a90-8b94-cd4970e39d95","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.669745} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d7cbf70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","rebac_allow":false,"scope_allow":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":"6d7cbf70-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? 200 107ms","method":"GET","requestID":"6d7370a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":107,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d7cbf70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling 200 75ms","method":"POST","requestID":"6d7cbf70-24e8-11f0-a431-d1fa1ca0a775","responseTime":75,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d885830-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F58afd1fe-62e0-4dd6-b226-d64321e80e47#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F58afd1fe-62e0-4dd6-b226-d64321e80e47","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"ede770fd-8fb6-4ac5-b89f-5e06a2865c85","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.7144895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"287d802b-912f-4260-9fb8-74c28ab61da3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.7174213} experiment-1 | {"data":{"experiment":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"233d7771f778343bad873ecfdfc1aa6c"} gateway-1 | {"time_local":"29/Apr/2025:10:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.722","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 674ms","method":"POST","requestID":"233d7771f778343bad873ecfdfc1aa6c","responseTime":674,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 140ms","method":"POST","requestID":"233d7771f778343bad873ecfdfc1aa6c","responseTime":140,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"021c6187-0012-43eb-a170-63858d5ba31f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.766345} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.629212,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY","level":"info","message":"auth send jwt","requestID":"983b6d52a2805042445973e2c4e61208"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"983b6d52a2805042445973e2c4e61208","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"983b6d52a2805042445973e2c4e61208"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d885830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 76ms","method":"POST","requestID":"6d885830-24e8-11f0-a431-d1fa1ca0a775","responseTime":76,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927957,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"983b6d52a2805042445973e2c4e61208","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"983b6d52a2805042445973e2c4e61208","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d885830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling 200 108ms","method":"POST","requestID":"6d885830-24e8-11f0-a431-d1fa1ca0a775","responseTime":108,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6d994820-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55: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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.063978895Z"}]},"request_id":"44ef6d2b-0c35-4a24-b1ba-543c3f853bdb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.8293333} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"983b6d52a2805042445973e2c4e61208","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"411acf34-f066-49df-9ce7-a5fa3b651c29","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.8317454} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.835924,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6d994820-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","rebac_allow":false,"scope_allow":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":"6d994820-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"983b6d52a2805042445973e2c4e61208"} gateway-1 | {"time_local":"29/Apr/2025:10:55:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"983b6d52a2805042445973e2c4e61208"} device-1 | {"level":"info","message":"GET /devices/32d0a352-0995-409d-8f77-f47b9513e090? 200 55ms","method":"GET","requestID":"983b6d52a2805042445973e2c4e61208","responseTime":55,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY","level":"info","message":"auth send jwt","requestID":"57bbec7cc8837e430b7da5bcd8776459"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57bbec7cc8837e430b7da5bcd8776459","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6d994820-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling 200 51ms","method":"POST","requestID":"6d994820-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Building connection plan","requestID":"233d7771f778343bad873ecfdfc1aa6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"57bbec7cc8837e430b7da5bcd8776459"} 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":"b1bbf936-672a-4bbf-8198-d222625d7dec"},{"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":"c71133f0-23fe-4878-928a-fa0588f78618"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e32c56ec-bca7-4060-a94f-60acf475fea9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"233d7771f778343bad873ecfdfc1aa6c"} 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/32d0a352-0995-409d-8f77-f47b9513e090"},{"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/f8d73765-fb0b-4d62-951f-2e8e531c8f07"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"233d7771f778343bad873ecfdfc1aa6c"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917693,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"57bbec7cc8837e430b7da5bcd8776459","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"57bbec7cc8837e430b7da5bcd8776459","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.895138,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924113,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExM30.Jw_-zMBFRLo7kgQJmWVkpd1rk7WkWeH9wwXIYxXhOvY"} authorization-1 | {"level":"info","message":"POST /authorize 200 64ms","method":"POST","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775","responseTime":64,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:09.299770572Z"}]},"request_id":"f184f008-1a2d-49eb-9289-d9feb1deab66","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924113.9732025} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","method":"POST","requestID":"57bbec7cc8837e430b7da5bcd8776459","responseTime":37,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"57bbec7cc8837e430b7da5bcd8776459"} device-1 | {"level":"info","message":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? 200 145ms","method":"GET","requestID":"57bbec7cc8837e430b7da5bcd8776459","responseTime":145,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57bbec7cc8837e430b7da5bcd8776459"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"7190c30e-1349-487a-9ca4-79eeea382a40","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924114.0511403} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"542f71bf-63a3-4ee2-b538-d4511c6e67b0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924114.054448} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a'","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a'","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 310ms","method":"POST","requestID":"6da55610-24e8-11f0-a431-d1fa1ca0a775","responseTime":310,"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":"6da55610-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"233d7771f778343bad873ecfdfc1aa6c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6de34970-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","device":"32d0a352-0995-409d-8f77-f47b9513e090","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} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ebaa0ef-cf5b-49b1-8932-0e891bae24c8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924114.341435} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.902864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6de34970-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","rebac_allow":false,"scope_allow":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":"6de34970-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","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} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6de34970-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling 200 44ms","method":"POST","requestID":"6de34970-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6dea7560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"87d4c4fb-6115-4086-9459-837c2034f254","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924114.3882215} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.509678,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6dea7560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"6dea7560-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6dea7560-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling 200 43ms","method":"POST","requestID":"6dea7560-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling"} device-1 | {"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 63040457566501868 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:WbQD\r\na=ice-pwd:OC0Kw2oShOur7oyqr3ymd5b5\r\na=ice-options:trickle\r\na=fingerprint:sha-256 3A:06:E7:4E:C0:C3:C9:0C:DE:9F:87:F5:B8:39:A4:B7:68:84:C9:3B:D7:2A:F9:DD:B2:7D:F7:38:4E:12:03:D0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6376610840513984704 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:jzxC\r\na=ice-pwd:Zp1XJVObQCGerYfsuUoRejox\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FC:D3:C1:ED:CE:39:05:68:CA:0D:8D:F8:F7:CD:BB:A5:A8:40:E6:4A:2E:30:4A:09:FD:16:45:D1:8F:14:27:18\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1832839307 1 udp 2113937151 e625dc88-019a-40c2-9e2a-d6b5b1755c61.local 44111 typ host generation 0 ufrag jzxC network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4117122353 1 udp 2113937151 5ebf9af4-3024-45be-8cfb-36ed0f2556cf.local 57832 typ host generation 0 ufrag WbQD network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"32d0a352-0995-409d-8f77-f47b9513e090","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/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","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":"9b511832b92b3cb5c712d45695fb8d44","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":"9b511832b92b3cb5c712d45695fb8d44","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","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":"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/32d0a352-0995-409d-8f77-f47b9513e090"},{"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/f8d73765-fb0b-4d62-951f-2e8e531c8f07"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"}}},"level":"info","message":"received a callback","requestID":"9b511832b92b3cb5c712d45695fb8d44"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"9b511832b92b3cb5c712d45695fb8d44","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.094","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b511832b92b3cb5c712d45695fb8d44"} device-1 | {"device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"26c88347c30255cb8bc64ad9a733cacc","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":"26c88347c30255cb8bc64ad9a733cacc","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/32d0a352-0995-409d-8f77-f47b9513e090"},{"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/f8d73765-fb0b-4d62-951f-2e8e531c8f07"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"}}},"level":"info","message":"received a callback","requestID":"26c88347c30255cb8bc64ad9a733cacc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"6e3a9130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44662764-37d8-4824-b6a4-9ae70bc4f039","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924114.928013} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":41.01683,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6e3a9130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","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 78ms","method":"POST","requestID":"6e3a9130-24e8-11f0-a431-d1fa1ca0a775","responseTime":78,"status":200,"url":"/authorize"} device-1 | {"device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"6e3a9130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a 200 134ms","method":"GET","requestID":"6e3a9130-24e8-11f0-a431-d1fa1ca0a775","responseTime":134,"status":200,"url":"/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"26c88347c30255cb8bc64ad9a733cacc","responseTime":206,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6e578f10-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +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.266","http_referrer":"","http_user_agent":"node-fetch","requestID":"26c88347c30255cb8bc64ad9a733cacc"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83225f89-0f7c-41e2-91d0-16aaa709ff14","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.1057267} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.465255,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6e578f10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","rebac_allow":false,"scope_allow":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":"6e578f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6e578f10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling 200 80ms","method":"POST","requestID":"6e578f10-24e8-11f0-a431-d1fa1ca0a775","responseTime":80,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6e643940-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","requestID":"081782f6fd0cec41d57ccd5caecceff4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs","level":"info","message":"auth send jwt","requestID":"081782f6fd0cec41d57ccd5caecceff4"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"081782f6fd0cec41d57ccd5caecceff4","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.597239,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19b1666e-00b2-46ec-bcb5-098ef8e5efef","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.170579} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6e643940-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"6e643940-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.587446,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"081782f6fd0cec41d57ccd5caecceff4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924115,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"081782f6fd0cec41d57ccd5caecceff4","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6e643940-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling 200 58ms","method":"POST","requestID":"6e643940-24e8-11f0-a431-d1fa1ca0a775","responseTime":58,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","requestID":"081782f6fd0cec41d57ccd5caecceff4"} experiment-1 | {"level":"info","message":"GET /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47 200 55ms","method":"GET","requestID":"081782f6fd0cec41d57ccd5caecceff4","responseTime":55,"status":200,"url":"/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"081782f6fd0cec41d57ccd5caecceff4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs","level":"info","message":"auth send jwt","requestID":"ee28967f881b074c9df1d46959befb91"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ee28967f881b074c9df1d46959befb91","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","requestID":"ee28967f881b074c9df1d46959befb91"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.992019,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ee28967f881b074c9df1d46959befb91","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924115,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ee28967f881b074c9df1d46959befb91","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Attempting to finish experiment","requestID":"ee28967f881b074c9df1d46959befb91"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.02285,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924115,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","device":"32d0a352-0995-409d-8f77-f47b9513e090","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","device":"f8d73765-fb0b-4d62-951f-2e8e531c8f07","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/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3f04445c51d926f1eddbe007a3ffd7fc","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":"3f04445c51d926f1eddbe007a3ffd7fc","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/32d0a352-0995-409d-8f77-f47b9513e090"},{"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/f8d73765-fb0b-4d62-951f-2e8e531c8f07"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"}}},"level":"info","message":"received a callback","requestID":"3f04445c51d926f1eddbe007a3ffd7fc"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"45f39c2bd329b7643c9143eefc9a9647","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":"45f39c2bd329b7643c9143eefc9a9647","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"bf13ec7b-68bc-4711-a17d-5968b7b64a98","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.3592725} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccf353a6-6236-4a07-bfe9-499fd1d9cd4c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.3605998} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/relations/update"} 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/32d0a352-0995-409d-8f77-f47b9513e090"},{"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/f8d73765-fb0b-4d62-951f-2e8e531c8f07"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"}}},"level":"info","message":"received a callback","requestID":"45f39c2bd329b7643c9143eefc9a9647"} device-1 | {"data":{"peerconnection":"1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a 204 147ms","method":"DELETE","requestID":"6e79bd10-24e8-11f0-a431-d1fa1ca0a775","responseTime":147,"status":204,"url":"/peerconnections/1a9d84d6-8cc6-4bf7-b7b5-b3d06b70045a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"},"level":"info","message":"Successfully finished experiment","requestID":"ee28967f881b074c9df1d46959befb91"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6e98ddd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.715864,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F32d0a352-0995-409d-8f77-f47b9513e090","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8a6b7d4-626a-4534-888e-425a903891ff","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.5114655} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6e98ddd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"6e98ddd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6e98ddd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling 200 57ms","method":"POST","requestID":"6e98ddd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":57,"status":200,"url":"/devices/32d0a352-0995-409d-8f77-f47b9513e090/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"6ea5d620-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F58afd1fe-62e0-4dd6-b226-d64321e80e47': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F58afd1fe-62e0-4dd6-b226-d64321e80e47","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"daf0fff7-6b0d-4435-803f-b46ded708a27","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.5600893} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15308e96-af65-4d80-94cd-424decf26536","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.5858994} authorization-1 | {"level":"info","message":"POST /relations/update 200 92ms","method":"POST","requestID":"ee28967f881b074c9df1d46959befb91","responseTime":92,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.572302,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8d73765-fb0b-4d62-951f-2e8e531c8f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5795bc2a-b289-46bd-94d2-af5654ee66f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.5953026} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6ea5d620-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"6ea5d620-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"6ea5d620-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling 200 52ms","method":"POST","requestID":"6ea5d620-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47","requestID":"ee28967f881b074c9df1d46959befb91"} experiment-1 | {"level":"info","message":"DELETE /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47 204 535ms","method":"DELETE","requestID":"ee28967f881b074c9df1d46959befb91","responseTime":535,"status":204,"url":"/experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/58afd1fe-62e0-4dd6-b226-d64321e80e47 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.538","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee28967f881b074c9df1d46959befb91"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"2.970","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":"3ef6a6e6ac294ea4bb47b6e1f7a907ca"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +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.476","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f04445c51d926f1eddbe007a3ffd7fc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 470ms","method":"POST","requestID":"3f04445c51d926f1eddbe007a3ffd7fc","responseTime":470,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 484ms","method":"POST","requestID":"45f39c2bd329b7643c9143eefc9a9647","responseTime":484,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +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.489","http_referrer":"","http_user_agent":"node-fetch","requestID":"45f39c2bd329b7643c9143eefc9a9647"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs","level":"info","message":"auth send jwt","requestID":"e47f176a5ec412665af10acfc36a6e07"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"e47f176a5ec412665af10acfc36a6e07","responseTime":29,"status":200,"url":"/auth"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f8d73765-fb0b-4d62-951f-2e8e531c8f07' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"e47f176a5ec412665af10acfc36a6e07"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.931608,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e47f176a5ec412665af10acfc36a6e07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924115,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"3.272","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":"413cca7283d418b200065cbf10aff920"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/32d0a352-0995-409d-8f77-f47b9513e090' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c9ba8fc6-e407-40f7-b00e-91e2383530fc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.9279962} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"166b93c6-64a3-4fa9-960f-761e723f72ae","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.9350924} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e4fc8a83-9abd-4f4a-8159-b954a443cc4d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.9716017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a389920-5f0b-402f-99f4-cf9d16effaf1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.9718375} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:15.971570940Z"}]},"request_id":"cdfbd228-7d08-4d02-b3ea-4685ed28a5ff","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924115.9773982} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e47f176a5ec412665af10acfc36a6e07"} device-1 | {"level":"info","message":"POST /devices? 201 105ms","method":"POST","requestID":"e47f176a5ec412665af10acfc36a6e07","responseTime":105,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e47f176a5ec412665af10acfc36a6e07"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs","level":"info","message":"auth send jwt","requestID":"b7fa935a2566bd17405b37f50a1b5dff"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b7fa935a2566bd17405b37f50a1b5dff","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b7fa935a2566bd17405b37f50a1b5dff"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:15Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.411447,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b7fa935a2566bd17405b37f50a1b5dff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924115,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExNX0.13g1fjjYftn62yKTLAWRwXejGQoB4yN1QwEfSPI7SGs"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a21d05fa-0fbe-4831-90f9-363499c747cc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924116.0725913} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb137d2a-0ed2-46d5-ad6e-f2362140b053","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924116.0791194} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"f9687312-4ad1-4ff9-b2c7-dc464b0ae2b8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924116.125074} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b074128-6b99-424a-8028-ad3ce457a5f2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924116.1258986} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","responseTime":47,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"7de68a81-5a49-4a51-a65c-37736df87445","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924116.1327024} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b7fa935a2566bd17405b37f50a1b5dff"} device-1 | {"level":"info","message":"POST /devices? 201 147ms","method":"POST","requestID":"b7fa935a2566bd17405b37f50a1b5dff","responseTime":147,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.151","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7fa935a2566bd17405b37f50a1b5dff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOH0.j-CCZc5_1sNC7d61Yva-PrUuk2FJZ_P6LT7AX2b43Gw","level":"info","message":"auth send jwt","requestID":"01798487c9d06ae58ecab9eb5a70549b"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"01798487c9d06ae58ecab9eb5a70549b","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"01798487c9d06ae58ecab9eb5a70549b"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.147172,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"01798487c9d06ae58ecab9eb5a70549b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924118,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOH0.j-CCZc5_1sNC7d61Yva-PrUuk2FJZ_P6LT7AX2b43Gw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"01798487c9d06ae58ecab9eb5a70549b","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"bf308ba1-ce4d-4986-a15b-9e6a0e49c63b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924118.3393188} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01798487c9d06ae58ecab9eb5a70549b","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47358249-2708-4fab-a53d-6a7700b09123","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924118.3700135} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"01798487c9d06ae58ecab9eb5a70549b","responseTime":29,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"9351a5a5-cf19-427e-81de-d940eb419227","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924118.4282057} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01798487c9d06ae58ecab9eb5a70549b","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.184","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"01798487c9d06ae58ecab9eb5a70549b"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"01798487c9d06ae58ecab9eb5a70549b"} device-1 | {"level":"info","message":"PATCH /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2 200 154ms","method":"PATCH","requestID":"01798487c9d06ae58ecab9eb5a70549b","responseTime":154,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOH0.j-CCZc5_1sNC7d61Yva-PrUuk2FJZ_P6LT7AX2b43Gw","level":"info","message":"auth send jwt","requestID":"859fa786c4a157335f602619d703037f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"859fa786c4a157335f602619d703037f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"859fa786c4a157335f602619d703037f"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:18Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854639,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"859fa786c4a157335f602619d703037f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924118,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOH0.j-CCZc5_1sNC7d61Yva-PrUuk2FJZ_P6LT7AX2b43Gw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"859fa786c4a157335f602619d703037f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"859fa786c4a157335f602619d703037f"} gateway-1 | {"time_local":"29/Apr/2025:10:55:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"859fa786c4a157335f602619d703037f"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/websocket 200 57ms","method":"POST","requestID":"859fa786c4a157335f602619d703037f","responseTime":57,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ee223933bf37e593368bd51ec3298917","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":"ee223933bf37e593368bd51ec3298917","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea17fd29-bbfd-4476-a291-1a5815019850/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":"ee223933bf37e593368bd51ec3298917"} device-1 | {"level":"info","message":"OPTIONS /devices/ea17fd29-bbfd-4476-a291-1a5815019850/websocket 200 1ms","method":"OPTIONS","requestID":"ee223933bf37e593368bd51ec3298917","responseTime":1,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc","level":"info","message":"auth send jwt","requestID":"11455049bfb480915044f851ab1f6551"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"11455049bfb480915044f851ab1f6551","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"11455049bfb480915044f851ab1f6551"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.298401,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"11455049bfb480915044f851ab1f6551","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"11455049bfb480915044f851ab1f6551","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"11455049bfb480915044f851ab1f6551"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/websocket 200 83ms","method":"POST","requestID":"11455049bfb480915044f851ab1f6551","responseTime":83,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.088","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":"11455049bfb480915044f851ab1f6551"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc","level":"info","message":"auth send jwt","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958354,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:15.971570940Z"}]},"request_id":"45101546-458b-4262-8239-98dd21cba5e9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924119.5862427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d"} device-1 | {"level":"info","message":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? 200 16ms","method":"GET","requestID":"d4917bb81e2b8d4df8d7b469e2bdcb1d","responseTime":16,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? 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":"d4917bb81e2b8d4df8d7b469e2bdcb1d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc","level":"info","message":"auth send jwt","requestID":"f636b31798e6aa9da4cad3062a51d071"} authentication-1 | {"level":"info","message":"GET /auth 200 48ms","method":"GET","requestID":"f636b31798e6aa9da4cad3062a51d071","responseTime":48,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f636b31798e6aa9da4cad3062a51d071"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016172,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f636b31798e6aa9da4cad3062a51d071","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f636b31798e6aa9da4cad3062a51d071","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"ff4e3db3-37aa-4090-831f-8137e035eb28","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924119.6761947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f636b31798e6aa9da4cad3062a51d071","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f636b31798e6aa9da4cad3062a51d071"} device-1 | {"level":"info","message":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? 200 13ms","method":"GET","requestID":"f636b31798e6aa9da4cad3062a51d071","responseTime":13,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f636b31798e6aa9da4cad3062a51d071"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc","level":"info","message":"auth send jwt","requestID":"38713da58028524efd40b6b8c315d5db"} authentication-1 | {"level":"info","message":"GET /auth 200 40ms","method":"GET","requestID":"38713da58028524efd40b6b8c315d5db","responseTime":40,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"38713da58028524efd40b6b8c315d5db"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.774277,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"38713da58028524efd40b6b8c315d5db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"38713da58028524efd40b6b8c315d5db","responseTime":34,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to run experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to book experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully booked experiment","requestID":"38713da58028524efd40b6b8c315d5db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838581,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94214,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"e112d3f2-e4fc-4353-91ec-ceaaa56b6600","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924119.9066737} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:15.971570940Z"}]},"request_id":"17dd15a1-62fe-4b1d-a033-fc1d76c166d1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924119.908065} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? 200 55ms","method":"GET","requestID":"713337c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":55,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Setting up experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} device-1 | {"level":"info","message":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? 200 91ms","method":"GET","requestID":"71324d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully set up experiment","requestID":"38713da58028524efd40b6b8c315d5db"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"715f77e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971096,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058041,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully running experiment","requestID":"38713da58028524efd40b6b8c315d5db"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.268062,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0123afe5-7de5-4443-85ef-3061ccc59646","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.197178} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"715f77e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","rebac_allow":false,"scope_allow":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":"715f77e0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:15.971570940Z"}]},"request_id":"dee8956c-cc71-409d-9cac-e6490dae68b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.2026927} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"715f77e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling 200 50ms","method":"POST","requestID":"715f77e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"b8d6aad5-144f-4d8b-b442-41f2ab4e84ec","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.208301} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71678e30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.641401,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61d85663-9dbc-4b2f-833f-c929ad45b69a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.2178905} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71678e30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"71678e30-24e8-11f0-a431-d1fa1ca0a775","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1996c86-ab5e-4672-8b69-48945873d04a#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1996c86-ab5e-4672-8b69-48945873d04a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e2b33dd7-47a5-4bca-acf8-69bbdb1e2291","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.2441745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ce25164-d238-4e07-b9de-e794a3badc0c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.244517} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"38713da58028524efd40b6b8c315d5db","responseTime":53,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? 200 98ms","method":"GET","requestID":"715edba0-24e8-11f0-a431-d1fa1ca0a775","responseTime":98,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? 200 98ms","method":"GET","requestID":"715f02b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":98,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71678e30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling 200 45ms","method":"POST","requestID":"71678e30-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"716ee130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd56ccfe-5bcb-4620-bd51-eb4bf08c6d29","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.2897015} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.547497,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"716ee130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"716ee130-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"716ee130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling 200 42ms","method":"POST","requestID":"716ee130-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7175e610-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"level":"info","message":"POST /experiments? 201 578ms","method":"POST","requestID":"38713da58028524efd40b6b8c315d5db","responseTime":578,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.620","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38713da58028524efd40b6b8c315d5db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyMH0.fbmAmZvAE9GXoOqrwqfB7sZWD5CcYyeWucWEAvKUCOo","level":"info","message":"auth send jwt","requestID":"3c48b2081450a67b394c1b633618be5d"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"3c48b2081450a67b394c1b633618be5d","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3c48b2081450a67b394c1b633618be5d"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"245ebc2f-afd4-4c6f-84e0-22ca45b08b8e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.344801} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.457733,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7175e610-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","rebac_allow":false,"scope_allow":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":"7175e610-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7175e610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling 200 54ms","method":"POST","requestID":"7175e610-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Building connection plan","requestID":"38713da58028524efd40b6b8c315d5db"} 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":"96b93d5d-4ab3-453f-a469-01c3c23c096f"},{"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":"9c97b9be-8883-4c24-989e-e8b334ab37de"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0e7ed49e-4901-44b8-b431-c8615915e44e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"38713da58028524efd40b6b8c315d5db"} 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/ea17fd29-bbfd-4476-a291-1a5815019850"},{"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/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"38713da58028524efd40b6b8c315d5db"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3c48b2081450a67b394c1b633618be5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924120,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyMH0.fbmAmZvAE9GXoOqrwqfB7sZWD5CcYyeWucWEAvKUCOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"3c48b2081450a67b394c1b633618be5d","responseTime":38,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.961118,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924119,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDExOX0.-QzTSgwPahQylrtxEP2PZslN34clD42VBP7LCIQa8tc"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:15.971570940Z"}]},"request_id":"12d913b0-d757-44ba-a4fc-01a40ab9c9e0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.4002078} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","method":"POST","requestID":"3c48b2081450a67b394c1b633618be5d","responseTime":38,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3c48b2081450a67b394c1b633618be5d"} device-1 | {"level":"info","message":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? 200 99ms","method":"GET","requestID":"3c48b2081450a67b394c1b633618be5d","responseTime":99,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea17fd29-bbfd-4476-a291-1a5815019850? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c48b2081450a67b394c1b633618be5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyMH0.fbmAmZvAE9GXoOqrwqfB7sZWD5CcYyeWucWEAvKUCOo","level":"info","message":"auth send jwt","requestID":"f86fb7c3591da856e9f9170b4d141542"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f86fb7c3591da856e9f9170b4d141542"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f86fb7c3591da856e9f9170b4d141542","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948137,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f86fb7c3591da856e9f9170b4d141542","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924120,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyMH0.fbmAmZvAE9GXoOqrwqfB7sZWD5CcYyeWucWEAvKUCOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 77ms","method":"POST","requestID":"f86fb7c3591da856e9f9170b4d141542","responseTime":77,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"86cddcae-7077-4a7e-b33b-15417df7a661","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.4904146} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b466f634-5d74-44e9-af21-97b002bfe423","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.4921036} authorization-1 | {"level":"info","message":"POST /relations/update 200 101ms","method":"POST","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:16.125040748Z"}]},"request_id":"fb9ba685-1a73-45fd-963b-fff5b6950258","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.544888} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f86fb7c3591da856e9f9170b4d141542","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57'","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57'","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 238ms","method":"POST","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775","responseTime":238,"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":"f86fb7c3591da856e9f9170b4d141542"} gateway-1 | {"time_local":"29/Apr/2025:10:55:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f86fb7c3591da856e9f9170b4d141542"} device-1 | {"level":"info","message":"GET /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2? 200 179ms","method":"GET","requestID":"f86fb7c3591da856e9f9170b4d141542","responseTime":179,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"71830570-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","device":"ea17fd29-bbfd-4476-a291-1a5815019850","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/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"38713da58028524efd40b6b8c315d5db"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71bd2840-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016832,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dacb45d8-a1a3-4d33-83a9-74f0e88af2f4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.780323} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71bd2840-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","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 | {"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71bd2840-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling 200 22ms","method":"POST","requestID":"71bd2840-24e8-11f0-a431-d1fa1ca0a775","responseTime":22,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"71c4a250-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"71bd2840-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41ee3c82-a0e2-45da-9242-0b1359f568bc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924120.8337817} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.536894,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"71c4a250-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","rebac_allow":false,"scope_allow":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":"71c4a250-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"71c4a250-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling 200 46ms","method":"POST","requestID":"71c4a250-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling"} device-1 | {"device":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"c936180c-cf17-433c-8df6-ea31347fdc57","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4261724328161287091 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:fw1j\r\na=ice-pwd:lE7iYC38Q3Tkgs9HJcyeAWGv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 28:09:49:9F:23:9B:6C:81:8E:97:DB:42:44:E4:B8:22:FD:26:AC:C9:58:54:E0:9E:1D:B1:D6:3E:55:99:1D:5F\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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/c936180c-cf17-433c-8df6-ea31347fdc57' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c936180c-cf17-433c-8df6-ea31347fdc57","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"candidate":"candidate:878791349 1 udp 2113937151 bfec041c-2bfc-4a7d-b6d3-7d3ce793c607.local 53383 typ host generation 0 ufrag fw1j network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ada54d233d5ee381c42ee7b73380531f","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":"ada54d233d5ee381c42ee7b73380531f","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":"new","url":"http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850"},{"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/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"}}},"level":"info","message":"received a callback","requestID":"ada54d233d5ee381c42ee7b73380531f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"ada54d233d5ee381c42ee7b73380531f","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.021","http_referrer":"","http_user_agent":"node-fetch","requestID":"ada54d233d5ee381c42ee7b73380531f"} device-1 | {"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"c936180c-cf17-433c-8df6-ea31347fdc57","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"c936180c-cf17-433c-8df6-ea31347fdc57","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU","level":"info","message":"auth send jwt","requestID":"572d91512f7b653d571ba3f54062a909"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"572d91512f7b653d571ba3f54062a909"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.949068,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"572d91512f7b653d571ba3f54062a909","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924123,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"572d91512f7b653d571ba3f54062a909","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 45ms","method":"GET","requestID":"572d91512f7b653d571ba3f54062a909","responseTime":45,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"572d91512f7b653d571ba3f54062a909"} gateway-1 | {"time_local":"29/Apr/2025:10:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"572d91512f7b653d571ba3f54062a909"} experiment-1 | {"level":"info","message":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a 200 41ms","method":"GET","requestID":"572d91512f7b653d571ba3f54062a909","responseTime":41,"status":200,"url":"/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c936180c-cf17-433c-8df6-ea31347fdc57","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":[{"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/ea17fd29-bbfd-4476-a291-1a5815019850"},{"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/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"}}},"level":"info","message":"received a callback","requestID":"5e3d9aea1a13178dc4323d5416cc1493"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5e3d9aea1a13178dc4323d5416cc1493","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":"5e3d9aea1a13178dc4323d5416cc1493","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU","level":"info","message":"auth send jwt","requestID":"907b615a75accb1717d32642c923a1c8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"907b615a75accb1717d32642c923a1c8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"907b615a75accb1717d32642c923a1c8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"732da830-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:34610","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":28.875746,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc936180c-cf17-433c-8df6-ea31347fdc57","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82beeef7-dcb6-4938-bb35-69458d1f8361","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.2176182} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"732da830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","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 38ms","method":"POST","requestID":"732da830-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.156303,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"907b615a75accb1717d32642c923a1c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924123,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"732da830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57 200 48ms","method":"GET","requestID":"732da830-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"907b615a75accb1717d32642c923a1c8","responseTime":15,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"907b615a75accb1717d32642c923a1c8"} gateway-1 | {"time_local":"29/Apr/2025:10:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"907b615a75accb1717d32642c923a1c8"} experiment-1 | {"level":"info","message":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a 200 90ms","method":"GET","requestID":"907b615a75accb1717d32642c923a1c8","responseTime":90,"status":200,"url":"/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"} gateway-1 | {"time_local":"29/Apr/2025:10:55:23 +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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"5e3d9aea1a13178dc4323d5416cc1493"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"5e3d9aea1a13178dc4323d5416cc1493","responseTime":145,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7342b6d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f4a3040-4254-49a0-9bc1-ba36dca4dccc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.3356998} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.34557,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7342b6d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","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 succeeded","requestID":"7342b6d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling 200 47ms","method":"POST","requestID":"7342b6d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"734a57f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"7342b6d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU","level":"info","message":"auth send jwt","requestID":"8f176da641cb055be87b8cd04e4f3710"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f176da641cb055be87b8cd04e4f3710","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"8f176da641cb055be87b8cd04e4f3710"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.197125,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c5c40c9-5931-4cbc-b9f7-4ac5da2a310f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.3816166} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"734a57f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","rebac_allow":false,"scope_allow":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":"734a57f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.980154,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8f176da641cb055be87b8cd04e4f3710","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924123,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8f176da641cb055be87b8cd04e4f3710","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"8f176da641cb055be87b8cd04e4f3710"} gateway-1 | {"time_local":"29/Apr/2025:10:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f176da641cb055be87b8cd04e4f3710"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"734a57f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling 200 54ms","method":"POST","requestID":"734a57f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU","level":"info","message":"auth send jwt","requestID":"10c773b137865188b9b1222c903f3dda"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"10c773b137865188b9b1222c903f3dda","responseTime":29,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"GET /experiments/b1996c86-ab5e-4672-8b69-48945873d04a 200 76ms","method":"GET","requestID":"8f176da641cb055be87b8cd04e4f3710","responseTime":76,"status":200,"url":"/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"10c773b137865188b9b1222c903f3dda"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.910836,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"10c773b137865188b9b1222c903f3dda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924123,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"10c773b137865188b9b1222c903f3dda","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Attempting to finish experiment","requestID":"10c773b137865188b9b1222c903f3dda"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.939459,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924123,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyM30.F68g9RWq1QBeT_oZL5yx8P_fZ3cw1k5bKBi7lo2shIU"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57","device":"ea17fd29-bbfd-4476-a291-1a5815019850","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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":"57eb386c-50bd-4da9-adaf-377e3ff5b7f2","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/c936180c-cf17-433c-8df6-ea31347fdc57' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c936180c-cf17-433c-8df6-ea31347fdc57","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc936180c-cf17-433c-8df6-ea31347fdc57': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc936180c-cf17-433c-8df6-ea31347fdc57","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"bc92324e-efe6-4f99-a1b4-229fa167541f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.6139536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"736d36ab-7d0b-4cc8-bdf8-26b08260a359","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.6151662} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e8313cd98821f28b0dfea4cbc4728259","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":"e8313cd98821f28b0dfea4cbc4728259","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/ea17fd29-bbfd-4476-a291-1a5815019850"},{"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/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"}}},"level":"info","message":"received a callback","requestID":"e8313cd98821f28b0dfea4cbc4728259"} 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":"connected","url":"http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850"},{"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/57eb386c-50bd-4da9-adaf-377e3ff5b7f2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"}}},"level":"info","message":"received a callback","requestID":"0ccf77e00b0393c334add6f0821370ca"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57 204 133ms","method":"DELETE","requestID":"7360ed30-24e8-11f0-a431-d1fa1ca0a775","responseTime":133,"status":204,"url":"/peerconnections/c936180c-cf17-433c-8df6-ea31347fdc57"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0ccf77e00b0393c334add6f0821370ca","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":"0ccf77e00b0393c334add6f0821370ca","responseTime":1,"status":200,"url":"/auth"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"},"level":"info","message":"Successfully finished experiment","requestID":"10c773b137865188b9b1222c903f3dda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"737d75e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016853,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea17fd29-bbfd-4476-a291-1a5815019850","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71cfbb50-0a48-4d7a-8f53-0d9956f45b16","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.7159097} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"737d75e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850","object_type":"device","rebac_allow":false,"scope_allow":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":"737d75e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"737d75e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling 200 42ms","method":"POST","requestID":"737d75e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/ea17fd29-bbfd-4476-a291-1a5815019850/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"73842ca0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F57eb386c-50bd-4da9-adaf-377e3ff5b7f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85ae09db-359c-4d76-aadc-fc8c634197c1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.7602916} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.190559,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"73842ca0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2","object_type":"device","rebac_allow":false,"scope_allow":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":"73842ca0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1996c86-ab5e-4672-8b69-48945873d04a': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1996c86-ab5e-4672-8b69-48945873d04a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"c3830e7b-4e0e-4539-9ae3-2a3d9e34c7e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.768663} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b7bd6d46-5d31-48c8-8fca-a2df2187f902","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924123.7936752} authorization-1 | {"level":"info","message":"POST /relations/update 200 88ms","method":"POST","requestID":"10c773b137865188b9b1222c903f3dda","responseTime":88,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"73842ca0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling 200 46ms","method":"POST","requestID":"73842ca0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b1996c86-ab5e-4672-8b69-48945873d04a","requestID":"10c773b137865188b9b1222c903f3dda"} experiment-1 | {"level":"info","message":"DELETE /experiments/b1996c86-ab5e-4672-8b69-48945873d04a 204 490ms","method":"DELETE","requestID":"10c773b137865188b9b1222c903f3dda","responseTime":490,"status":204,"url":"/experiments/b1996c86-ab5e-4672-8b69-48945873d04a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 335ms","method":"POST","requestID":"e8313cd98821f28b0dfea4cbc4728259","responseTime":335,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 301ms","method":"POST","requestID":"0ccf77e00b0393c334add6f0821370ca","responseTime":301,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b1996c86-ab5e-4672-8b69-48945873d04a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.523","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"10c773b137865188b9b1222c903f3dda"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +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.417","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8313cd98821f28b0dfea4cbc4728259"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +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.382","http_referrer":"","http_user_agent":"node-fetch","requestID":"0ccf77e00b0393c334add6f0821370ca"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"4.544","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":"2de38913d4103496f1453c8db88002e8"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"5.508","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8e662bb47ead5a503279f8db6ee7b668"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNH0.lVxvk3sj3crc5kmrmU4azLOlLb2akK6BNOo4ndPCFFQ","level":"info","message":"auth send jwt","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd"} authentication-1 | {"level":"info","message":"GET /auth 200 15ms","method":"GET","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":15,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:24Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950456,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924124,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNH0.lVxvk3sj3crc5kmrmU4azLOlLb2akK6BNOo4ndPCFFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ea17fd29-bbfd-4476-a291-1a5815019850' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/57eb386c-50bd-4da9-adaf-377e3ff5b7f2' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e08b0903-87b1-47e8-9448-69c3c215ea80","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.1830845} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"462603ec-e924-4501-a35a-63c11dc0eb4a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.193284} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"24e1ad50-eb74-49f3-9f78-5dfa14ec9edb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.248954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e94e48e8-89c4-4849-9c90-ea062627c4d1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.2505398} authorization-1 | {"level":"info","message":"POST /relations/update 200 88ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":88,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.248918624Z"}]},"request_id":"25c9bb71-c262-4419-8fe8-23dc109f53a9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.2932487} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd"} device-1 | {"level":"info","message":"POST /devices? 201 273ms","method":"POST","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd","responseTime":273,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.290","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c07beca52e6cf1a1f0d49a11f2f97fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNH0.lVxvk3sj3crc5kmrmU4azLOlLb2akK6BNOo4ndPCFFQ","level":"info","message":"auth send jwt","requestID":"0ac66b72485b2136a05c9c4d5010c5a4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0ac66b72485b2136a05c9c4d5010c5a4"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:24Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.172356,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0ac66b72485b2136a05c9c4d5010c5a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924124,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNH0.lVxvk3sj3crc5kmrmU4azLOlLb2akK6BNOo4ndPCFFQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":42,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"07939f89-37a9-4773-917f-e6233c9fb7a3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.4734194} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aa28d29-b44a-4947-9551-ca541ccb05b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.479899} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0930e2dd-fca6-4f66-9693-b2968b947e17","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.5206954} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3374364a-6725-4448-be83-b53a3203956b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.5223017} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":46,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"333ac41d-3567-4ebd-a5b6-77f594834e50","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924124.5300405} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0ac66b72485b2136a05c9c4d5010c5a4"} device-1 | {"level":"info","message":"POST /devices? 201 198ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":198,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ac66b72485b2136a05c9c4d5010c5a4"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"0ac66b72485b2136a05c9c4d5010c5a4","responseTime":6,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNn0.RX_tB4tktFE2cnQGNvM_zJn6U9qtOi-VcCly9V_o72M","level":"info","message":"auth send jwt","requestID":"545a448858a529b1bfd5d874e91966ec"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"545a448858a529b1bfd5d874e91966ec"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098252,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"545a448858a529b1bfd5d874e91966ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924126,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNn0.RX_tB4tktFE2cnQGNvM_zJn6U9qtOi-VcCly9V_o72M"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":32,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"d7aef170-65e6-42a3-9262-06196c8770e4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924126.6453907} authorization-1 | {"level":"info","message":"POST /relations/query 200 35ms","method":"POST","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":35,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04480e74-06fa-4f70-baa9-3a5ab53dc6ee","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924126.682609} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":5,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"bb9f0e52-dbce-4e5d-99b5-ea229bd27597","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924126.7732313} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":4,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.190","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"545a448858a529b1bfd5d874e91966ec"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"545a448858a529b1bfd5d874e91966ec"} device-1 | {"level":"info","message":"PATCH /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5 200 184ms","method":"PATCH","requestID":"545a448858a529b1bfd5d874e91966ec","responseTime":184,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNn0.RX_tB4tktFE2cnQGNvM_zJn6U9qtOi-VcCly9V_o72M","level":"info","message":"auth send jwt","requestID":"c250ac0b9c28ca63726382a142a14dc1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c250ac0b9c28ca63726382a142a14dc1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c250ac0b9c28ca63726382a142a14dc1"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.397903,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c250ac0b9c28ca63726382a142a14dc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924126,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyNn0.RX_tB4tktFE2cnQGNvM_zJn6U9qtOi-VcCly9V_o72M"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c250ac0b9c28ca63726382a142a14dc1","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c250ac0b9c28ca63726382a142a14dc1"} gateway-1 | {"time_local":"29/Apr/2025:10:55:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.101","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"c250ac0b9c28ca63726382a142a14dc1"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/websocket 200 99ms","method":"POST","requestID":"c250ac0b9c28ca63726382a142a14dc1","responseTime":99,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4e4ec79620195e07fa2ab9266d94879","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":"b4e4ec79620195e07fa2ab9266d94879","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/293e3110-b779-43e0-9bad-4925b0f2843b/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":"b4e4ec79620195e07fa2ab9266d94879"} device-1 | {"level":"info","message":"OPTIONS /devices/293e3110-b779-43e0-9bad-4925b0f2843b/websocket 200 1ms","method":"OPTIONS","requestID":"b4e4ec79620195e07fa2ab9266d94879","responseTime":1,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884064,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"065c8dd7efa20fc47c1b65ce87f52e6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/websocket 200 60ms","method":"POST","requestID":"065c8dd7efa20fc47c1b65ce87f52e6e","responseTime":60,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.090","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":"065c8dd7efa20fc47c1b65ce87f52e6e"} device-1 | {"level":"info","message":"device 'http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"ec470c81f07373001d0f7a35989e8c74"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ec470c81f07373001d0f7a35989e8c74","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ec470c81f07373001d0f7a35989e8c74"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984177,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ec470c81f07373001d0f7a35989e8c74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ec470c81f07373001d0f7a35989e8c74","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.248918624Z"}]},"request_id":"8c2325f3-db0b-4b47-afdf-337fec898f5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.2674139} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"ec470c81f07373001d0f7a35989e8c74","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ec470c81f07373001d0f7a35989e8c74"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec470c81f07373001d0f7a35989e8c74"} device-1 | {"level":"info","message":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? 200 46ms","method":"GET","requestID":"ec470c81f07373001d0f7a35989e8c74","responseTime":46,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"184b0e9ed07d857cfb0a90585867cac4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"184b0e9ed07d857cfb0a90585867cac4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"184b0e9ed07d857cfb0a90585867cac4"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847392,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"184b0e9ed07d857cfb0a90585867cac4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"184b0e9ed07d857cfb0a90585867cac4","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"b48a106c-a660-4e7b-8b2a-0783c7c9c457","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.3250968} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"184b0e9ed07d857cfb0a90585867cac4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"184b0e9ed07d857cfb0a90585867cac4"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"184b0e9ed07d857cfb0a90585867cac4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? 200 51ms","method":"GET","requestID":"184b0e9ed07d857cfb0a90585867cac4","responseTime":51,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5?"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.894837,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3cf6a6935ecbe463c0d49b6735ee6faa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to run experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to book experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully booked experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904113,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50330","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50330","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.132731,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.248918624Z"}]},"request_id":"368dd845-df0f-4e94-9117-bfb3b32fe0b1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.512005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"0bff73ad-3fdc-4e04-a5dc-e7472bb448fc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.5143976} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? 200 48ms","method":"GET","requestID":"7657e610-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? 200 49ms","method":"GET","requestID":"76583430-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Setting up experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully set up experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"767e59d0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully running experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} authorization-1 | {"client_addr":"127.0.0.1:50330","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50330","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944403,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890845,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"f7aa72b4-450f-4c8b-82d1-424b02399be2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.79089} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.248918624Z"}]},"request_id":"931349b2-2ba5-4337-a669-fb8785ec485f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.7918382} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.980828,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? 200 56ms","method":"GET","requestID":"767e0bb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? 200 58ms","method":"GET","requestID":"767de4a0-24e8-11f0-a431-d1fa1ca0a775","responseTime":58,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76870c60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5b4d0ec-16e2-41b3-a9cc-9ff6aa6eba1b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.7938406} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"767e59d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 79ms","method":"POST","requestID":"767e59d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":79,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"767e59d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling 200 92ms","method":"POST","requestID":"767e59d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"768cd8c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f22fc2ad-7bc4-4c7a-b177-7801d2b20b06","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.842013} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40a6aa0f-58a1-4696-ab4f-d38f9167a90b#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40a6aa0f-58a1-4696-ab4f-d38f9167a90b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"f5ca34e4-2c22-4818-9c03-9354cf931f17","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.8445127} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d82846f-a6f0-47d4-b08d-a11d61604926","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.8458474} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.693784,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"76870c60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"76870c60-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76870c60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling 200 51ms","method":"POST","requestID":"76870c60-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"769452d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 110ms","method":"POST","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa","responseTime":110,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97eb2e85-4cdc-4c50-b515-57c08ce89b3f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.8553524} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257042,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"768cd8c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","method":"POST","requestID":"768cd8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.545","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"level":"info","message":"POST /experiments? 201 536ms","method":"POST","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa","responseTime":536,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"768cd8c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling 200 85ms","method":"POST","requestID":"768cd8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":85,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"94a69cfa9a701dd4041dd4753519bf37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"94a69cfa9a701dd4041dd4753519bf37"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"769452d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"94a69cfa9a701dd4041dd4753519bf37","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling 200 53ms","method":"POST","requestID":"769452d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":53,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2641ca3-07f7-4cef-a682-2e40fe6a5a92","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.9316409} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.394369,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"769452d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","rebac_allow":false,"scope_allow":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":"769452d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935624,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94a69cfa9a701dd4041dd4753519bf37","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"94a69cfa9a701dd4041dd4753519bf37","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Building connection plan","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} 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":"17ea3436-ed4c-481d-b6b9-d6a13d08cda8"},{"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":"42016bda-e888-4ead-8ee3-d9b92b9f6ffa"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ce32b73f-2f26-45d0-8228-12e41b06bec3"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} 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/293e3110-b779-43e0-9bad-4925b0f2843b"},{"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/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.248918624Z"}]},"request_id":"886834e4-e018-482e-8dc2-86acf9c81895","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924128.9775352} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"94a69cfa9a701dd4041dd4753519bf37","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:28Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.002759,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:28Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"94a69cfa9a701dd4041dd4753519bf37"} gateway-1 | {"time_local":"29/Apr/2025:10:55:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94a69cfa9a701dd4041dd4753519bf37"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc","level":"info","message":"auth send jwt","requestID":"cb9c41a7c8a396bdf49b13eb62d81351"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cb9c41a7c8a396bdf49b13eb62d81351","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/293e3110-b779-43e0-9bad-4925b0f2843b? 200 53ms","method":"GET","requestID":"94a69cfa9a701dd4041dd4753519bf37","responseTime":53,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cb9c41a7c8a396bdf49b13eb62d81351"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a173ff51-04cf-4024-a860-72ffd57dad22","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924129.0363672} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58cc1cfb-e3a1-4843-b28e-5d04f8855632","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924129.0373693} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":48.868273,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cb9c41a7c8a396bdf49b13eb62d81351","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924128,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEyOH0.EmaUousC4brBp8kYHpHwlrxwBBygvXIbBzvBgwBShoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 85ms","method":"POST","requestID":"cb9c41a7c8a396bdf49b13eb62d81351","responseTime":85,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:24.520656001Z"}]},"request_id":"c952889d-2cf2-4608-87cd-2261f1627a3c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924129.088576} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb9c41a7c8a396bdf49b13eb62d81351","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866'","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866'","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 152ms","method":"POST","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775","responseTime":152,"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":"cb9c41a7c8a396bdf49b13eb62d81351"} gateway-1 | {"time_local":"29/Apr/2025:10:55:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cb9c41a7c8a396bdf49b13eb62d81351"} device-1 | {"level":"info","message":"GET /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5? 200 137ms","method":"GET","requestID":"cb9c41a7c8a396bdf49b13eb62d81351","responseTime":137,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"76a14b20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","device":"293e3110-b779-43e0-9bad-4925b0f2843b","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":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3cf6a6935ecbe463c0d49b6735ee6faa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76cf6000-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6071d7a1-f0e8-4fc3-9f1a-b48c8e5c9769","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924129.2895973} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.974681,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"76cf6000-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","rebac_allow":false,"scope_allow":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":"76cf6000-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76cf6000-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling 200 43ms","method":"POST","requestID":"76cf6000-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76d664e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42751c5e-580d-4bb6-8e14-815967bd493d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924129.3312814} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.505655,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"76d664e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","rebac_allow":false,"scope_allow":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":"76d664e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76d664e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling 200 44ms","method":"POST","requestID":"76d664e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling"} device-1 | {"device":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5243327325049878831 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:N4Oo\r\na=ice-pwd:ZQ8O6dODuOHikPBf076MkQWA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B3:37:3B:FB:9E:A2:44:7F:D4:41:D5:6D:78:EA:FE:9D:B9:83:AB:2F:EC:8B:42:A5:A4:3F:83:1A:03:28:6D:A1\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3284830779 1 udp 2113937151 b526ca4d-01eb-4982-89f8-cf4829bfc28f.local 43237 typ host generation 0 ufrag N4Oo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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/2b334b40-43e7-4856-b50f-68387a21f866' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc0d92ac4134ff358bd64c47a8bd4aaa","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":"fc0d92ac4134ff358bd64c47a8bd4aaa","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/293e3110-b779-43e0-9bad-4925b0f2843b"},{"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/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"}}},"level":"info","message":"received a callback","requestID":"fc0d92ac4134ff358bd64c47a8bd4aaa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"fc0d92ac4134ff358bd64c47a8bd4aaa","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:31 +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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc0d92ac4134ff358bd64c47a8bd4aaa"} device-1 | {"device":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"293e3110-b779-43e0-9bad-4925b0f2843b","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","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/2b334b40-43e7-4856-b50f-68387a21f866' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f6cac952c3b4493146b21efd449cfcd3","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 25ms","method":"GET","requestID":"f6cac952c3b4493146b21efd449cfcd3","responseTime":25,"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/293e3110-b779-43e0-9bad-4925b0f2843b"},{"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/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"}}},"level":"info","message":"received a callback","requestID":"f6cac952c3b4493146b21efd449cfcd3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"78207110-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b334b40-43e7-4856-b50f-68387a21f866","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1726ffd-eff7-42f9-b130-434fc406010e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.4962592} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":32.511018,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMX0.5NNqThbD3SPaOsJ0bNnGSB-8frcTYcQxCzZnukOHMxQ","level":"info","message":"auth send jwt","requestID":"fdf68084407bc16b47aacfe1b1349009"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fdf68084407bc16b47aacfe1b1349009","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"78207110-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","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 36ms","method":"POST","requestID":"78207110-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"78207110-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/2b334b40-43e7-4856-b50f-68387a21f866 200 41ms","method":"GET","requestID":"78207110-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","requestID":"fdf68084407bc16b47aacfe1b1349009"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.905364,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fdf68084407bc16b47aacfe1b1349009","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924131,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMX0.5NNqThbD3SPaOsJ0bNnGSB-8frcTYcQxCzZnukOHMxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"fdf68084407bc16b47aacfe1b1349009","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","requestID":"fdf68084407bc16b47aacfe1b1349009"} gateway-1 | {"time_local":"29/Apr/2025:10:55:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdf68084407bc16b47aacfe1b1349009"} experiment-1 | {"level":"info","message":"GET /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b 200 86ms","method":"GET","requestID":"fdf68084407bc16b47aacfe1b1349009","responseTime":86,"status":200,"url":"/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"f6cac952c3b4493146b21efd449cfcd3","responseTime":156,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78361bf0-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:55:31 +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.185","http_referrer":"","http_user_agent":"node-fetch","requestID":"f6cac952c3b4493146b21efd449cfcd3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMX0.5NNqThbD3SPaOsJ0bNnGSB-8frcTYcQxCzZnukOHMxQ","level":"info","message":"auth send jwt","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.478292,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab328d17-f220-4b9b-a85d-0f828b33be58","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.6361446} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"78361bf0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","rebac_allow":false,"scope_allow":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":"78361bf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.17657,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d58b4e5ab6b2496fb904992ff7e55ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924131,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMX0.5NNqThbD3SPaOsJ0bNnGSB-8frcTYcQxCzZnukOHMxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78361bf0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Attempting to finish experiment","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling 200 52ms","method":"POST","requestID":"78361bf0-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"783e3240-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:46554","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.304964,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.873737,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d64f69c1-52ef-4671-a326-dcec2cc0f2eb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.7185435} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"783e3240-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","rebac_allow":false,"scope_allow":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":"783e3240-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924131,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMX0.5NNqThbD3SPaOsJ0bNnGSB-8frcTYcQxCzZnukOHMxQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"783e3240-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling 200 78ms","method":"POST","requestID":"783e3240-24e8-11f0-a431-d1fa1ca0a775","responseTime":78,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling"} device-1 | {"device":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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":"8bd77992-a1b0-4f8f-b149-e3018b35dbd5","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 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866","device":"293e3110-b779-43e0-9bad-4925b0f2843b","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/2b334b40-43e7-4856-b50f-68387a21f866' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5804b4e2ad44e7ceb78eb55002b32f49","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":"5804b4e2ad44e7ceb78eb55002b32f49","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9d2be5ca248dab69bd67914b394d5af0","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":"9d2be5ca248dab69bd67914b394d5af0","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/293e3110-b779-43e0-9bad-4925b0f2843b"},{"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/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"}}},"level":"info","message":"received a callback","requestID":"5804b4e2ad44e7ceb78eb55002b32f49"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b334b40-43e7-4856-b50f-68387a21f866': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2b334b40-43e7-4856-b50f-68387a21f866","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"a98ff429-9789-471a-bdb5-31c743c04920","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.7843604} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b6a0373-4c48-48bc-91c9-2cc742c5e9ff","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.786251} 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":"connected","url":"http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b"},{"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/8bd77992-a1b0-4f8f-b149-e3018b35dbd5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"}}},"level":"info","message":"received a callback","requestID":"9d2be5ca248dab69bd67914b394d5af0"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"2b334b40-43e7-4856-b50f-68387a21f866","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/2b334b40-43e7-4856-b50f-68387a21f866 204 165ms","method":"DELETE","requestID":"7842c620-24e8-11f0-a431-d1fa1ca0a775","responseTime":165,"status":204,"url":"/peerconnections/2b334b40-43e7-4856-b50f-68387a21f866"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"},"level":"info","message":"Successfully finished experiment","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"78687690-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F293e3110-b779-43e0-9bad-4925b0f2843b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2479bb1d-031e-4088-92c0-1da5ce62a56a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.967573} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.322206,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"78687690-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b","object_type":"device","rebac_allow":false,"scope_allow":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":"78687690-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"78687690-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40a6aa0f-58a1-4696-ab4f-d38f9167a90b': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F40a6aa0f-58a1-4696-ab4f-d38f9167a90b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"6bb51967-af33-442c-94a5-922ced0a3a04","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.9743552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"949cf51c-9404-4c42-be4b-149382c1b353","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924131.9752085} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca","responseTime":53,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling 200 50ms","method":"POST","requestID":"78687690-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/293e3110-b779-43e0-9bad-4925b0f2843b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7870b3f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8bd77992-a1b0-4f8f-b149-e3018b35dbd5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc537062-1c2d-4b0c-974e-fcf1c93a7ca2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.049872} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.152742,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7870b3f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"7870b3f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7870b3f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling 200 52ms","method":"POST","requestID":"7870b3f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} gateway-1 | {"time_local":"29/Apr/2025:10:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.756","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca"} experiment-1 | {"level":"info","message":"DELETE /experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b 204 753ms","method":"DELETE","requestID":"8d58b4e5ab6b2496fb904992ff7e55ca","responseTime":753,"status":204,"url":"/experiments/40a6aa0f-58a1-4696-ab4f-d38f9167a90b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 611ms","method":"POST","requestID":"5804b4e2ad44e7ceb78eb55002b32f49","responseTime":611,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 607ms","method":"POST","requestID":"9d2be5ca248dab69bd67914b394d5af0","responseTime":607,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"5.521","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"61889151c413bb04f98d40e12abfcf25"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.629","http_referrer":"","http_user_agent":"node-fetch","requestID":"5804b4e2ad44e7ceb78eb55002b32f49"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.627","http_referrer":"","http_user_agent":"node-fetch","requestID":"9d2be5ca248dab69bd67914b394d5af0"} gateway-1 | {"time_local":"29/Apr/2025:10:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"4.242","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":"c8c1aa8d3e142855cb1ec7c22397f0ed"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.891643,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"c1deb89f69aee3f37392bfffb52c45d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924132,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMn0.2x8zomBIB_1_AeGvhIIK10HGKKy6TBAlxNuajxXlyzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMn0.2x8zomBIB_1_AeGvhIIK10HGKKy6TBAlxNuajxXlyzA","level":"info","message":"auth send jwt","requestID":"c1deb89f69aee3f37392bfffb52c45d4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c1deb89f69aee3f37392bfffb52c45d4"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/293e3110-b779-43e0-9bad-4925b0f2843b' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"550ee399-264b-493f-b38f-4b6e570edbb5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.539832} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8bd77992-a1b0-4f8f-b149-e3018b35dbd5' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a725c04-01c3-4c0a-8058-090975d74e32","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.5473008} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"95ada4b1-bcca-4ac4-98cf-f79dacb115d8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.6298099} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52ea0abd-98b7-454d-a237-68f825f22444","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.6310854} authorization-1 | {"level":"info","message":"POST /relations/update 200 85ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":85,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"0e9bb4c0-d27a-4fa4-bc5b-678684722318","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.6378198} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c1deb89f69aee3f37392bfffb52c45d4"} device-1 | {"level":"info","message":"POST /devices? 201 157ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":157,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1deb89f69aee3f37392bfffb52c45d4"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c1deb89f69aee3f37392bfffb52c45d4","responseTime":6,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMn0.2x8zomBIB_1_AeGvhIIK10HGKKy6TBAlxNuajxXlyzA","level":"info","message":"auth send jwt","requestID":"03fc7db9e093f99ea9e5068ded5fbeac"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"03fc7db9e093f99ea9e5068ded5fbeac"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.050056,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"03fc7db9e093f99ea9e5068ded5fbeac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924132,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzMn0.2x8zomBIB_1_AeGvhIIK10HGKKy6TBAlxNuajxXlyzA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c1364143-8f6b-4307-943b-164b3034ae67","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.732855} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":9,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10cc9a39-9a16-43f2-9bf5-c04e3da5ab41","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.7814693} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":44,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"4b497762-bb48-4705-ab28-bb690a971d5b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.8363755} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3505f133-3096-4640-aa29-c22017950818","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.8375852} authorization-1 | {"level":"info","message":"POST /relations/update 200 88ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":88,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.836341144Z"}]},"request_id":"dbd27220-9428-4ffb-b1d2-b085ecb60c4a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924132.8736343} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03fc7db9e093f99ea9e5068ded5fbeac"} device-1 | {"level":"info","message":"POST /devices? 201 205ms","method":"POST","requestID":"03fc7db9e093f99ea9e5068ded5fbeac","responseTime":205,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.235","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03fc7db9e093f99ea9e5068ded5fbeac"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNH0.McHMemBb-M56oOqxkWm2WEHKrfBsYAsqKs_iKgp7PNI","level":"info","message":"auth send jwt","requestID":"f460eda3114e8895fa403b6e00abdcd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f460eda3114e8895fa403b6e00abdcd3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:34Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f460eda3114e8895fa403b6e00abdcd3"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.201589,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:34Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f460eda3114e8895fa403b6e00abdcd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924134,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNH0.McHMemBb-M56oOqxkWm2WEHKrfBsYAsqKs_iKgp7PNI"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"f460eda3114e8895fa403b6e00abdcd3","responseTime":12,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"16ac5653-4f95-48b6-88be-a65c89157962","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924135.0284865} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f460eda3114e8895fa403b6e00abdcd3","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"50279b38-d75d-4718-af39-04721ba3adae","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924135.0415819} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"f460eda3114e8895fa403b6e00abdcd3","responseTime":10,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"29/Apr/2025:10:55:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.105","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f460eda3114e8895fa403b6e00abdcd3"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"64a1fdd8-158d-46f3-b6a4-468f51f550f9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924135.082069} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f460eda3114e8895fa403b6e00abdcd3","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f460eda3114e8895fa403b6e00abdcd3"} device-1 | {"level":"info","message":"PATCH /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437 200 99ms","method":"PATCH","requestID":"f460eda3114e8895fa403b6e00abdcd3","responseTime":99,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNX0.t74KMuV7HwVE21YIIIpbw3YqIsRnpL6_HD7OuZ3gQPk","level":"info","message":"auth send jwt","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:35Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901798,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924135,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNX0.t74KMuV7HwVE21YIIIpbw3YqIsRnpL6_HD7OuZ3gQPk"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b","responseTime":35,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/websocket 200 80ms","method":"POST","requestID":"2ce1c2bbf7b3eb6eaf14c003e4396b7b","responseTime":80,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f736294c416f0f31c714981875d8a78b","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":"f736294c416f0f31c714981875d8a78b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/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":"f736294c416f0f31c714981875d8a78b"} device-1 | {"level":"info","message":"OPTIONS /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/websocket 200 1ms","method":"OPTIONS","requestID":"f736294c416f0f31c714981875d8a78b","responseTime":1,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ab15cadf7ce756a6b60cfc36303b1e48"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg","level":"info","message":"auth send jwt","requestID":"ab15cadf7ce756a6b60cfc36303b1e48"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ab15cadf7ce756a6b60cfc36303b1e48","responseTime":7,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.861187,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ab15cadf7ce756a6b60cfc36303b1e48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ab15cadf7ce756a6b60cfc36303b1e48","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.085","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":"ab15cadf7ce756a6b60cfc36303b1e48"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ab15cadf7ce756a6b60cfc36303b1e48"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/websocket 200 81ms","method":"POST","requestID":"ab15cadf7ce756a6b60cfc36303b1e48","responseTime":81,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg","level":"info","message":"auth send jwt","requestID":"66d192be6c3561cf174f7ee0d5bf96ae"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"66d192be6c3561cf174f7ee0d5bf96ae"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.886506,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"66d192be6c3561cf174f7ee0d5bf96ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"66d192be6c3561cf174f7ee0d5bf96ae","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"115607fe-d2db-4908-8204-95bf2bb766d0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.2872736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"66d192be6c3561cf174f7ee0d5bf96ae","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"level":"info","message":"GET /auth 200 15ms","method":"GET","requestID":"66d192be6c3561cf174f7ee0d5bf96ae","responseTime":15,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"66d192be6c3561cf174f7ee0d5bf96ae"} gateway-1 | {"time_local":"29/Apr/2025:10:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? 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":"66d192be6c3561cf174f7ee0d5bf96ae"} device-1 | {"level":"info","message":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? 200 43ms","method":"GET","requestID":"66d192be6c3561cf174f7ee0d5bf96ae","responseTime":43,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4a1e3805edf0db143be31e00b45fd72"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg","level":"info","message":"auth send jwt","requestID":"a4a1e3805edf0db143be31e00b45fd72"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a4a1e3805edf0db143be31e00b45fd72","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845278,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a4a1e3805edf0db143be31e00b45fd72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a4a1e3805edf0db143be31e00b45fd72","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.836341144Z"}]},"request_id":"01aaaacf-b7c6-4aef-a3e4-419660ffc0bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.3409617} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a4a1e3805edf0db143be31e00b45fd72","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4a1e3805edf0db143be31e00b45fd72"} gateway-1 | {"time_local":"29/Apr/2025:10:55:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a4a1e3805edf0db143be31e00b45fd72"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg","level":"info","message":"auth send jwt","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"3afd102268728427a1f3a0731b614949"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.893156,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"3afd102268728427a1f3a0731b614949","responseTime":12,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3afd102268728427a1f3a0731b614949","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"3afd102268728427a1f3a0731b614949","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? 200 64ms","method":"GET","requestID":"a4a1e3805edf0db143be31e00b45fd72","responseTime":64,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to run experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to book experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully booked experiment","requestID":"3afd102268728427a1f3a0731b614949"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831522,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875762,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.836341144Z"}]},"request_id":"b66ebc27-949a-4e77-ad43-4a50dbd2a126","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.5662534} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"2f922e22-e6cc-4879-94e7-ca72f73173f3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.5713875} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? 200 67ms","method":"GET","requestID":"7b1f5930-24e8-11f0-a431-d1fa1ca0a775","responseTime":67,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Setting up experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"3afd102268728427a1f3a0731b614949"} device-1 | {"level":"info","message":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? 200 92ms","method":"GET","requestID":"7b204390-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully set up experiment","requestID":"3afd102268728427a1f3a0731b614949"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864252,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"45b883f8-0a5b-4708-8be3-f17fbf00eecb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.7767115} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? 200 41ms","method":"GET","requestID":"7b45a5e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437?"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982495,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b4d6e10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully running experiment","requestID":"3afd102268728427a1f3a0731b614949"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.836341144Z"}]},"request_id":"bfbe74bb-f171-4cd7-a565-de21612a706a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.8220496} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"697c92d9-e63e-460f-9106-d291004aeba8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.851818} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","method":"POST","requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.800284,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b4d6e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"7b4d6e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? 200 85ms","method":"GET","requestID":"7b472c80-24e8-11f0-a431-d1fa1ca0a775","responseTime":85,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b54e820-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b4d6e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling 200 84ms","method":"POST","requestID":"7b4d6e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":84,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b5a8d70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.070125,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e6fe7fd-46fb-4157-bd76-f34528cf8046","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.907037} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b54e820-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","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 succeeded","requestID":"7b54e820-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"7b54e820-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling 200 80ms","method":"POST","requestID":"7b54e820-24e8-11f0-a431-d1fa1ca0a775","responseTime":80,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b61b960-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:55846","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:55846","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.27347,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c535be8-5d0a-4416-88ba-cbed7ce822ff","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.9530187} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c1f95e9-5987-4f5d-856b-329d7f4eed27","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924136.9598453} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b5a8d70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 90ms","method":"POST","requestID":"7b5a8d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":90,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.213878,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b61b960-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"7b61b960-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b5a8d70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling 200 100ms","method":"POST","requestID":"7b5a8d70-24e8-11f0-a431-d1fa1ca0a775","responseTime":100,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7b61b960-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling 200 58ms","method":"POST","requestID":"7b61b960-24e8-11f0-a431-d1fa1ca0a775","responseTime":58,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Building connection plan","requestID":"3afd102268728427a1f3a0731b614949"} 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":"ecf835fc-e0bd-4b8f-a68f-ab1eb820854d"},{"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":"3e59a2cf-9b73-4ce3-ab00-ef9220d8f3b3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f1faf43d-8e86-4a06-adaf-c870494733a1"}]},"level":"info","message":"Built pairwise service configurations","requestID":"3afd102268728427a1f3a0731b614949"} 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/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c"},{"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/f2f98d9b-113b-45e3-ae6e-2a230c511437"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"3afd102268728427a1f3a0731b614949"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8701103-44b0-4b5d-b0e7-6d22c5f1f10e#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8701103-44b0-4b5d-b0e7-6d22c5f1f10e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"a5bf466e-f2b6-4ec5-8e6f-564e2446bfcc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.013079} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce3158ff-d6c7-4c4d-a1d4-09095a17600b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.0159183} authorization-1 | {"level":"info","message":"POST /relations/update 200 191ms","method":"POST","requestID":"3afd102268728427a1f3a0731b614949","responseTime":191,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.904002,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924136,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzNn0.pceFIoLlbQFxKqde92BBDVkQ3QL5I4shrmtWZPJ-dIg"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"3afd102268728427a1f3a0731b614949"} experiment-1 | {"level":"info","message":"POST /experiments? 201 684ms","method":"POST","requestID":"3afd102268728427a1f3a0731b614949","responseTime":684,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.690","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3afd102268728427a1f3a0731b614949"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzN30.6e98tH_xTqsT490qdmmdu8CeDvOQ69pAeyhrpj83gm8","level":"info","message":"auth send jwt","requestID":"f586626cdb6b8ef7cb4a8a564935305c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f586626cdb6b8ef7cb4a8a564935305c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f586626cdb6b8ef7cb4a8a564935305c"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0bfc24bd-0e0f-4dc3-aff6-a4ee78054b73","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.0980911} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52138c7e-4999-442a-a5e2-52c5c50c4578","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.0987177} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944433,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f586626cdb6b8ef7cb4a8a564935305c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924137,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzN30.6e98tH_xTqsT490qdmmdu8CeDvOQ69pAeyhrpj83gm8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f586626cdb6b8ef7cb4a8a564935305c","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.629777989Z"}]},"request_id":"a58e37cb-679c-4a4c-a8e0-1e5304ce7c02","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.111191} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"f586626cdb6b8ef7cb4a8a564935305c","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16'","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16'","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 140ms","method":"POST","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":140,"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":"f586626cdb6b8ef7cb4a8a564935305c"} gateway-1 | {"time_local":"29/Apr/2025:10:55:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f586626cdb6b8ef7cb4a8a564935305c"} device-1 | {"level":"info","message":"GET /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437? 200 57ms","method":"GET","requestID":"f586626cdb6b8ef7cb4a8a564935305c","responseTime":57,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzN30.6e98tH_xTqsT490qdmmdu8CeDvOQ69pAeyhrpj83gm8","level":"info","message":"auth send jwt","requestID":"5a3676aca8be9e94a1d71697cbcc703e"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"5a3676aca8be9e94a1d71697cbcc703e","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"7b6b5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5a3676aca8be9e94a1d71697cbcc703e"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884487,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5a3676aca8be9e94a1d71697cbcc703e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924137,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzN30.6e98tH_xTqsT490qdmmdu8CeDvOQ69pAeyhrpj83gm8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5a3676aca8be9e94a1d71697cbcc703e","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:32.836341144Z"}]},"request_id":"b3a76283-b0b9-4fab-bf58-8b7d3e59135f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.2030072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5a3676aca8be9e94a1d71697cbcc703e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","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 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5a3676aca8be9e94a1d71697cbcc703e"} device-1 | {"level":"info","message":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? 200 21ms","method":"GET","requestID":"5a3676aca8be9e94a1d71697cbcc703e","responseTime":21,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c? 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":"5a3676aca8be9e94a1d71697cbcc703e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"3afd102268728427a1f3a0731b614949"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7b9d62d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6bd4e83-f7ca-4aec-881e-560564638df0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.3521383} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.326386,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b9d62d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","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 succeeded","requestID":"7b9d62d0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"7b9d62d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling 200 44ms","method":"POST","requestID":"7b9d62d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ba4dce0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de46523c-4c84-4fc1-9be2-726e1adaded9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924137.3962696} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.313722,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7ba4dce0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"7ba4dce0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ba4dce0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling 200 40ms","method":"POST","requestID":"7ba4dce0-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling"} device-1 | {"device":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 7983217328274109464 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:9Opo\r\na=ice-pwd:DTWxCN1qU+pYruHqV4p2q/DP\r\na=ice-options:trickle\r\na=fingerprint:sha-256 6D:AF:BC:53:E4:48:48:05:B0:E1:8D:6A:D8:90:A8:8C:C2:5F:E7:46:26:41:59:E8:88:CD:21:97:D5:34:E6:88\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f7d5a32f982bb1a1bea519d2e2d184a6","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":"f7d5a32f982bb1a1bea519d2e2d184a6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} 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/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c"},{"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/f2f98d9b-113b-45e3-ae6e-2a230c511437"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"}}},"level":"info","message":"received a callback","requestID":"f7d5a32f982bb1a1bea519d2e2d184a6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"f7d5a32f982bb1a1bea519d2e2d184a6","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:39 +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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7d5a32f982bb1a1bea519d2e2d184a6"} device-1 | {"content":{"candidate":"candidate:4037311998 1 udp 2113937151 67bded2a-b9ad-4c6a-9a9c-aefe33f4feb6.local 52548 typ host generation 0 ufrag 9Opo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","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/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98355a4684ff9bcbf564c9483f53f9e5","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":"98355a4684ff9bcbf564c9483f53f9e5","responseTime":2,"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/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c"},{"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/f2f98d9b-113b-45e3-ae6e-2a230c511437"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"}}},"level":"info","message":"received a callback","requestID":"98355a4684ff9bcbf564c9483f53f9e5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7ce83250-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.332742,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f459952-ba3c-417e-8d65-99c6f365cc9e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924139.5583432} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7ce83250-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","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 52ms","method":"POST","requestID":"7ce83250-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8","level":"info","message":"auth send jwt","requestID":"28cb9b46f1b303eab68a811db65114b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28cb9b46f1b303eab68a811db65114b8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"28cb9b46f1b303eab68a811db65114b8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7ce83250-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16 200 92ms","method":"GET","requestID":"7ce83250-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"status":200,"url":"/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.917532,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"28cb9b46f1b303eab68a811db65114b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924139,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"28cb9b46f1b303eab68a811db65114b8","responseTime":36,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"28cb9b46f1b303eab68a811db65114b8"} gateway-1 | {"time_local":"29/Apr/2025:10:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28cb9b46f1b303eab68a811db65114b8"} experiment-1 | {"level":"info","message":"GET /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e 200 51ms","method":"GET","requestID":"28cb9b46f1b303eab68a811db65114b8","responseTime":51,"status":200,"url":"/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"98355a4684ff9bcbf564c9483f53f9e5","responseTime":195,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d04bb00-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:55:39 +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.201","http_referrer":"","http_user_agent":"node-fetch","requestID":"98355a4684ff9bcbf564c9483f53f9e5"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8740c1ef-eb71-49ce-9dce-583228d87a05","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924139.7019076} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.451089,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d04bb00-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","object_type":"device","rebac_allow":false,"scope_allow":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":"7d04bb00-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d04bb00-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling 200 38ms","method":"POST","requestID":"7d04bb00-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d0bbfe0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"553966d3-a7a4-41e8-9482-deb3aa9d732b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924139.7479217} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.386432,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d0bbfe0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","object_type":"device","rebac_allow":false,"scope_allow":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":"7d0bbfe0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7d0bbfe0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling 200 37ms","method":"POST","requestID":"7d0bbfe0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8","level":"info","message":"auth send jwt","requestID":"da7282e1db8761bd1594ef1ff0d53563"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"da7282e1db8761bd1594ef1ff0d53563","responseTime":28,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.963672,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"da7282e1db8761bd1594ef1ff0d53563","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924139,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"da7282e1db8761bd1594ef1ff0d53563","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"da7282e1db8761bd1594ef1ff0d53563"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"da7282e1db8761bd1594ef1ff0d53563"} gateway-1 | {"time_local":"29/Apr/2025:10:55:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.078","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"da7282e1db8761bd1594ef1ff0d53563"} experiment-1 | {"level":"info","message":"GET /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e 200 42ms","method":"GET","requestID":"da7282e1db8761bd1594ef1ff0d53563","responseTime":42,"status":200,"url":"/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8","level":"info","message":"auth send jwt","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} authentication-1 | {"level":"info","message":"GET /auth 200 59ms","method":"GET","requestID":"a0d4b06d0bb13a982736e4fb80f9617d","responseTime":59,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.003016,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a0d4b06d0bb13a982736e4fb80f9617d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924139,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a0d4b06d0bb13a982736e4fb80f9617d","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Attempting to finish experiment","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.969541,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924139,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDEzOX0.Qaz_D-HW2DeOdRsdmmprWB7XEOyDkdCkeOlF1qibT-8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","device":"c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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":"f2f98d9b-113b-45e3-ae6e-2a230c511437","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/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"e8f939e0-5219-4692-b433-0764320a184b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.0337214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f9e7aa8-e6f9-44f7-bda5-2b99bd16820f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.0355415} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5de88ef46028d2e3cd4c8bd93fe28177","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":"5de88ef46028d2e3cd4c8bd93fe28177","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8071b0df95bef01115539660d7e86e2c","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":"8071b0df95bef01115539660d7e86e2c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/relations/update"} 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/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c"},{"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/f2f98d9b-113b-45e3-ae6e-2a230c511437"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"}}},"level":"info","message":"received a callback","requestID":"5de88ef46028d2e3cd4c8bd93fe28177"} 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/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c"},{"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/f2f98d9b-113b-45e3-ae6e-2a230c511437"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"}}},"level":"info","message":"received a callback","requestID":"8071b0df95bef01115539660d7e86e2c"} device-1 | {"data":{"peerconnection":"2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16 204 162ms","method":"DELETE","requestID":"7d2eb130-24e8-11f0-a431-d1fa1ca0a775","responseTime":162,"status":204,"url":"/peerconnections/2f4eaa6e-db6c-40ce-a680-ab8aa5d21e16"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"},"level":"info","message":"Successfully finished experiment","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d543a90-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dae013f6-c489-4f01-9b19-7429413af933","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.2281933} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8701103-44b0-4b5d-b0e7-6d22c5f1f10e': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa8701103-44b0-4b5d-b0e7-6d22c5f1f10e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"cf756365-fab6-40d9-ac2b-d0d97251295f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.2320123} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4ca339b-2d3e-4061-8ffb-ec3eda9b96d5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.2331548} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"a0d4b06d0bb13a982736e4fb80f9617d","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":35.726951,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d543a90-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c","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 succeeded","requestID":"7d543a90-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling 200 52ms","method":"POST","requestID":"7d543a90-24e8-11f0-a431-d1fa1ca0a775","responseTime":52,"status":200,"url":"/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 57ms","method":"POST","requestID":"7d543a90-24e8-11f0-a431-d1fa1ca0a775","responseTime":57,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7d63a3e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.809518,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff2f98d9b-113b-45e3-ae6e-2a230c511437","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbe97200-0dce-4fdb-ae27-d9107299fad8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.354389} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7d63a3e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437","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 succeeded","requestID":"7d63a3e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling 200 45ms","method":"POST","requestID":"7d63a3e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"7d63a3e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.735","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e","requestID":"a0d4b06d0bb13a982736e4fb80f9617d"} experiment-1 | {"level":"info","message":"DELETE /experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e 204 675ms","method":"DELETE","requestID":"a0d4b06d0bb13a982736e4fb80f9617d","responseTime":675,"status":204,"url":"/experiments/a8701103-44b0-4b5d-b0e7-6d22c5f1f10e"} gateway-1 | {"time_local":"29/Apr/2025:10:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2493","request_time":"5.393","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"43c562d638d27130431e5b64f7c0e730"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 520ms","method":"POST","requestID":"5de88ef46028d2e3cd4c8bd93fe28177","responseTime":520,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0MH0.gsYajIRZbzM8QjFZcwWVtCOZSpYgQ8g6NkzWQQe2p9Y","level":"info","message":"auth send jwt","requestID":"fa74efdd4d0b2118832c00a44a81eeae"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":29,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.558","http_referrer":"","http_user_agent":"node-fetch","requestID":"5de88ef46028d2e3cd4c8bd93fe28177"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 521ms","method":"POST","requestID":"8071b0df95bef01115539660d7e86e2c","responseTime":521,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"fa74efdd4d0b2118832c00a44a81eeae"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.563","http_referrer":"","http_user_agent":"node-fetch","requestID":"8071b0df95bef01115539660d7e86e2c"} gateway-1 | {"time_local":"29/Apr/2025:10:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"4.374","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":"e9371fa805555ef880942b30201328f3"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.077297,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fa74efdd4d0b2118832c00a44a81eeae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924140,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0MH0.gsYajIRZbzM8QjFZcwWVtCOZSpYgQ8g6NkzWQQe2p9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":16,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f2f98d9b-113b-45e3-ae6e-2a230c511437' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45e20cc2-a8d1-4af6-a603-b6959ea80804","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.6622393} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84e756cc-b6a7-4c28-944c-801f41ccf44b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.692218} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c84c5b25-a9d3-4e61-83cc-ae9d8402ec0c' closed"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"24f8a2f8-9914-4925-9d68-db6b1037ddd1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.747863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b797e68c-9fc0-491b-9c8c-ae4d22071cbe","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.750147} authorization-1 | {"level":"info","message":"POST /relations/update 200 59ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":59,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"b2d62157-96e4-492e-a3cf-328c0c841dff","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.789771} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":7,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa74efdd4d0b2118832c00a44a81eeae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0MH0.gsYajIRZbzM8QjFZcwWVtCOZSpYgQ8g6NkzWQQe2p9Y","level":"info","message":"auth send jwt","requestID":"a3b9d085b855456d8ddc0f0be462716f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"fa74efdd4d0b2118832c00a44a81eeae"} device-1 | {"level":"info","message":"POST /devices? 201 197ms","method":"POST","requestID":"fa74efdd4d0b2118832c00a44a81eeae","responseTime":197,"status":201,"url":"/devices?"} device-1 | {"level":"info","message":"postDevices called","requestID":"a3b9d085b855456d8ddc0f0be462716f"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.878276,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a3b9d085b855456d8ddc0f0be462716f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924140,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0MH0.gsYajIRZbzM8QjFZcwWVtCOZSpYgQ8g6NkzWQQe2p9Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"399ed097-47ec-4dab-bbce-9b4a8296d94a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.8912907} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":7,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff886987-8a96-4701-b17c-681ec4dc5705","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.8996887} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"573f44e6-a7f1-4c0c-814f-042398396acb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.9789784} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4debe502-68ce-4e03-b154-856a70e89890","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.9823682} authorization-1 | {"level":"info","message":"POST /relations/update 200 85ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":85,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.978932157Z"}]},"request_id":"ef20772c-f1c9-40ae-af4f-99aa1a60bd2a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924140.9888937} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a3b9d085b855456d8ddc0f0be462716f"} device-1 | {"level":"info","message":"POST /devices? 201 193ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":193,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"a3b9d085b855456d8ddc0f0be462716f","responseTime":7,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.201","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a3b9d085b855456d8ddc0f0be462716f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0Mn0.zZaHeOb5Bhr7m_r08uDYWIsZ7iLxSrxtLSN6H74hwuM","level":"info","message":"auth send jwt","requestID":"35d8dc0cb1c7204d68415feccae027ab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"35d8dc0cb1c7204d68415feccae027ab","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:42Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"35d8dc0cb1c7204d68415feccae027ab"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016179,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"35d8dc0cb1c7204d68415feccae027ab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924142,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0Mn0.zZaHeOb5Bhr7m_r08uDYWIsZ7iLxSrxtLSN6H74hwuM"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"35d8dc0cb1c7204d68415feccae027ab","responseTime":34,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"f8852068-ee8a-4782-a39f-2802c90e3d59","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924142.858624} authorization-1 | {"level":"info","message":"POST /relations/query 200 50ms","method":"POST","requestID":"35d8dc0cb1c7204d68415feccae027ab","responseTime":50,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b7a8ab8-a513-488b-8e15-a5c7bf3de378","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924142.9110882} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"35d8dc0cb1c7204d68415feccae027ab","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"b2c0c362-b5be-45f4-90f0-8169d76a4365","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924143.0936458} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"35d8dc0cb1c7204d68415feccae027ab","responseTime":8,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.293","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"35d8dc0cb1c7204d68415feccae027ab"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"35d8dc0cb1c7204d68415feccae027ab"} device-1 | {"level":"info","message":"PATCH /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8 200 284ms","method":"PATCH","requestID":"35d8dc0cb1c7204d68415feccae027ab","responseTime":284,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0M30.gu9RvshtYLaqBy3Vxn8jBBlXt_B1stVwMSnJLGOkSyM","level":"info","message":"auth send jwt","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:43Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875352,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924143,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0M30.gu9RvshtYLaqBy3Vxn8jBBlXt_B1stVwMSnJLGOkSyM"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/websocket 200 94ms","method":"POST","requestID":"6b4e327d99be7fa31aa5d4e49e0dbabc","responseTime":94,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/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":"6b4e327d99be7fa31aa5d4e49e0dbabc"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"86c8e0d951d7a7815199a5702ce19c15","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":"86c8e0d951d7a7815199a5702ce19c15","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/websocket 200 1ms","method":"OPTIONS","requestID":"86c8e0d951d7a7815199a5702ce19c15","responseTime":1,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/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":"86c8e0d951d7a7815199a5702ce19c15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA","level":"info","message":"auth send jwt","requestID":"52ab06312278a72ed01c9d0c31683c7a"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"52ab06312278a72ed01c9d0c31683c7a","responseTime":31,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.013804,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"52ab06312278a72ed01c9d0c31683c7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"52ab06312278a72ed01c9d0c31683c7a"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"52ab06312278a72ed01c9d0c31683c7a","responseTime":44,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"52ab06312278a72ed01c9d0c31683c7a"} gateway-1 | {"time_local":"29/Apr/2025:10:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.240","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":"52ab06312278a72ed01c9d0c31683c7a"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/websocket 200 240ms","method":"POST","requestID":"52ab06312278a72ed01c9d0c31683c7a","responseTime":240,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA","level":"info","message":"auth send jwt","requestID":"fb946d64e98124e1e99f30df71a6a7f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fb946d64e98124e1e99f30df71a6a7f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb946d64e98124e1e99f30df71a6a7f2"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985611,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"fb946d64e98124e1e99f30df71a6a7f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fb946d64e98124e1e99f30df71a6a7f2","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"1a1f4fc7-47db-4e7d-986a-b8a0bee9a398","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924144.5466487} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb946d64e98124e1e99f30df71a6a7f2"} device-1 | {"level":"info","message":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? 200 45ms","method":"GET","requestID":"fb946d64e98124e1e99f30df71a6a7f2","responseTime":45,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","method":"POST","requestID":"fb946d64e98124e1e99f30df71a6a7f2","responseTime":37,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb946d64e98124e1e99f30df71a6a7f2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA","level":"info","message":"auth send jwt","requestID":"d8ddb9ff86b06c75092309c5637c58a6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8ddb9ff86b06c75092309c5637c58a6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d8ddb9ff86b06c75092309c5637c58a6"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862938,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d8ddb9ff86b06c75092309c5637c58a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d8ddb9ff86b06c75092309c5637c58a6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.978932157Z"}]},"request_id":"73e3b546-59ac-4fd4-a17f-e4e8e266eff8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924144.598211} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"d8ddb9ff86b06c75092309c5637c58a6","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d8ddb9ff86b06c75092309c5637c58a6"} gateway-1 | {"time_local":"29/Apr/2025:10:55:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8ddb9ff86b06c75092309c5637c58a6"} device-1 | {"level":"info","message":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? 200 44ms","method":"GET","requestID":"d8ddb9ff86b06c75092309c5637c58a6","responseTime":44,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA","level":"info","message":"auth send jwt","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"63bf533806d0535393598971befd7099"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.022026,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"63bf533806d0535393598971befd7099","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"63bf533806d0535393598971befd7099","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 43ms","method":"GET","requestID":"63bf533806d0535393598971befd7099","responseTime":43,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to run experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to book experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully booked experiment","requestID":"63bf533806d0535393598971befd7099"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903074,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 40ms","method":"POST","requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.005872,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:44Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"b7334b71-8ffd-4ab8-95bd-ca7b22660d0f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924144.8213272} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? 200 50ms","method":"GET","requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 37ms","method":"POST","requestID":"800c0790-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.978932157Z"}]},"request_id":"36057e1d-59a0-4792-875b-e720565cf361","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924144.8333309} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? 200 59ms","method":"GET","requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":59,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"800c55b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Setting up experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully locked booking for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to update booking for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully updated booking for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully set up experiment","requestID":"63bf533806d0535393598971befd7099"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.75714,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.883785,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"803190f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? 200 27ms","method":"GET","requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":27,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"ce57c32c-496d-4539-a275-a8b3d7e74305","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.026444} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9056971d-53f2-47cb-9718-4a557d580e47","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.0294418} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","method":"POST","requestID":"802f6e10-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully running experiment","requestID":"63bf533806d0535393598971befd7099"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.703179,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"803190f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"803190f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"803190f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling 200 49ms","method":"POST","requestID":"803190f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.978932157Z"}]},"request_id":"4d5ce507-2343-4727-9ba8-fe0b107b6229","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.0738375} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80398030-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? 200 64ms","method":"GET","requestID":"80305870-24e8-11f0-a431-d1fa1ca0a775","responseTime":64,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47a2bfa4-6322-4dcd-b371-4cdc421642e9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.0811832} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"803e6230-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.871507,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"80398030-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"80398030-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80398030-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling 200 40ms","method":"POST","requestID":"80398030-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.609544,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd1896ab-660a-4be4-9fd4-b46e42b4e70e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.1172295} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"803e6230-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","rebac_allow":false,"scope_allow":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":"803e6230-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"803e6230-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling 200 18ms","method":"POST","requestID":"803e6230-24e8-11f0-a431-d1fa1ca0a775","responseTime":18,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8045dc40-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faebeab59-46b7-433c-b582-a214dc964d05#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faebeab59-46b7-433c-b582-a214dc964d05","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"b8cd73f1-db81-47b3-a1a3-5c670b8a5891","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.1558084} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a3b844b-2173-484c-a751-babd890c9c1b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.155943} authorization-1 | {"level":"info","message":"POST /relations/update 200 91ms","method":"POST","requestID":"63bf533806d0535393598971befd7099","responseTime":91,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93230c96-2548-46e6-99ed-73c13d0236d8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.1667721} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.403466,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8045dc40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","rebac_allow":false,"scope_allow":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":"8045dc40-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"63bf533806d0535393598971befd7099"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8045dc40-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"POST /experiments? 201 537ms","method":"POST","requestID":"63bf533806d0535393598971befd7099","responseTime":537,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling 200 19ms","method":"POST","requestID":"8045dc40-24e8-11f0-a431-d1fa1ca0a775","responseTime":19,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling"} gateway-1 | {"time_local":"29/Apr/2025:10:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.544","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"63bf533806d0535393598971befd7099"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Building connection plan","requestID":"63bf533806d0535393598971befd7099"} 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":"d0c63665-743c-4e47-a46d-8932506c4ce9"},{"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":"4807554f-197f-468b-927b-75736059b564"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"554e57d0-93d4-493f-bf52-c6fceafe99d5"}]},"level":"info","message":"Built pairwise service configurations","requestID":"63bf533806d0535393598971befd7099"} 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/0e69ca3e-625f-482c-8905-47f9925cb3f8"},{"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/8a93af9a-7e1a-4c55-af23-b10e190b9d30"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"63bf533806d0535393598971befd7099"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NX0.ZnAclGTT92gz1rqIVR17PMbQZUYuhNJLm7KRbVl4PWU","level":"info","message":"auth send jwt","requestID":"d7e424986322a114f971fd17a44c4abc"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7e424986322a114f971fd17a44c4abc"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d7e424986322a114f971fd17a44c4abc","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:50338","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.859614,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949793,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924144,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NH0.rp8qSoqt8lYV1SbQ9ECpLSkjvtIdj_KGDTs_3RngfOA"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d7e424986322a114f971fd17a44c4abc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924145,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NX0.ZnAclGTT92gz1rqIVR17PMbQZUYuhNJLm7KRbVl4PWU"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"d7e424986322a114f971fd17a44c4abc","responseTime":38,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.747826084Z"}]},"request_id":"a80db0da-991a-4d9f-b3ff-763fb7ccba64","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.2978442} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"254e9fe4-2169-4114-9738-026b5cb4c31c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.2984545} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"fc5d93bd-cf08-4020-baec-78d2cee26879","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.2987947} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7e424986322a114f971fd17a44c4abc"} gateway-1 | {"time_local":"29/Apr/2025:10:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7e424986322a114f971fd17a44c4abc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NX0.ZnAclGTT92gz1rqIVR17PMbQZUYuhNJLm7KRbVl4PWU","level":"info","message":"auth send jwt","requestID":"54b64228c3817283972e632bc844ecc0"} device-1 | {"level":"info","message":"GET /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8? 200 107ms","method":"GET","requestID":"d7e424986322a114f971fd17a44c4abc","responseTime":107,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54b64228c3817283972e632bc844ecc0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54b64228c3817283972e632bc844ecc0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/query 200 62ms","method":"POST","requestID":"d7e424986322a114f971fd17a44c4abc","responseTime":62,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865093,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"54b64228c3817283972e632bc844ecc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924145,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0NX0.ZnAclGTT92gz1rqIVR17PMbQZUYuhNJLm7KRbVl4PWU"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"54b64228c3817283972e632bc844ecc0","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:40.978932157Z"}]},"request_id":"ee7f0ef1-a77c-4186-ad07-cc43d0ac2b1a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.3574219} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"54b64228c3817283972e632bc844ecc0","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d'","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d'","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 196ms","method":"POST","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775","responseTime":196,"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":"54b64228c3817283972e632bc844ecc0"} gateway-1 | {"time_local":"29/Apr/2025:10:55:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54b64228c3817283972e632bc844ecc0"} device-1 | {"level":"info","message":"GET /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30? 200 95ms","method":"GET","requestID":"54b64228c3817283972e632bc844ecc0","responseTime":95,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"804d5650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","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} device-1 | {"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1019405652948534853 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:y7Kk\r\na=ice-pwd:lYwj1qZL2bqclfiNkRkoCIjD\r\na=ice-options:trickle\r\na=fingerprint:sha-256 26:1B:FA:9A:27:DA:E2:15:CD:2F:34:85:6C:6E:D5:DE:AC:8A:00:FE:11:53:EA:CA:29:70:C2:EF:6F:C1:9E:98\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"63bf533806d0535393598971befd7099"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8090ef00-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.380221,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01fe8d8d-872c-478d-9771-7930facdd37a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.6535997} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8090ef00-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","rebac_allow":false,"scope_allow":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":"8090ef00-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8090ef00-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling 200 46ms","method":"POST","requestID":"8090ef00-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80981af0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.08767,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:45Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"290bad16-59d7-43cd-8aac-ef1fe31305c1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924145.7003365} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"80981af0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","rebac_allow":false,"scope_allow":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":"80981af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80981af0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling 200 38ms","method":"POST","requestID":"80981af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling"} device-1 | {"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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 | {"device":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ad36eb886fdcf64a5f2dee5befa6a51e","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":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"ad36eb886fdcf64a5f2dee5befa6a51e","responseTime":26,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"ad36eb886fdcf64a5f2dee5befa6a51e"} 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/0e69ca3e-625f-482c-8905-47f9925cb3f8"},{"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/8a93af9a-7e1a-4c55-af23-b10e190b9d30"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"}}},"level":"info","message":"received a callback","requestID":"ad36eb886fdcf64a5f2dee5befa6a51e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ad36eb886fdcf64a5f2dee5befa6a51e","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"content":{"candidate":"candidate:1099696826 1 udp 2113937151 3a086871-c82d-4359-a70b-64ec518e0dff.local 54646 typ host generation 0 ufrag y7Kk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56f09d4ab0668ab5c3f094a66e04d8e7","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":"56f09d4ab0668ab5c3f094a66e04d8e7","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/0e69ca3e-625f-482c-8905-47f9925cb3f8"},{"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/8a93af9a-7e1a-4c55-af23-b10e190b9d30"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"}}},"level":"info","message":"received a callback","requestID":"56f09d4ab0668ab5c3f094a66e04d8e7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"81d83c10-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.40108,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F831d3d54-87de-49ab-b71a-eff0cf88813d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6f7b79d-0dda-4f62-b11f-a1d1a143149f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924147.8047855} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"81d83c10-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","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 7ms","method":"POST","requestID":"81d83c10-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"81d83c10-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0N30.8MfToPR9EN_d75ccNvx9QsxwHAIfQxNkoyJx5Bx6_98","level":"info","message":"auth send jwt","requestID":"a1ee7c86166501c1058e87490a9a6bf3"} device-1 | {"level":"info","message":"GET /peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d 200 68ms","method":"GET","requestID":"81d83c10-24e8-11f0-a431-d1fa1ca0a775","responseTime":68,"status":200,"url":"/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a1ee7c86166501c1058e87490a9a6bf3","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/aebeab59-46b7-433c-b582-a214dc964d05","requestID":"a1ee7c86166501c1058e87490a9a6bf3"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.410698,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"a1ee7c86166501c1058e87490a9a6bf3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924147,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0N30.8MfToPR9EN_d75ccNvx9QsxwHAIfQxNkoyJx5Bx6_98"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"a1ee7c86166501c1058e87490a9a6bf3","responseTime":13,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"56f09d4ab0668ab5c3f094a66e04d8e7","responseTime":193,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"81e9a130-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"183be27d-771b-49d5-95c6-52f7228fb031","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924147.945718} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":35.166166,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"81e9a130-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","rebac_allow":false,"scope_allow":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":"81e9a130-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"81e9a130-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling 200 81ms","method":"POST","requestID":"81e9a130-24e8-11f0-a431-d1fa1ca0a775","responseTime":81,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"81f67270-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +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.300","http_referrer":"","http_user_agent":"node-fetch","requestID":"56f09d4ab0668ab5c3f094a66e04d8e7"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d29da69-7140-415c-8309-68992bf4ef41","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.0075927} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.321013,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"81f67270-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"81f67270-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/aebeab59-46b7-433c-b582-a214dc964d05","requestID":"a1ee7c86166501c1058e87490a9a6bf3"} experiment-1 | {"level":"info","message":"GET /experiments/aebeab59-46b7-433c-b582-a214dc964d05 200 184ms","method":"GET","requestID":"a1ee7c86166501c1058e87490a9a6bf3","responseTime":184,"status":200,"url":"/experiments/aebeab59-46b7-433c-b582-a214dc964d05"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/aebeab59-46b7-433c-b582-a214dc964d05 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1ee7c86166501c1058e87490a9a6bf3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"81f67270-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling 200 59ms","method":"POST","requestID":"81f67270-24e8-11f0-a431-d1fa1ca0a775","responseTime":59,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8","level":"info","message":"auth send jwt","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"5b7ddc23169a5abf427fbdd777c887e7","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/aebeab59-46b7-433c-b582-a214dc964d05","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.916673,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5b7ddc23169a5abf427fbdd777c887e7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924148,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"5b7ddc23169a5abf427fbdd777c887e7","responseTime":42,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Attempting to finish experiment","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.909717,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924148,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d","device":"8a93af9a-7e1a-4c55-af23-b10e190b9d30","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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":"0e69ca3e-625f-482c-8905-47f9925cb3f8","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/831d3d54-87de-49ab-b71a-eff0cf88813d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"831d3d54-87de-49ab-b71a-eff0cf88813d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F831d3d54-87de-49ab-b71a-eff0cf88813d': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F831d3d54-87de-49ab-b71a-eff0cf88813d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"af896a4e-d33b-486f-8c6f-1d235f9ba8a6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.193473} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86385f31-0f17-4ff9-8591-374616879cf4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.1940475} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d1c75aa6be870112fd75f1143ba6ba3e","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":"d1c75aa6be870112fd75f1143ba6ba3e","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8050b72bc13a83e0e88a0e284e03f0a5","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":"8050b72bc13a83e0e88a0e284e03f0a5","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":"connected","url":"http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8"},{"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/8a93af9a-7e1a-4c55-af23-b10e190b9d30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"}}},"level":"info","message":"received a callback","requestID":"8050b72bc13a83e0e88a0e284e03f0a5"} 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/0e69ca3e-625f-482c-8905-47f9925cb3f8"},{"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/8a93af9a-7e1a-4c55-af23-b10e190b9d30"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"}}},"level":"info","message":"received a callback","requestID":"d1c75aa6be870112fd75f1143ba6ba3e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d 204 157ms","method":"DELETE","requestID":"820c6b70-24e8-11f0-a431-d1fa1ca0a775","responseTime":157,"status":204,"url":"/peerconnections/831d3d54-87de-49ab-b71a-eff0cf88813d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aebeab59-46b7-433c-b582-a214dc964d05"},"level":"info","message":"Successfully finished experiment","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"822b1700-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e69ca3e-625f-482c-8905-47f9925cb3f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"528e495f-7771-49d8-bc04-7f48f1956340","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.3421373} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.538726,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"822b1700-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"822b1700-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faebeab59-46b7-433c-b582-a214dc964d05': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faebeab59-46b7-433c-b582-a214dc964d05","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"f57434bc-ee0e-484a-bf10-3bf5db250997","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.3855145} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2868ff4b-ab6d-4efd-ab6e-dad5ecbcdace","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.3858976} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"822b1700-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling 200 54ms","method":"POST","requestID":"822b1700-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"82377310-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 83ms","method":"POST","requestID":"5b7ddc23169a5abf427fbdd777c887e7","responseTime":83,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.419368,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a93af9a-7e1a-4c55-af23-b10e190b9d30","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bef2db41-b36c-4e87-b842-cef96ba2e3b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.42617} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"82377310-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"82377310-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"82377310-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling 200 22ms","method":"POST","requestID":"82377310-24e8-11f0-a431-d1fa1ca0a775","responseTime":22,"status":200,"url":"/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/aebeab59-46b7-433c-b582-a214dc964d05","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/aebeab59-46b7-433c-b582-a214dc964d05 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.560","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b7ddc23169a5abf427fbdd777c887e7"} experiment-1 | {"level":"info","message":"DELETE /experiments/aebeab59-46b7-433c-b582-a214dc964d05 204 531ms","method":"DELETE","requestID":"5b7ddc23169a5abf427fbdd777c887e7","responseTime":531,"status":204,"url":"/experiments/aebeab59-46b7-433c-b582-a214dc964d05"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 418ms","method":"POST","requestID":"8050b72bc13a83e0e88a0e284e03f0a5","responseTime":418,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8","level":"info","message":"auth send jwt","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 392ms","method":"POST","requestID":"d1c75aa6be870112fd75f1143ba6ba3e","responseTime":393,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +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.428","http_referrer":"","http_user_agent":"node-fetch","requestID":"8050b72bc13a83e0e88a0e284e03f0a5"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.938783,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924148,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"5.426","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"22e12daab9916c183b078a705174f9c3"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +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.433","http_referrer":"","http_user_agent":"node-fetch","requestID":"d1c75aa6be870112fd75f1143ba6ba3e"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0e69ca3e-625f-482c-8905-47f9925cb3f8' closed"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2748","request_time":"4.183","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":"9d5f6008299e8d8dffdde1e3f5de6bf4"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"98c29421-4b83-4f58-ab4e-7c8cbd442b03","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.7068183} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":28,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3c26fd2-f432-4985-b408-5604c44383e8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.7660818} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8a93af9a-7e1a-4c55-af23-b10e190b9d30' closed"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"f23d04ee-11dc-4521-bb26-e8067870c904","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.8995392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b61b00ce-83fc-456d-9f48-f5f43fb6671a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.9003022} authorization-1 | {"level":"info","message":"POST /relations/update 200 141ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":141,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"c010756d-0687-4c2b-be60-8b4218cad549","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924148.9131033} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa"} device-1 | {"level":"info","message":"POST /devices? 201 296ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":296,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.301","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa"} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","method":"POST","requestID":"cd8eba5335462cf1ee4cc76c93c9fdaa","responseTime":40,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8","level":"info","message":"auth send jwt","requestID":"22308e6ee25429209ea071f3a3329e71"} authentication-1 | {"level":"info","message":"GET /auth 200 37ms","method":"GET","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":37,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"22308e6ee25429209ea071f3a3329e71"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.97936,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"22308e6ee25429209ea071f3a3329e71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924148,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE0OH0.rycz40OXtxQSJ32G7qp1KBCvpzi6yl7DH0vByG0lvo8"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":52,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"22be0bc6-28a3-4876-9c7a-2634c8ace3e4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924149.0565424} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7329ade3-af86-4e99-ba52-2eab30616827","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924149.0645587} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":33,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"01704735-2f2a-415d-978b-7ec5eb1b40bd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924149.1028638} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"051e3323-f68d-446f-b2e2-8cb9c1453a53","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924149.1034977} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":43,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"1e9406d7-1738-454c-bd01-f0478d0a19df","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924149.10809} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"22308e6ee25429209ea071f3a3329e71"} gateway-1 | {"time_local":"29/Apr/2025:10:55:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22308e6ee25429209ea071f3a3329e71"} device-1 | {"level":"info","message":"POST /devices? 201 153ms","method":"POST","requestID":"22308e6ee25429209ea071f3a3329e71","responseTime":153,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MH0.29-ZaO88k45Fe9M6IGpoPBZ_7tFEIGMdmvi3Y99RuBQ","level":"info","message":"auth send jwt","requestID":"7b2c874888f67f6cd16f74eb5539ebf6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7b2c874888f67f6cd16f74eb5539ebf6"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:50Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873406,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7b2c874888f67f6cd16f74eb5539ebf6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924150,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MH0.29-ZaO88k45Fe9M6IGpoPBZ_7tFEIGMdmvi3Y99RuBQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"b472bda7-3893-445b-b40d-fd90d985f277","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.0124874} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99a449bb-e986-49ba-96de-00b92c616c15","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.0240812} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"f3f569b70fa56fe1921263b87c66fa89"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f3f569b70fa56fe1921263b87c66fa89"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"a462ad98-eda6-489f-b189-d54e2da39f28","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.0812788} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7b2c874888f67f6cd16f74eb5539ebf6"} authorization-1 | {"level":"info","message":"POST /relations/query 200 38ms","method":"POST","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","responseTime":38,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.976848,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"f3f569b70fa56fe1921263b87c66fa89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":35,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f8bf3a61-b343-451d-9239-973a40f28b04 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.153","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"7b2c874888f67f6cd16f74eb5539ebf6"} device-1 | {"level":"info","message":"PATCH /devices/f8bf3a61-b343-451d-9239-973a40f28b04 200 153ms","method":"PATCH","requestID":"7b2c874888f67f6cd16f74eb5539ebf6","responseTime":153,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"e335562307ece528979d3a3d56642b2a"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"e335562307ece528979d3a3d56642b2a","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e335562307ece528979d3a3d56642b2a"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917952,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e335562307ece528979d3a3d56642b2a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e335562307ece528979d3a3d56642b2a","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"3e3552f5-770c-4e03-bf80-62e269c9d8b8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.1734784} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":14,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c72f42b3-c391-4c76-a570-5ce6cdbc1592","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.2095637} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e335562307ece528979d3a3d56642b2a"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/websocket 200 63ms","method":"POST","requestID":"e335562307ece528979d3a3d56642b2a","responseTime":63,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"e335562307ece528979d3a3d56642b2a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"97236b8d-fbe1-4d44-b22f-edfbd4dd8ed7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.2569945} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f3f569b70fa56fe1921263b87c66fa89"} device-1 | {"level":"info","message":"PATCH /devices/9f72b856-53d3-4534-a6b1-90523480d367 200 185ms","method":"PATCH","requestID":"f3f569b70fa56fe1921263b87c66fa89","responseTime":185,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9f72b856-53d3-4534-a6b1-90523480d367 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.193","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"f3f569b70fa56fe1921263b87c66fa89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"24c0629286cbc6d9c9c83a7c03309fe8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24c0629286cbc6d9c9c83a7c03309fe8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"24c0629286cbc6d9c9c83a7c03309fe8"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.156428,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"24c0629286cbc6d9c9c83a7c03309fe8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04' connected"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"24c0629286cbc6d9c9c83a7c03309fe8","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"24c0629286cbc6d9c9c83a7c03309fe8"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/websocket 200 46ms","method":"POST","requestID":"24c0629286cbc6d9c9c83a7c03309fe8","responseTime":46,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/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":"24c0629286cbc6d9c9c83a7c03309fe8"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"59f9a8ea363329523408a7d6e98ae9a1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"59f9a8ea363329523408a7d6e98ae9a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"59f9a8ea363329523408a7d6e98ae9a1"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089284,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"59f9a8ea363329523408a7d6e98ae9a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"59f9a8ea363329523408a7d6e98ae9a1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"dcd9c5d0-940e-4518-b2ab-d4dff9141e96","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.4062405} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"59f9a8ea363329523408a7d6e98ae9a1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"59f9a8ea363329523408a7d6e98ae9a1"} device-1 | {"level":"info","message":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? 200 19ms","method":"GET","requestID":"59f9a8ea363329523408a7d6e98ae9a1","responseTime":19,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59f9a8ea363329523408a7d6e98ae9a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"8689712b9bdcd27c70e14476316536d1"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"8689712b9bdcd27c70e14476316536d1","responseTime":29,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8689712b9bdcd27c70e14476316536d1"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047743,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8689712b9bdcd27c70e14476316536d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8689712b9bdcd27c70e14476316536d1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"62f91326-ccb8-44bd-9c63-8ee552390ea3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.4631515} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"8689712b9bdcd27c70e14476316536d1","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8689712b9bdcd27c70e14476316536d1"} device-1 | {"level":"info","message":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? 200 52ms","method":"GET","requestID":"8689712b9bdcd27c70e14476316536d1","responseTime":52,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.082","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8689712b9bdcd27c70e14476316536d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s","level":"info","message":"auth send jwt","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"741c0c8a373192f9118458a6d15543d2"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"741c0c8a373192f9118458a6d15543d2","responseTime":8,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.93281,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"741c0c8a373192f9118458a6d15543d2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"741c0c8a373192f9118458a6d15543d2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to run experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to book experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully booked experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94572,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"e4d4b8df-e916-4d8c-9546-1bb0ac71291d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.8300376} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? 200 56ms","method":"GET","requestID":"8439abb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04?"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","method":"POST","requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.068206,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:51Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"c4ba5e49-b249-4637-bec8-0e18f7bd4f7c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924151.873197} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":30,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? 200 99ms","method":"GET","requestID":"843a20e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":99,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Setting up experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully locked booking for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to update booking for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully updated booking for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully set up experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.134304,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"846c7b80-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136752,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully running experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e8e7e8c-7f87-4911-b5cd-763d00371e4b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.1279378} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.27692,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"846c7b80-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","rebac_allow":false,"scope_allow":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":"846c7b80-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"1cb7fdb9-1d8d-4b78-b641-f4bf7888d958","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.1303566} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"edb2b7e8-dd70-409c-bd97-4a8546d85772","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.1668499} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"846c7b80-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling 200 50ms","method":"POST","requestID":"846c7b80-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"847491d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? 200 104ms","method":"GET","requestID":"84650170-24e8-11f0-a431-d1fa1ca0a775","responseTime":104,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 16ms","method":"POST","requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? 200 91ms","method":"GET","requestID":"846c2d60-24e8-11f0-a431-d1fa1ca0a775","responseTime":91,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"847afa70-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.453116,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33f819ce-89a2-4338-87e6-c948249ce936#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33f819ce-89a2-4338-87e6-c948249ce936","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"28237802-e788-459e-bfcc-b57500d988cb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.2095194} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04045a2f-e0fe-4117-aea9-3da76e237205","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.2103574} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c092622-6048-438b-bb7a-674680984d38","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.2142782} authorization-1 | {"level":"info","message":"POST /relations/update 200 91ms","method":"POST","requestID":"741c0c8a373192f9118458a6d15543d2","responseTime":91,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"847491d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","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 succeeded","requestID":"847491d0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 732ms","method":"POST","requestID":"741c0c8a373192f9118458a6d15543d2","responseTime":732,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.737","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"741c0c8a373192f9118458a6d15543d2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1Mn0.Jsn-SgPlw85fxRSuJTBLxrSTVt8hDJ2CQd2sh-Fz4os","level":"info","message":"auth send jwt","requestID":"54d72b1c45e374c66e19f2cd0595566d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54d72b1c45e374c66e19f2cd0595566d","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 90ms","method":"POST","requestID":"847491d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":90,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling 200 96ms","method":"POST","requestID":"847491d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":96,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"54d72b1c45e374c66e19f2cd0595566d"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.43484,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f98a91d4-5f8b-4945-9f9b-d956956c7101","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.2749646} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"847afa70-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 49ms","method":"POST","requestID":"847afa70-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"847afa70-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling 200 109ms","method":"POST","requestID":"847afa70-24e8-11f0-a431-d1fa1ca0a775","responseTime":109,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890461,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"848bea60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"54d72b1c45e374c66e19f2cd0595566d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924152,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1Mn0.Jsn-SgPlw85fxRSuJTBLxrSTVt8hDJ2CQd2sh-Fz4os"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","method":"POST","requestID":"54d72b1c45e374c66e19f2cd0595566d","responseTime":52,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:48.899491006Z"}]},"request_id":"ce2de97e-519a-409f-a246-19f7f0ab22c0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.3572319} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ab1116f-7686-4d4d-9876-10399601c40c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.3575425} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"54d72b1c45e374c66e19f2cd0595566d","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.357236,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"848bea60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","rebac_allow":false,"scope_allow":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":"848bea60-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54d72b1c45e374c66e19f2cd0595566d"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"54d72b1c45e374c66e19f2cd0595566d"} device-1 | {"level":"info","message":"GET /devices/f8bf3a61-b343-451d-9239-973a40f28b04? 200 98ms","method":"GET","requestID":"54d72b1c45e374c66e19f2cd0595566d","responseTime":98,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1Mn0.Jsn-SgPlw85fxRSuJTBLxrSTVt8hDJ2CQd2sh-Fz4os","level":"info","message":"auth send jwt","requestID":"7e82908f0b727e7c9d27a75cc3310c9a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e82908f0b727e7c9d27a75cc3310c9a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"848bea60-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Building connection plan","requestID":"741c0c8a373192f9118458a6d15543d2"} 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":"e837f4fc-5005-44cb-a943-50f7462ac001"},{"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":"b8a051a0-ceb8-4206-8b18-ebee1b4668e9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"48a73355-e314-47f8-8793-3edf45ded14a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"741c0c8a373192f9118458a6d15543d2"} 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/f8bf3a61-b343-451d-9239-973a40f28b04"},{"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/9f72b856-53d3-4534-a6b1-90523480d367"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"741c0c8a373192f9118458a6d15543d2"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling 200 82ms","method":"POST","requestID":"848bea60-24e8-11f0-a431-d1fa1ca0a775","responseTime":82,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e82908f0b727e7c9d27a75cc3310c9a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37420","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.39277,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.732331,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"7e82908f0b727e7c9d27a75cc3310c9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924152,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1Mn0.Jsn-SgPlw85fxRSuJTBLxrSTVt8hDJ2CQd2sh-Fz4os"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"7e82908f0b727e7c9d27a75cc3310c9a","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924151,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1MX0.yz9XVm-mXi5-vE78xUzUWSACDo1S0Iy6V_9fn4AZk9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:49.102826778Z"}]},"request_id":"946babfb-0440-4a56-999b-691fb2a7f1be","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.4564013} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e82908f0b727e7c9d27a75cc3310c9a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e82908f0b727e7c9d27a75cc3310c9a"} gateway-1 | {"time_local":"29/Apr/2025:10:55:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e82908f0b727e7c9d27a75cc3310c9a"} device-1 | {"level":"info","message":"GET /devices/9f72b856-53d3-4534-a6b1-90523480d367? 200 55ms","method":"GET","requestID":"7e82908f0b727e7c9d27a75cc3310c9a","responseTime":55,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367?"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"66741ec9-07c8-4151-8885-3fc12c106323","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.4685464} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64023aeb-d298-42f0-8928-ed08bb81530c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.47004} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56'","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56'","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 134ms","method":"POST","requestID":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":134,"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":"8498e2b0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"741c0c8a373192f9118458a6d15543d2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"84bc2220-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5ce7adf-0f1b-45b1-905a-f708c81131f3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.6497939} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.09847,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"84bc2220-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","rebac_allow":false,"scope_allow":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":"84bc2220-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"84bc2220-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling 200 18ms","method":"POST","requestID":"84bc2220-24e8-11f0-a431-d1fa1ca0a775","responseTime":18,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"84bf2f60-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.75555,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:52Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c21c88b-d83a-4ea3-910f-842a5d7ee078","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924152.696036} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"84bf2f60-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","rebac_allow":false,"scope_allow":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":"84bf2f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"84bf2f60-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling 200 43ms","method":"POST","requestID":"84bf2f60-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling"} device-1 | {"device":"9f72b856-53d3-4534-a6b1-90523480d367","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":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f8bf3a61-b343-451d-9239-973a40f28b04","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 | {"device":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0545c77fa09b52fc8da5bdd251c3f9ed","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":"0545c77fa09b52fc8da5bdd251c3f9ed","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/f8bf3a61-b343-451d-9239-973a40f28b04"},{"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/9f72b856-53d3-4534-a6b1-90523480d367"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"}}},"level":"info","message":"received a callback","requestID":"0545c77fa09b52fc8da5bdd251c3f9ed"} device-1 | {"device":"9f72b856-53d3-4534-a6b1-90523480d367","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"0545c77fa09b52fc8da5bdd251c3f9ed","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:54 +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.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"0545c77fa09b52fc8da5bdd251c3f9ed"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","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/18ac2ce0-ba62-478c-8941-286ea4d7ed56' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","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":[{"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/f8bf3a61-b343-451d-9239-973a40f28b04"},{"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/9f72b856-53d3-4534-a6b1-90523480d367"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"}}},"level":"info","message":"received a callback","requestID":"ced4ab2ce1ff561379a6451f317a59fe"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ced4ab2ce1ff561379a6451f317a59fe","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 25ms","method":"GET","requestID":"ced4ab2ce1ff561379a6451f317a59fe","responseTime":25,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NH0.J0nF1h5w8P9wk9N9MEMhyaouA1tgO6kf6q39fCIcAp8","level":"info","message":"auth send jwt","requestID":"b7801223c91ced3264144fe922b7e62b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b7801223c91ced3264144fe922b7e62b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"861633e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:54Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"b7801223c91ced3264144fe922b7e62b"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18ac2ce0-ba62-478c-8941-286ea4d7ed56","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1cbd094-e545-4941-9386-927fd2c254c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924154.919115} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":30.795919,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"861633e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56","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 38ms","method":"POST","requestID":"861633e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"861633e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56 200 43ms","method":"GET","requestID":"861633e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.894603,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b7801223c91ced3264144fe922b7e62b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924154,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NH0.J0nF1h5w8P9wk9N9MEMhyaouA1tgO6kf6q39fCIcAp8"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"b7801223c91ced3264144fe922b7e62b","responseTime":37,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"b7801223c91ced3264144fe922b7e62b"} experiment-1 | {"level":"info","message":"GET /experiments/33f819ce-89a2-4338-87e6-c948249ce936 200 91ms","method":"GET","requestID":"b7801223c91ced3264144fe922b7e62b","responseTime":91,"status":200,"url":"/experiments/33f819ce-89a2-4338-87e6-c948249ce936"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33f819ce-89a2-4338-87e6-c948249ce936 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7801223c91ced3264144fe922b7e62b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"ced4ab2ce1ff561379a6451f317a59fe","responseTime":162,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"862d6560-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.229477,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b039c0f0-db95-4017-9247-6cf182830dbc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.0913658} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"862d6560-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","rebac_allow":false,"scope_allow":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":"862d6560-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +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":"ced4ab2ce1ff561379a6451f317a59fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0","level":"info","message":"auth send jwt","requestID":"07c564d99a7ec40daf080394933d1318"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"07c564d99a7ec40daf080394933d1318","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"07c564d99a7ec40daf080394933d1318"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.85867,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"07c564d99a7ec40daf080394933d1318","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924155,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"07c564d99a7ec40daf080394933d1318","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"07c564d99a7ec40daf080394933d1318"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/33f819ce-89a2-4338-87e6-c948249ce936 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07c564d99a7ec40daf080394933d1318"} experiment-1 | {"level":"info","message":"GET /experiments/33f819ce-89a2-4338-87e6-c948249ce936 200 15ms","method":"GET","requestID":"07c564d99a7ec40daf080394933d1318","responseTime":15,"status":200,"url":"/experiments/33f819ce-89a2-4338-87e6-c948249ce936"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"862d6560-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0","level":"info","message":"auth send jwt","requestID":"01b8499c1572a22a276d03f778231031"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"01b8499c1572a22a276d03f778231031","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling 200 123ms","method":"POST","requestID":"862d6560-24e8-11f0-a431-d1fa1ca0a775","responseTime":123,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86407830-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"01b8499c1572a22a276d03f778231031"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.84871,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"01b8499c1572a22a276d03f778231031","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924155,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"01b8499c1572a22a276d03f778231031","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Attempting to finish experiment","requestID":"01b8499c1572a22a276d03f778231031"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.31831,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bee11e2f-fe9d-42be-bbf8-92436551b901","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.197282} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"86407830-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"86407830-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86407830-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling 200 54ms","method":"POST","requestID":"86407830-24e8-11f0-a431-d1fa1ca0a775","responseTime":54,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.122651,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924155,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","method":"POST","requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775","responseTime":19,"status":200,"url":"/authorize"} device-1 | {"device":"9f72b856-53d3-4534-a6b1-90523480d367","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"9f72b856-53d3-4534-a6b1-90523480d367","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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":"f8bf3a61-b343-451d-9239-973a40f28b04","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/18ac2ce0-ba62-478c-8941-286ea4d7ed56' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"02d35aa0c42a63ceeadf508f829f53f3","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":"02d35aa0c42a63ceeadf508f829f53f3","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/f8bf3a61-b343-451d-9239-973a40f28b04"},{"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/9f72b856-53d3-4534-a6b1-90523480d367"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"}}},"level":"info","message":"received a callback","requestID":"02d35aa0c42a63ceeadf508f829f53f3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0dc8b70a7e195dc40654625c39a12079","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":"0dc8b70a7e195dc40654625c39a12079","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18ac2ce0-ba62-478c-8941-286ea4d7ed56': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F18ac2ce0-ba62-478c-8941-286ea4d7ed56","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"46b3aaad-4a7b-4025-ae60-b7353c4827bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.3052263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07635ff9-00c6-4b5b-aff5-83b3b634f6ca","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.3062851} 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":"connected","url":"http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04"},{"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/9f72b856-53d3-4534-a6b1-90523480d367"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"}}},"level":"info","message":"received a callback","requestID":"0dc8b70a7e195dc40654625c39a12079"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"18ac2ce0-ba62-478c-8941-286ea4d7ed56","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56 204 194ms","method":"DELETE","requestID":"86427400-24e8-11f0-a431-d1fa1ca0a775","responseTime":194,"status":204,"url":"/peerconnections/18ac2ce0-ba62-478c-8941-286ea4d7ed56"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/33f819ce-89a2-4338-87e6-c948249ce936"},"level":"info","message":"Successfully finished experiment","requestID":"01b8499c1572a22a276d03f778231031"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"866c9140-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.442007,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff8bf3a61-b343-451d-9239-973a40f28b04","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35908832-6109-497a-a094-28cced3645ca","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.48333} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"866c9140-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04","object_type":"device","rebac_allow":false,"scope_allow":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":"866c9140-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33f819ce-89a2-4338-87e6-c948249ce936': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F33f819ce-89a2-4338-87e6-c948249ce936","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"9558c244-6c8f-4cb9-95bc-ea7776077379","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.493005} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"229ee073-6584-461a-b042-18720255e1c7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.4935846} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"01b8499c1572a22a276d03f778231031","responseTime":50,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"866c9140-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling 200 49ms","method":"POST","requestID":"866c9140-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/f8bf3a61-b343-451d-9239-973a40f28b04/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"86748080-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.185484,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f72b856-53d3-4534-a6b1-90523480d367","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa52ac39-9dca-4392-bcad-c453b6036a44","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.535165} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"86748080-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367","object_type":"device","rebac_allow":false,"scope_allow":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":"86748080-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"86748080-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling 200 42ms","method":"POST","requestID":"86748080-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/9f72b856-53d3-4534-a6b1-90523480d367/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/33f819ce-89a2-4338-87e6-c948249ce936","requestID":"01b8499c1572a22a276d03f778231031"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/33f819ce-89a2-4338-87e6-c948249ce936 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.561","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01b8499c1572a22a276d03f778231031"} experiment-1 | {"level":"info","message":"DELETE /experiments/33f819ce-89a2-4338-87e6-c948249ce936 204 531ms","method":"DELETE","requestID":"01b8499c1572a22a276d03f778231031","responseTime":531,"status":204,"url":"/experiments/33f819ce-89a2-4338-87e6-c948249ce936"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 424ms","method":"POST","requestID":"02d35aa0c42a63ceeadf508f829f53f3","responseTime":424,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"4.501","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"5cbb8a02e38f49a396caa0f4f9051d14"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"4.375","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"86d79484b4ec17112018e677eb1f1a7b"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +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.427","http_referrer":"","http_user_agent":"node-fetch","requestID":"02d35aa0c42a63ceeadf508f829f53f3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0","level":"info","message":"auth send jwt","requestID":"94e6df150e4f2cf32d9b68b323980f89"} authentication-1 | {"level":"info","message":"GET /auth 200 14ms","method":"GET","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":14,"status":200,"url":"/auth"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9f72b856-53d3-4534-a6b1-90523480d367' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 440ms","method":"POST","requestID":"0dc8b70a7e195dc40654625c39a12079","responseTime":440,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +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.479","http_referrer":"","http_user_agent":"node-fetch","requestID":"0dc8b70a7e195dc40654625c39a12079"} device-1 | {"level":"info","message":"postDevices called","requestID":"94e6df150e4f2cf32d9b68b323980f89"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950599,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94e6df150e4f2cf32d9b68b323980f89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924155,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f8bf3a61-b343-451d-9239-973a40f28b04' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29338cb4-5f9e-4e61-863f-1a001dc79873","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.8613894} authorization-1 | {"level":"info","message":"POST /relations/query 200 41ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":41,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42e19693-3cd5-4f24-bb73-02521e2b0d9c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.9060934} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"beade503-6619-4206-879f-7d5a77952024","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.9537017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4723962d-4553-45f1-8ab5-152c58ac79ac","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.9553514} authorization-1 | {"level":"info","message":"POST /relations/update 200 81ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":81,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"44a2a66e-ac92-4f5d-a21e-ab313521dc52","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924155.9629228} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"94e6df150e4f2cf32d9b68b323980f89"} device-1 | {"level":"info","message":"POST /devices? 201 184ms","method":"POST","requestID":"94e6df150e4f2cf32d9b68b323980f89","responseTime":184,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.244","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94e6df150e4f2cf32d9b68b323980f89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0","level":"info","message":"auth send jwt","requestID":"3845acecd39cf97f4be778dc3b1a8716"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3845acecd39cf97f4be778dc3b1a8716"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.913227,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3845acecd39cf97f4be778dc3b1a8716","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924155,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1NX0.ppsLbgfZSTTIP4WjlaITObRDtX9XYqBwvo0p1V1vAl0"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":42,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"334c64ff-2be4-4cb9-b1ff-1073f3ee00c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924156.1052268} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":7,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04022616-781b-4ad4-b76a-17b75e4c2fdf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924156.1178403} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":32,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"13abf2f9-9339-4894-8758-ddf48ed2bbce","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924156.1989832} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"864da273-0a61-405a-8cbe-631ccc07e35f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924156.1996167} authorization-1 | {"level":"info","message":"POST /relations/update 200 88ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":88,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"b7461fd7-d79f-4ad4-b953-29b2423b94e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924156.210773} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3845acecd39cf97f4be778dc3b1a8716"} gateway-1 | {"time_local":"29/Apr/2025:10:55: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.248","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3845acecd39cf97f4be778dc3b1a8716"} device-1 | {"level":"info","message":"POST /devices? 201 244ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":244,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"3845acecd39cf97f4be778dc3b1a8716","responseTime":12,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1N30.ibKKdwNjCqc7rpyZsa-g7h3t3m2oBm9mmtmtKn5wtSw","level":"info","message":"auth send jwt","requestID":"6f18dffe77e6c4df29f1a3ef806e929d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6f18dffe77e6c4df29f1a3ef806e929d"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.853747,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"6f18dffe77e6c4df29f1a3ef806e929d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924157,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1N30.ibKKdwNjCqc7rpyZsa-g7h3t3m2oBm9mmtmtKn5wtSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"e4f817f9-e175-413d-962c-a891033f9560","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924157.9868011} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d89bf66-4110-4a02-a10a-9f706201be07","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.0171206} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","responseTime":29,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"704926ac53cb2c871da4e50c3429b1ce"} authentication-1 | {"level":"info","message":"GET /auth 200 47ms","method":"GET","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":47,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"704926ac53cb2c871da4e50c3429b1ce"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"afff3b35-15cf-4a36-adb8-4fb53b5bd8f8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.0779924} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6f18dffe77e6c4df29f1a3ef806e929d"} device-1 | {"level":"info","message":"PATCH /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea 200 107ms","method":"PATCH","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","responseTime":107,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.137","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"6f18dffe77e6c4df29f1a3ef806e929d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"6f18dffe77e6c4df29f1a3ef806e929d","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90482,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"704926ac53cb2c871da4e50c3429b1ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":34,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"8da75049cd85cd1f666206a62b186503"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"8da75049cd85cd1f666206a62b186503","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8da75049cd85cd1f666206a62b186503"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228174,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8da75049cd85cd1f666206a62b186503","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8da75049cd85cd1f666206a62b186503","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"f0093e45-eb2d-45f7-8a39-2adcd3b1d932","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.1653612} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8da75049cd85cd1f666206a62b186503"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adb16aaa-817b-4d8f-a4bb-027bfe710639","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.2128947} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/websocket 200 94ms","method":"POST","requestID":"8da75049cd85cd1f666206a62b186503","responseTime":94,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.129","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"8da75049cd85cd1f666206a62b186503"} device-1 | {"level":"info","message":"device 'http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea' connected"} authorization-1 | {"level":"info","message":"POST /relations/update 200 147ms","method":"POST","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":147,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"81bb92a9-ef7a-4181-98cd-cddd6f2e9b9f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.3226814} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"704926ac53cb2c871da4e50c3429b1ce"} device-1 | {"level":"info","message":"PATCH /devices/f74db114-4efc-43f3-a365-11b0f74d125e 200 251ms","method":"PATCH","requestID":"704926ac53cb2c871da4e50c3429b1ce","responseTime":251,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f74db114-4efc-43f3-a365-11b0f74d125e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.330","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"704926ac53cb2c871da4e50c3429b1ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"d76d3ed2c8070b6bd58037aefd3a0122"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d76d3ed2c8070b6bd58037aefd3a0122","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d76d3ed2c8070b6bd58037aefd3a0122"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":3.098475,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d76d3ed2c8070b6bd58037aefd3a0122","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"d76d3ed2c8070b6bd58037aefd3a0122","responseTime":42,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d76d3ed2c8070b6bd58037aefd3a0122"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/websocket 200 94ms","method":"POST","requestID":"d76d3ed2c8070b6bd58037aefd3a0122","responseTime":94,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.100","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"d76d3ed2c8070b6bd58037aefd3a0122"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"d0897ae5d364809705125076f45e9223"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0897ae5d364809705125076f45e9223","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0897ae5d364809705125076f45e9223"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.897925,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"d0897ae5d364809705125076f45e9223","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d0897ae5d364809705125076f45e9223","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"e89b7796-27a2-4d8a-9a33-e2a031d54f2e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.5188954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0897ae5d364809705125076f45e9223","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0897ae5d364809705125076f45e9223"} device-1 | {"level":"info","message":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? 200 18ms","method":"GET","requestID":"d0897ae5d364809705125076f45e9223","responseTime":18,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? 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":"d0897ae5d364809705125076f45e9223"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"0fb385306e070787e4f98628117911da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0fb385306e070787e4f98628117911da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0fb385306e070787e4f98628117911da"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.475983,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0fb385306e070787e4f98628117911da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0fb385306e070787e4f98628117911da","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"e5a005f5-c4de-410b-a209-5190b15c9cb5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.5947404} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"0fb385306e070787e4f98628117911da","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0fb385306e070787e4f98628117911da"} device-1 | {"level":"info","message":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? 200 48ms","method":"GET","requestID":"0fb385306e070787e4f98628117911da","responseTime":48,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fb385306e070787e4f98628117911da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0","level":"info","message":"auth send jwt","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5","responseTime":9,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.409306,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to run experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to book experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully booked experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019865,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968984,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"fa0e072f-4771-4f9f-94ca-3c50e4bde5f1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.834403} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? 200 64ms","method":"GET","requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775","responseTime":64,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 44ms","method":"POST","requestID":"88661750-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"171d7021-404a-4d68-bc8c-e6c2ec87fddc","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924158.8553128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? 200 90ms","method":"GET","requestID":"886728c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":90,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Setting up experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully locked booking for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to update booking for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully updated booking for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully set up experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:58Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916861,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871496,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"188f23a8-307e-4931-a648-1a61fbd3008c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.0286233} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"888beed0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? 200 48ms","method":"GET","requestID":"88851100-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully running experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"c87ce54a-ea8a-403d-af97-8c2cfd00c779","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.073503} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"861a2b2d-fb0f-4958-895e-6f017514cad7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.0765772} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? 200 92ms","method":"GET","requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8898c010-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 87ms","method":"POST","requestID":"8885ad40-24e8-11f0-a431-d1fa1ca0a775","responseTime":87,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.587336,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"888beed0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 95ms","method":"POST","requestID":"888beed0-24e8-11f0-a431-d1fa1ca0a775","responseTime":95,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"888beed0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling 200 136ms","method":"POST","requestID":"888beed0-24e8-11f0-a431-d1fa1ca0a775","responseTime":136,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8898c010-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8a4501b-9ee3-4766-8d1f-3cbf82df4692","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.1783166} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":37.916797,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8898c010-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"8898c010-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling 200 66ms","method":"POST","requestID":"8898c010-24e8-11f0-a431-d1fa1ca0a775","responseTime":66,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88a32050-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.039007,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61120c2d-84ad-42a6-b21b-fc1efb0eee46","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.2206059} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88a32050-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","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 succeeded","requestID":"88a32050-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling 200 40ms","method":"POST","requestID":"88a32050-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"88a32050-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88a9d710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F274091c1-64da-4353-abfe-6f7946ad0922#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F274091c1-64da-4353-abfe-6f7946ad0922","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"59bcb753-5e59-47bc-8388-10fcc0e17dc1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.237148} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b4701e9-ad13-4d17-9879-50e5ead0ff3a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.2378085} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 131ms","method":"POST","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5","responseTime":131,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c266a620-1cb7-4487-83e8-bb5aa1399803","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.2660728} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.796243,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88a9d710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"88a9d710-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88a9d710-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 664ms","method":"POST","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5","responseTime":664,"status":201,"url":"/experiments?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Building connection plan","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} 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":"a860f7a4-b7e8-42e8-80ba-f230905a951e"},{"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":"539506e0-c57b-4f31-acab-dcfb3d53a387"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5b93e7bc-a073-449b-bcd8-58b20d111f7d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} 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/69654437-2342-40d1-9bd3-89fa0db8e4ea"},{"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/f74db114-4efc-43f3-a365-11b0f74d125e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} gateway-1 | {"time_local":"29/Apr/2025:10:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.678","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling 200 49ms","method":"POST","requestID":"88a9d710-24e8-11f0-a431-d1fa1ca0a775","responseTime":49,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OX0.naXCJKrDuLXMbyUYGUzLPmSynQcBtp_Bf5PRLyUj2rs","level":"info","message":"auth send jwt","requestID":"e56e24a1be185166a446ddbeea5b9401"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e56e24a1be185166a446ddbeea5b9401"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.965861,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e56e24a1be185166a446ddbeea5b9401","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924158,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OH0.0ZWltocJJuahmSU4H8vXEWGYfspCEdNrZF014dxCkB0"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.120264,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e56e24a1be185166a446ddbeea5b9401","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924159,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OX0.naXCJKrDuLXMbyUYGUzLPmSynQcBtp_Bf5PRLyUj2rs"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"e56e24a1be185166a446ddbeea5b9401","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:55.953657525Z"}]},"request_id":"3a126e57-5042-4411-b6f4-806e4b64b812","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.332017} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"39037e85-68c4-45a2-b04d-2d821ee49ffd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.3346379} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"e56e24a1be185166a446ddbeea5b9401","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56f496c8-dbe6-4bec-8dd4-1ff661d0f7b4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.3358717} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e56e24a1be185166a446ddbeea5b9401"} device-1 | {"level":"info","message":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? 200 82ms","method":"GET","requestID":"e56e24a1be185166a446ddbeea5b9401","responseTime":82,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea?"} gateway-1 | {"time_local":"29/Apr/2025:10:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e56e24a1be185166a446ddbeea5b9401"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OX0.naXCJKrDuLXMbyUYGUzLPmSynQcBtp_Bf5PRLyUj2rs","level":"info","message":"auth send jwt","requestID":"3eb1f73de0cbeb7e2c0f37131977d819"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3eb1f73de0cbeb7e2c0f37131977d819"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3eb1f73de0cbeb7e2c0f37131977d819","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.60548,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad'","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"3eb1f73de0cbeb7e2c0f37131977d819","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924159,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE1OX0.naXCJKrDuLXMbyUYGUzLPmSynQcBtp_Bf5PRLyUj2rs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3eb1f73de0cbeb7e2c0f37131977d819","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad'","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 129ms","method":"POST","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775","responseTime":129,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:55:56.198949280Z"}]},"request_id":"07a230b0-7530-420b-ad75-bfb35ababf6e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.4224741} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"3eb1f73de0cbeb7e2c0f37131977d819","responseTime":11,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"88b19f40-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3eb1f73de0cbeb7e2c0f37131977d819"} gateway-1 | {"time_local":"29/Apr/2025:10:55:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? 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":"3eb1f73de0cbeb7e2c0f37131977d819"} device-1 | {"level":"info","message":"GET /devices/f74db114-4efc-43f3-a365-11b0f74d125e? 200 54ms","method":"GET","requestID":"3eb1f73de0cbeb7e2c0f37131977d819","responseTime":54,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"8e80ce922e7909ccf4f19dfdb2f9c6a5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88db2040-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9ee6457-d4d9-446a-812f-ee49c1c701c3","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.5636055} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.575289,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88db2040-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","rebac_allow":false,"scope_allow":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":"88db2040-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88db2040-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling 200 19ms","method":"POST","requestID":"88db2040-24e8-11f0-a431-d1fa1ca0a775","responseTime":19,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"88e22520-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.396349,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:55:59Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5ad738c-9740-42fc-ba05-4422983a124d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924159.6089168} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"88e22520-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","rebac_allow":false,"scope_allow":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":"88e22520-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"88e22520-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling 200 22ms","method":"POST","requestID":"88e22520-24e8-11f0-a431-d1fa1ca0a775","responseTime":22,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling"} device-1 | {"device":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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/ad56bca4-081d-4545-99f8-76549dee15ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d46f5a1abecb3f4f7d4ce3c171072d93","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":"d46f5a1abecb3f4f7d4ce3c171072d93","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/69654437-2342-40d1-9bd3-89fa0db8e4ea"},{"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/f74db114-4efc-43f3-a365-11b0f74d125e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"}}},"level":"info","message":"received a callback","requestID":"d46f5a1abecb3f4f7d4ce3c171072d93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"d46f5a1abecb3f4f7d4ce3c171072d93","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"d46f5a1abecb3f4f7d4ce3c171072d93"} device-1 | {"device":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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 | {"data":{"peerconnection":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"ad56bca4-081d-4545-99f8-76549dee15ad","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/ad56bca4-081d-4545-99f8-76549dee15ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"58c241218deca0f23481a678696f3e70","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":"58c241218deca0f23481a678696f3e70","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","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/69654437-2342-40d1-9bd3-89fa0db8e4ea"},{"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/f74db114-4efc-43f3-a365-11b0f74d125e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"}}},"level":"info","message":"received a callback","requestID":"58c241218deca0f23481a678696f3e70"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8a263de0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.826719,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad56bca4-081d-4545-99f8-76549dee15ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43f23f97-0e7d-4699-b3ff-905cb69e34d7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924161.7320507} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a263de0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad","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 34ms","method":"POST","requestID":"8a263de0-24e8-11f0-a431-d1fa1ca0a775","responseTime":34,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2MX0.t6rs4ENKs--5aJBRq6lf5OsH7DRRmS5gfYY7MZT7PH0","level":"info","message":"auth send jwt","requestID":"571b34815ab42f2c8c80a873627af047"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"571b34815ab42f2c8c80a873627af047","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8a263de0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/274091c1-64da-4353-abfe-6f7946ad0922","requestID":"571b34815ab42f2c8c80a873627af047"} device-1 | {"level":"info","message":"GET /peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad 200 89ms","method":"GET","requestID":"8a263de0-24e8-11f0-a431-d1fa1ca0a775","responseTime":89,"status":200,"url":"/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.952979,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"571b34815ab42f2c8c80a873627af047","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924161,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2MX0.t6rs4ENKs--5aJBRq6lf5OsH7DRRmS5gfYY7MZT7PH0"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"571b34815ab42f2c8c80a873627af047","responseTime":11,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"58c241218deca0f23481a678696f3e70"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a3be8c0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"58c241218deca0f23481a678696f3e70","responseTime":149,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/274091c1-64da-4353-abfe-6f7946ad0922","requestID":"571b34815ab42f2c8c80a873627af047"} gateway-1 | {"time_local":"29/Apr/2025:10:56:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/274091c1-64da-4353-abfe-6f7946ad0922 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"571b34815ab42f2c8c80a873627af047"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.705608,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d469165-0aa8-4972-bd71-e4ffd31a86d8","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924161.8745556} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a3be8c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"8a3be8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":37,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2MX0.t6rs4ENKs--5aJBRq6lf5OsH7DRRmS5gfYY7MZT7PH0","level":"info","message":"auth send jwt","requestID":"b54d86963c39858a091c894de72d0aca"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b54d86963c39858a091c894de72d0aca","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"GET /experiments/274091c1-64da-4353-abfe-6f7946ad0922 200 66ms","method":"GET","requestID":"571b34815ab42f2c8c80a873627af047","responseTime":66,"status":200,"url":"/experiments/274091c1-64da-4353-abfe-6f7946ad0922"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/274091c1-64da-4353-abfe-6f7946ad0922","requestID":"b54d86963c39858a091c894de72d0aca"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.978292,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b54d86963c39858a091c894de72d0aca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924161,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2MX0.t6rs4ENKs--5aJBRq6lf5OsH7DRRmS5gfYY7MZT7PH0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a3be8c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling 200 53ms","method":"POST","requestID":"8a3be8c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":53,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"b54d86963c39858a091c894de72d0aca","responseTime":45,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a495640-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Attempting to finish experiment","requestID":"b54d86963c39858a091c894de72d0aca"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.106274,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.877507,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:01Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b848b04-81f0-4d39-badf-035fd8ae2c11","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924161.9630692} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a495640-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8a495640-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924161,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2MX0.t6rs4ENKs--5aJBRq6lf5OsH7DRRmS5gfYY7MZT7PH0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a495640-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling 200 19ms","method":"POST","requestID":"8a495640-24e8-11f0-a431-d1fa1ca0a775","responseTime":19,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775","responseTime":39,"status":200,"url":"/authorize"} device-1 | {"device":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"f74db114-4efc-43f3-a365-11b0f74d125e","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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":"69654437-2342-40d1-9bd3-89fa0db8e4ea","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/ad56bca4-081d-4545-99f8-76549dee15ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"82fe23647ae1bf453ba51b66d732e066","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":"82fe23647ae1bf453ba51b66d732e066","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/69654437-2342-40d1-9bd3-89fa0db8e4ea"},{"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/f74db114-4efc-43f3-a365-11b0f74d125e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"}}},"level":"info","message":"received a callback","requestID":"82fe23647ae1bf453ba51b66d732e066"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"138b586ba4a2e7bc6eceea26caa1aa03","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":"138b586ba4a2e7bc6eceea26caa1aa03","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":"connected","url":"http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea"},{"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/f74db114-4efc-43f3-a365-11b0f74d125e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"}}},"level":"info","message":"received a callback","requestID":"138b586ba4a2e7bc6eceea26caa1aa03"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14e0e6fe-b4b8-446d-a252-e1b9c1dd0b6a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.1981413} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad56bca4-081d-4545-99f8-76549dee15ad': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fad56bca4-081d-4545-99f8-76549dee15ad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"35560e29-6a28-43b9-98c2-907e2f85ae3a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.1983745} authorization-1 | {"level":"info","message":"POST /relations/update 200 87ms","method":"POST","requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775","responseTime":87,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"ad56bca4-081d-4545-99f8-76549dee15ad","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad 204 303ms","method":"DELETE","requestID":"8a49a460-24e8-11f0-a431-d1fa1ca0a775","responseTime":303,"status":204,"url":"/peerconnections/ad56bca4-081d-4545-99f8-76549dee15ad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/274091c1-64da-4353-abfe-6f7946ad0922"},"level":"info","message":"Successfully finished experiment","requestID":"b54d86963c39858a091c894de72d0aca"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a7fa880-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F69654437-2342-40d1-9bd3-89fa0db8e4ea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66559b2c-aa19-4363-b55c-6ff24d08a02b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.3457444} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.189993,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a7fa880-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea","object_type":"device","rebac_allow":false,"scope_allow":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":"8a7fa880-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a7fa880-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling 200 43ms","method":"POST","requestID":"8a7fa880-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"status":200,"url":"/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8a868650-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39d7bf38-0ee3-4331-893c-bfcdc0efe80e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.3856122} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F274091c1-64da-4353-abfe-6f7946ad0922': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F274091c1-64da-4353-abfe-6f7946ad0922","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"37e0457e-6393-4c8c-aac2-aba87d411b89","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.3881247} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74db114-4efc-43f3-a365-11b0f74d125e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"979bcfd6-3c47-482d-9c28-adb0ea6b7e19","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.3899813} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"b54d86963c39858a091c894de72d0aca","responseTime":55,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.347734,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a868650-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8a868650-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8a868650-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling 200 47ms","method":"POST","requestID":"8a868650-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/f74db114-4efc-43f3-a365-11b0f74d125e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/274091c1-64da-4353-abfe-6f7946ad0922","requestID":"b54d86963c39858a091c894de72d0aca"} gateway-1 | {"time_local":"29/Apr/2025:10:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/274091c1-64da-4353-abfe-6f7946ad0922 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.666","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b54d86963c39858a091c894de72d0aca"} experiment-1 | {"level":"info","message":"DELETE /experiments/274091c1-64da-4353-abfe-6f7946ad0922 204 636ms","method":"DELETE","requestID":"b54d86963c39858a091c894de72d0aca","responseTime":636,"status":204,"url":"/experiments/274091c1-64da-4353-abfe-6f7946ad0922"} gateway-1 | {"time_local":"29/Apr/2025:10:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"4.080","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"95aef20c088b1db430153d824d4ce2ed"} gateway-1 | {"time_local":"29/Apr/2025:10:56:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"4.323","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.18","requestID":"16662372d0ecc275dc8a1bf8e1cc175b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Mn0.nDZvKGJR-cipwAFRmYrpiAWFeATB7JFIkmxOuW-76gY","level":"info","message":"auth send jwt","requestID":"920f0d01c34838e039368e4f5a3f3791"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"920f0d01c34838e039368e4f5a3f3791"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 427ms","method":"POST","requestID":"82fe23647ae1bf453ba51b66d732e066","responseTime":427,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 426ms","method":"POST","requestID":"138b586ba4a2e7bc6eceea26caa1aa03","responseTime":426,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56:02 +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.431","http_referrer":"","http_user_agent":"node-fetch","requestID":"82fe23647ae1bf453ba51b66d732e066"} gateway-1 | {"time_local":"29/Apr/2025:10:56:02 +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.429","http_referrer":"","http_user_agent":"node-fetch","requestID":"138b586ba4a2e7bc6eceea26caa1aa03"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/69654437-2342-40d1-9bd3-89fa0db8e4ea' closed"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.189026,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"920f0d01c34838e039368e4f5a3f3791","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924162,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Mn0.nDZvKGJR-cipwAFRmYrpiAWFeATB7JFIkmxOuW-76gY"} authorization-1 | {"level":"info","message":"POST /authorize 200 52ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":52,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f74db114-4efc-43f3-a365-11b0f74d125e' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32c31644-aced-4be5-b5ee-921b2dc57cb2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.7281752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9220e647-5955-42e0-803f-bdfe481f977f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.743159} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"36ef0525-a0d2-4003-9326-d96a42acee7b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.826787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99939fb2-a113-4d31-92af-82ac8d25745b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.8296998} authorization-1 | {"level":"info","message":"POST /relations/update 200 58ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":58,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:02.826747142Z"}]},"request_id":"3af46285-f3af-4ce6-ba4f-69290d1918c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.8373046} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"920f0d01c34838e039368e4f5a3f3791"} device-1 | {"level":"info","message":"POST /devices? 201 291ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":291,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.333","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"920f0d01c34838e039368e4f5a3f3791"} authorization-1 | {"level":"info","message":"POST /relations/query 200 39ms","method":"POST","requestID":"920f0d01c34838e039368e4f5a3f3791","responseTime":39,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Mn0.nDZvKGJR-cipwAFRmYrpiAWFeATB7JFIkmxOuW-76gY","level":"info","message":"auth send jwt","requestID":"26d2d3e10f2a0766ecd9e7955e265f11"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"26d2d3e10f2a0766ecd9e7955e265f11"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.232015,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"26d2d3e10f2a0766ecd9e7955e265f11","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924162,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Mn0.nDZvKGJR-cipwAFRmYrpiAWFeATB7JFIkmxOuW-76gY"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":36,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a03fcd91-12ea-463f-a9e1-d641203c177a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.9721248} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7632f928-5b87-4604-accc-8d8ae52c07e0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924162.9784496} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"58d472e8-8290-45a8-b0fd-c4e4f97416e7","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924163.0278704} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92256d13-9f77-4a18-aacf-234238711909","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924163.0290556} authorization-1 | {"level":"info","message":"POST /relations/update 200 79ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":79,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:03.027836181Z"}]},"request_id":"b0bfd9c0-356a-460c-8130-ba526db1c65b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924163.068649} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"26d2d3e10f2a0766ecd9e7955e265f11"} gateway-1 | {"time_local":"29/Apr/2025:10:56:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26d2d3e10f2a0766ecd9e7955e265f11"} device-1 | {"level":"info","message":"POST /devices? 201 190ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":190,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"26d2d3e10f2a0766ecd9e7955e265f11","responseTime":14,"status":200,"url":"/relations/query"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7f1c2dbb46a24e3400a0bbbf7bbad706","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":"7f1c2dbb46a24e3400a0bbbf7bbad706","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3154f161d40930f729f399e2d45c6537","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":"3154f161d40930f729f399e2d45c6537","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","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":"7f1c2dbb46a24e3400a0bbbf7bbad706"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","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":"3154f161d40930f729f399e2d45c6537"} device-1 | {"level":"info","message":"OPTIONS /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket 200 1ms","method":"OPTIONS","requestID":"7f1c2dbb46a24e3400a0bbbf7bbad706","responseTime":1,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket"} device-1 | {"level":"info","message":"OPTIONS /devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket 200 0ms","method":"OPTIONS","requestID":"3154f161d40930f729f399e2d45c6537","responseTime":0,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE","level":"info","message":"auth send jwt","requestID":"366a52d1d2d3b779ba399a8e5a3112c3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"366a52d1d2d3b779ba399a8e5a3112c3","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE","level":"info","message":"auth send jwt","requestID":"5fad8cc8978bddf4ab755d018992693b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"366a52d1d2d3b779ba399a8e5a3112c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5fad8cc8978bddf4ab755d018992693b"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106921,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007612,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"366a52d1d2d3b779ba399a8e5a3112c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924166,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"366a52d1d2d3b779ba399a8e5a3112c3","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 36ms","method":"GET","requestID":"5fad8cc8978bddf4ab755d018992693b","responseTime":36,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"5fad8cc8978bddf4ab755d018992693b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924166,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"5fad8cc8978bddf4ab755d018992693b","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5fad8cc8978bddf4ab755d018992693b"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","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":"5fad8cc8978bddf4ab755d018992693b"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket 200 53ms","method":"POST","requestID":"5fad8cc8978bddf4ab755d018992693b","responseTime":53,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"366a52d1d2d3b779ba399a8e5a3112c3"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.140","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":"366a52d1d2d3b779ba399a8e5a3112c3"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket 200 126ms","method":"POST","requestID":"366a52d1d2d3b779ba399a8e5a3112c3","responseTime":126,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE","level":"info","message":"auth send jwt","requestID":"9547d817179b6f49c2a0ff9b6710b8b8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9547d817179b6f49c2a0ff9b6710b8b8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9547d817179b6f49c2a0ff9b6710b8b8"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936246,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9547d817179b6f49c2a0ff9b6710b8b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924166,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9547d817179b6f49c2a0ff9b6710b8b8","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:02.826747142Z"}]},"request_id":"5189d002-4f48-4cc7-a449-bd41a3fb80b1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924166.8671956} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"9547d817179b6f49c2a0ff9b6710b8b8","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9547d817179b6f49c2a0ff9b6710b8b8"} device-1 | {"level":"info","message":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? 200 66ms","method":"GET","requestID":"9547d817179b6f49c2a0ff9b6710b8b8","responseTime":66,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9547d817179b6f49c2a0ff9b6710b8b8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE","level":"info","message":"auth send jwt","requestID":"380c3ef1dcf066c104062b6283794b82"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"380c3ef1dcf066c104062b6283794b82","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"380c3ef1dcf066c104062b6283794b82"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927389,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"380c3ef1dcf066c104062b6283794b82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924166,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2Nn0.iTLLxmnx6e64jpvaKFFcdMLnTpgOdWPhEO_wWzdl3gE"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"380c3ef1dcf066c104062b6283794b82","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:03.027836181Z"}]},"request_id":"7bcc1c41-a06d-43b4-a383-cde992c165b9","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924166.9661903} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"380c3ef1dcf066c104062b6283794b82","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"380c3ef1dcf066c104062b6283794b82"} gateway-1 | {"time_local":"29/Apr/2025:10:56:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 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":"380c3ef1dcf066c104062b6283794b82"} device-1 | {"level":"info","message":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 200 47ms","method":"GET","requestID":"380c3ef1dcf066c104062b6283794b82","responseTime":47,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0","level":"info","message":"auth send jwt","requestID":"9871e578f667ace4a53d391c8ee62426"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"9871e578f667ace4a53d391c8ee62426","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9871e578f667ace4a53d391c8ee62426"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.961357,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9871e578f667ace4a53d391c8ee62426","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9871e578f667ace4a53d391c8ee62426","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to run experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to book experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully booked experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909021,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916131,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:02.826747142Z"}]},"request_id":"6286f516-5699-4895-9c62-3ef0ad7fb4c6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.2429023} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:03.027836181Z"}]},"request_id":"397c9b76-181b-4cc9-aaed-b017a8d65716","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.2518048} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? 200 85ms","method":"GET","requestID":"8d695af0-24e8-11f0-a431-d1fa1ca0a775","responseTime":85,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 200 87ms","method":"GET","requestID":"8d698200-24e8-11f0-a431-d1fa1ca0a775","responseTime":87,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Setting up experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully set up experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949402,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d8ee450-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884408,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775","responseTime":32,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully running experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:02.826747142Z"}]},"request_id":"875e18e5-4360-4b5f-b0f8-2fd53a95c339","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.4472756} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0fb5de8-24ae-49bc-bfb8-5fba6fddce3f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.4803567} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? 200 51ms","method":"GET","requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 43ms","method":"POST","requestID":"8d8dabd0-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:03.027836181Z"}]},"request_id":"3ff2f273-33b8-4f1a-b8c6-5d66d31ce6e1","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.4914412} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 200 86ms","method":"GET","requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775","responseTime":86,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d9bb590-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 42ms","method":"POST","requestID":"8d8e2100-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.53122,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d8ee450-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","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 succeeded","requestID":"8d8ee450-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling 200 98ms","method":"POST","requestID":"8d8ee450-24e8-11f0-a431-d1fa1ca0a775","responseTime":98,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8da1f720-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 97ms","method":"POST","requestID":"8d8ee450-24e8-11f0-a431-d1fa1ca0a775","responseTime":97,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37406","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.823429,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.577991,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a76ce423-3235-456e-acc4-8c85ba798770","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.577516} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"917af1ed-ec04-4e4d-948a-e11212b46610","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.5832722} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d9bb590-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","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 succeeded","requestID":"8d9bb590-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling 200 97ms","method":"POST","requestID":"8d9bb590-24e8-11f0-a431-d1fa1ca0a775","responseTime":97,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8daaa9b0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 56ms","method":"POST","requestID":"8d9bb590-24e8-11f0-a431-d1fa1ca0a775","responseTime":56,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8da1f720-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","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 succeeded","requestID":"8da1f720-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling 200 69ms","method":"POST","requestID":"8da1f720-24e8-11f0-a431-d1fa1ca0a775","responseTime":69,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 86ms","method":"POST","requestID":"8da1f720-24e8-11f0-a431-d1fa1ca0a775","responseTime":86,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.590664,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d19d167-b5d2-4edc-b3e0-8ea158a98236","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.6699195} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8daaa9b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","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 succeeded","requestID":"8daaa9b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling 200 51ms","method":"POST","requestID":"8daaa9b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":51,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Building connection plan","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f0df013a-3825-4807-b1ad-f0918c798f5e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"87bfefcf-54ec-4c9f-811f-30b73d779dbf"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d58ccb30-8314-4273-9a1b-d41a7dd92618"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9871e578f667ace4a53d391c8ee62426"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 18ms","method":"POST","requestID":"8daaa9b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":18,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5bb8206-5714-44a6-88d3-9abb95e0abab#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5bb8206-5714-44a6-88d3-9abb95e0abab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"105cb1e6-774c-4dae-93cc-2711cbf49d93","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.7157178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebae8784-c34c-4d75-94e1-0da3ac2e56bf","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.7172925} authorization-1 | {"level":"info","message":"POST /relations/update 200 194ms","method":"POST","requestID":"9871e578f667ace4a53d391c8ee62426","responseTime":194,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.900617,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"0b481f2a-3d35-4c28-be14-faee8c50a902","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.7694514} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4d41e50e-d549-4979-aa45-316de1fddb63","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.7700834} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9871e578f667ace4a53d391c8ee62426"} experiment-1 | {"level":"info","message":"POST /experiments? 201 765ms","method":"POST","requestID":"9871e578f667ace4a53d391c8ee62426","responseTime":765,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.775","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9871e578f667ace4a53d391c8ee62426"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0","level":"info","message":"auth send jwt","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5'","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5'","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 143ms","method":"POST","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775","responseTime":143,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":10.582786,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd","responseTime":47,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8db30e20-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:02.826747142Z"}]},"request_id":"c836ad91-979b-45d7-87d7-7108eaebb439","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.871124} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd"} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd","responseTime":36,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? 200 96ms","method":"GET","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd","responseTime":96,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff?"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","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/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","device":"a62919f0-5553-4965-a25e-c763ed6698ff","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} gateway-1 | {"time_local":"29/Apr/2025:10:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a62919f0-5553-4965-a25e-c763ed6698ff? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04ebb5e8b11f4e1b9d88fcc0e6fbc2cd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0","level":"info","message":"auth send jwt","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4"} authentication-1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4","responseTime":12,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937858,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"e5848c969f4db7c3dabfbabb6b7f28d4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924167,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2N30.0EOusNMICyndDAa4Fa-cTZaSfdBBSaViztx6tjh2Qh0"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:03.027836181Z"}]},"request_id":"f6a930d1-1262-45c4-b8e9-11a171a86b3f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924167.9565508} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9871e578f667ace4a53d391c8ee62426"} device-1 | {"level":"info","message":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 200 48ms","method":"GET","requestID":"e5848c969f4db7c3dabfbabb6b7f28d4","responseTime":48,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6? 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":"e5848c969f4db7c3dabfbabb6b7f28d4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ddf0020-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:07Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ddf0020-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling 200 40ms","method":"POST","requestID":"8ddf0020-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8de541b0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b29395f8-2b17-457e-a1b1-5c326c571695","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924168.0019448} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.224517,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8ddf0020-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","rebac_allow":false,"scope_allow":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":"8ddf0020-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8de541b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling 200 13ms","method":"POST","requestID":"8de541b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":13,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.329534,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0a5756c-4508-4db2-8b13-ae288248b088","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924168.0166197} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8de541b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","rebac_allow":false,"scope_allow":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":"8de541b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1458566315446308684 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:4STe\r\na=ice-pwd:BcEupJyzx6POgNi05lnVjHI/\r\na=ice-options:trickle\r\na=fingerprint:sha-256 24:2A:41:10:13:72:BC:75:DF:E1:24:D8:89:1F:54:0E:70:0A:4A:6E:05:38:5C:76:9D:81:F4:F3:2E:E2:51:06\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3137544577763065479 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:syf0\r\na=ice-pwd:zQL2tBCDC8d1W2uLx9SQLJra\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DC:80:54:76:32:DE:F2:9C:6C:32:BA:B8:8A:96:B3:4C:D9:BF:3E:E1:05:CD:45:40:EF:E0:77:2B:5A:00:EE:53\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"content":{"candidate":"candidate:4176946274 1 udp 2113937151 82024484-dd2d-4751-8a3a-9e40b6b40b15.local 52094 typ host generation 0 ufrag syf0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1544284997 1 udp 2113937151 b2f42051-ee2e-4b85-b22a-f51138f7dc2d.local 42869 typ host generation 0 ufrag 4STe network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a62919f0-5553-4965-a25e-c763ed6698ff","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d4503a38606dbdaf4862869ae406258a","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":"d4503a38606dbdaf4862869ae406258a","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/6d2d78c8-f01c-4e36-bec4-f0759d311cd6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"}}},"level":"info","message":"received a callback","requestID":"d4503a38606dbdaf4862869ae406258a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"d4503a38606dbdaf4862869ae406258a","responseTime":34,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"d4503a38606dbdaf4862869ae406258a"} device-1 | {"data":{"peerconnection":"b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA","level":"info","message":"auth send jwt","requestID":"0d2e8ca9cf0638acef0a1f161126544e"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"0d2e8ca9cf0638acef0a1f161126544e"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0d2e8ca9cf0638acef0a1f161126544e","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.904541,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"0d2e8ca9cf0638acef0a1f161126544e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924168,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"0d2e8ca9cf0638acef0a1f161126544e","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"742c07a20f5b4257e23b696c216f78ad","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":"connected","url":"http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"}}},"level":"info","message":"received a callback","requestID":"742c07a20f5b4257e23b696c216f78ad"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"742c07a20f5b4257e23b696c216f78ad","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"0d2e8ca9cf0638acef0a1f161126544e"} gateway-1 | {"time_local":"29/Apr/2025:10:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d2e8ca9cf0638acef0a1f161126544e"} experiment-1 | {"level":"info","message":"GET /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab 200 85ms","method":"GET","requestID":"0d2e8ca9cf0638acef0a1f161126544e","responseTime":85,"status":200,"url":"/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8e4c67f0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.931824,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb406f65d-d5b4-43a5-8c0b-1aac922dd5d5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cd55450-1b49-4292-a6c9-c40eee4f479f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924168.691957} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e4c67f0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","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 7ms","method":"POST","requestID":"8e4c67f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8e4c67f0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5 200 38ms","method":"GET","requestID":"8e4c67f0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"742c07a20f5b4257e23b696c216f78ad","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.147","http_referrer":"","http_user_agent":"node-fetch","requestID":"742c07a20f5b4257e23b696c216f78ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e5a98c0-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA","level":"info","message":"auth send jwt","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.566194,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e0d9764-8929-46a9-9f54-be99043b8260","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924168.7863262} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e5a98c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","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/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"8e5a98c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.928558,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924168,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e5a98c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling 200 46ms","method":"POST","requestID":"8e5a98c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e6239e0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.87872,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24b8d0cd-0c9c-4963-90cd-518db51aa33a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924168.8399572} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e6239e0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","rebac_allow":false,"scope_allow":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":"8e6239e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e6239e0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling 200 48ms","method":"POST","requestID":"8e6239e0-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9"} experiment-1 | {"level":"info","message":"GET /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab 200 89ms","method":"GET","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9","responseTime":89,"status":200,"url":"/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"} gateway-1 | {"time_local":"29/Apr/2025:10:56:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae55d321bae7bfe0a24fe9beabe0b9d9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA","level":"info","message":"auth send jwt","requestID":"13bf22952b50cb2171bd638772de3751"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"13bf22952b50cb2171bd638772de3751"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"13bf22952b50cb2171bd638772de3751","responseTime":30,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.882833,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"13bf22952b50cb2171bd638772de3751","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924168,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"13bf22952b50cb2171bd638772de3751","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Attempting to finish experiment","requestID":"13bf22952b50cb2171bd638772de3751"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.81359,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924168,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OH0.0wxf6naRo1Kjuhf6dTVxKDZxg9WQ2eTFK_kwjVeBULA"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","device":"6d2d78c8-f01c-4e36-bec4-f0759d311cd6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","device":"a62919f0-5553-4965-a25e-c763ed6698ff","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/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b406f65d-d5b4-43a5-8c0b-1aac922dd5d5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb406f65d-d5b4-43a5-8c0b-1aac922dd5d5': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb406f65d-d5b4-43a5-8c0b-1aac922dd5d5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"1667cac6-5ea8-4043-95f2-9918e318b466","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.061133} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef856dab-faa1-47bf-b13b-51e7e443b564","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.0617108} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21d3df31dfa08d246f2c6bd29ce79d5a","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":"21d3df31dfa08d246f2c6bd29ce79d5a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775","responseTime":43,"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/6d2d78c8-f01c-4e36-bec4-f0759d311cd6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"}}},"level":"info","message":"received a callback","requestID":"21d3df31dfa08d246f2c6bd29ce79d5a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"156a496dbe53abca27a05fdd610b5882","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":"156a496dbe53abca27a05fdd610b5882","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5 204 172ms","method":"DELETE","requestID":"8e71f150-24e8-11f0-a431-d1fa1ca0a775","responseTime":172,"status":204,"url":"/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"} 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/6d2d78c8-f01c-4e36-bec4-f0759d311cd6"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b406f65d-d5b4-43a5-8c0b-1aac922dd5d5"}}},"level":"info","message":"received a callback","requestID":"156a496dbe53abca27a05fdd610b5882"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"},"level":"info","message":"Successfully finished experiment","requestID":"13bf22952b50cb2171bd638772de3751"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e96b760-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d2d78c8-f01c-4e36-bec4-f0759d311cd6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d88b9f2-9a89-4bbd-b457-adc497c53a5c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.2072554} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.277947,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e96b760-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"8e96b760-24e8-11f0-a431-d1fa1ca0a775","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e96b760-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling 200 45ms","method":"POST","requestID":"8e96b760-24e8-11f0-a431-d1fa1ca0a775","responseTime":45,"status":200,"url":"/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8e9e3170-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5bb8206-5714-44a6-88d3-9abb95e0abab': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa5bb8206-5714-44a6-88d3-9abb95e0abab","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"d1739038-c498-4169-9f08-773cc036e8b0","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.263304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38ab2686-c1f1-48b5-8b28-371ecbf61a81","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.2636268} authorization-1 | {"level":"info","message":"POST /relations/update 200 97ms","method":"POST","requestID":"13bf22952b50cb2171bd638772de3751","responseTime":97,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa62919f0-5553-4965-a25e-c763ed6698ff","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1402196-4f35-4911-8a89-42f19010e2c5","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.2673557} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":42.896309,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8e9e3170-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 50ms","method":"POST","requestID":"8e9e3170-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8e9e3170-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling 200 84ms","method":"POST","requestID":"8e9e3170-24e8-11f0-a431-d1fa1ca0a775","responseTime":84,"status":200,"url":"/devices/a62919f0-5553-4965-a25e-c763ed6698ff/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab","requestID":"13bf22952b50cb2171bd638772de3751"} gateway-1 | {"time_local":"29/Apr/2025:10:56:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.610","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13bf22952b50cb2171bd638772de3751"} experiment-1 | {"level":"info","message":"DELETE /experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab 204 605ms","method":"DELETE","requestID":"13bf22952b50cb2171bd638772de3751","responseTime":605,"status":204,"url":"/experiments/a5bb8206-5714-44a6-88d3-9abb95e0abab"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 427ms","method":"POST","requestID":"21d3df31dfa08d246f2c6bd29ce79d5a","responseTime":427,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.432","http_referrer":"","http_user_agent":"node-fetch","requestID":"21d3df31dfa08d246f2c6bd29ce79d5a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 373ms","method":"POST","requestID":"156a496dbe53abca27a05fdd610b5882","responseTime":373,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.393","http_referrer":"","http_user_agent":"node-fetch","requestID":"156a496dbe53abca27a05fdd610b5882"} gateway-1 | {"time_local":"29/Apr/2025:10:56:09 +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.813","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":"6908ee975bdae39857438b29091d2bfa"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6d2d78c8-f01c-4e36-bec4-f0759d311cd6' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OX0.7rEwCQC5uqST7lcLrXaoAbtHlLGRZSH4csOzrNgbDlE","level":"info","message":"auth send jwt","requestID":"34670e5cb417ccb633b04d3e1eefc349"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"34670e5cb417ccb633b04d3e1eefc349"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.116018,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"34670e5cb417ccb633b04d3e1eefc349","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924169,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OX0.7rEwCQC5uqST7lcLrXaoAbtHlLGRZSH4csOzrNgbDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":31,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:56:09 +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.865","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":"7889da48a7e0f0f2552fd7ee7330877d"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a62919f0-5553-4965-a25e-c763ed6698ff' 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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b2cdfdf-a09e-4161-890b-c83abf51166e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.6957407} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":9,"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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42fa8113-6e84-4245-a6d8-7b5a18fa4abb","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.7316341} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"45d1c9c8-7c9b-46d0-8dd9-97702638265e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.753632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edc7f390-f691-4cd7-8fe7-ef098d62b6ba","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.7543507} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":55,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.753592413Z"}]},"request_id":"f713da51-4760-4879-a630-72234ff4fed4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.7934146} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"34670e5cb417ccb633b04d3e1eefc349"} device-1 | {"level":"info","message":"POST /devices? 201 195ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":195,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"34670e5cb417ccb633b04d3e1eefc349","responseTime":12,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:56:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34670e5cb417ccb633b04d3e1eefc349"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OX0.7rEwCQC5uqST7lcLrXaoAbtHlLGRZSH4csOzrNgbDlE","level":"info","message":"auth send jwt","requestID":"dce483b02b623826488c031126a26f02"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dce483b02b623826488c031126a26f02","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dce483b02b623826488c031126a26f02"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.889117,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"dce483b02b623826488c031126a26f02","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924169,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE2OX0.7rEwCQC5uqST7lcLrXaoAbtHlLGRZSH4csOzrNgbDlE"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d507707b-75df-44e4-a426-f0a74ce24c97","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.883715} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","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:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdcde29a-fd68-4338-9aa4-d5e3c476e13b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.8905227} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"cc387165-fb7a-499f-a26e-a9ec3b82761d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.9286878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1196c3e-bbbb-4546-b8f4-2338a868307e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.9298558} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","responseTime":43,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"2dcb0c37-7e5c-4181-9d3a-8d19c41b91f2","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924169.9367335} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dce483b02b623826488c031126a26f02"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dce483b02b623826488c031126a26f02"} device-1 | {"level":"info","message":"POST /devices? 201 103ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","responseTime":103,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"dce483b02b623826488c031126a26f02","responseTime":6,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"29/Apr/2025:10:56:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/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":"3aa3335285d05e2464e848b255309b27"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3aa3335285d05e2464e848b255309b27","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":"3aa3335285d05e2464e848b255309b27","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/websocket 200 1ms","method":"OPTIONS","requestID":"3aa3335285d05e2464e848b255309b27","responseTime":1,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b827f9340502d5d44357a606577995c0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3Mn0.0m9ad_Y-xKAXKABAf9dzPPwm1EdTu9OTT4BH4IQ42mo","level":"info","message":"auth send jwt","requestID":"b827f9340502d5d44357a606577995c0"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"b827f9340502d5d44357a606577995c0","responseTime":10,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:12Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890467,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"b827f9340502d5d44357a606577995c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924172,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3Mn0.0m9ad_Y-xKAXKABAf9dzPPwm1EdTu9OTT4BH4IQ42mo"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"b827f9340502d5d44357a606577995c0","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b827f9340502d5d44357a606577995c0"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/websocket 200 83ms","method":"POST","requestID":"b827f9340502d5d44357a606577995c0","responseTime":83,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/websocket"} gateway-1 | {"time_local":"29/Apr/2025:10:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","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":"b827f9340502d5d44357a606577995c0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4","level":"info","message":"auth send jwt","requestID":"921a9927c022702aa13ba1a0d4f1070f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"921a9927c022702aa13ba1a0d4f1070f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"921a9927c022702aa13ba1a0d4f1070f"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838942,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"921a9927c022702aa13ba1a0d4f1070f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"921a9927c022702aa13ba1a0d4f1070f","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"29/Apr/2025:10:56:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 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":"921a9927c022702aa13ba1a0d4f1070f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"6d883153-0f9e-4e8c-8b5d-b9e1ecc0199d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924173.1374588} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"921a9927c022702aa13ba1a0d4f1070f","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"921a9927c022702aa13ba1a0d4f1070f"} device-1 | {"level":"info","message":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 200 38ms","method":"GET","requestID":"921a9927c022702aa13ba1a0d4f1070f","responseTime":38,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4","level":"info","message":"auth send jwt","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15945f2a270ab407d14dbeac9808a3a3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.838918,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"15945f2a270ab407d14dbeac9808a3a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"15945f2a270ab407d14dbeac9808a3a3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to run experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to book experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully booked experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993798,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.753592413Z"}]},"request_id":"b50c799c-45b2-44d1-a625-ce872972887a","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924173.5327842} authorization-1 | {"level":"info","message":"POST /relations/query 200 40ms","method":"POST","requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113302,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"34a50af0-199c-4ebe-a58c-a2f6d0ee5aec","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924173.5792332} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd? 200 93ms","method":"GET","requestID":"91299740-24e8-11f0-a431-d1fa1ca0a775","responseTime":93,"status":200,"url":"/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Setting up experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} device-1 | {"level":"info","message":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 200 133ms","method":"GET","requestID":"9129be50-24e8-11f0-a431-d1fa1ca0a775","responseTime":133,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.999506,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"62db0c11-516d-4f41-b246-e41e4febe66b","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924173.7698321} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc823093-27ee-4d54-99e0-9a2fb9f27cbd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924173.7708895} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186' to 'http://localhost/callbacks/experiment'","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/update 200 46ms","method":"POST","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"POST /token 201 41ms","method":"POST","requestID":"9155b050-24e8-11f0-a501-a31d8fdb2d00","responseTime":41,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 145ms","method":"POST","requestID":"91470a50-24e8-11f0-a431-d1fa1ca0a775","responseTime":145,"status":201,"url":"/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully set up experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9171c3d0-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully running experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:34970","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939337,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"client_addr":"127.0.0.1:40442","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741153,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"5f9bc02e-27e3-41d6-91a1-fbca420a2bed","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.0152779} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 200 57ms","method":"GET","requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":57,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"917175b0-24e8-11f0-a431-d1fa1ca0a775","responseTime":8,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:13.769797427Z"}]},"request_id":"c29cef13-c7b5-4d05-8e65-913ced10e78f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.0239365} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:14Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfbb0874-e027-4a7f-a81e-0da22ce77eab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.0516229} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.057507,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9171c3d0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 82ms","method":"POST","requestID":"9171c3d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":82,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186? 200 106ms","method":"GET","requestID":"91712790-24e8-11f0-a431-d1fa1ca0a775","responseTime":106,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186?"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 3caff04b-4dba-4d1e-9352-5f4ef42ff186","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 3caff04b-4dba-4d1e-9352-5f4ef42ff186\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/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"9171c3d0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling 404 104ms","method":"POST","requestID":"9171c3d0-24e8-11f0-a431-d1fa1ca0a775","responseTime":104,"status":404,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 3caff04b-4dba-4d1e-9352-5f4ef42ff186"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2104ec54-f21e-4dee-9854-793cfd72d5d6#owner@http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2104ec54-f21e-4dee-9854-793cfd72d5d6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"e623802a-8498-4a96-9298-74fe9350ab84","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.0725005} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9185e810-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:14Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.722733,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7babf7a1-e152-4219-91dc-d995b7a5b3da","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.105387} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84c0749b-671c-4199-9987-29edbe523df6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924174.1076229} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9185e810-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"9185e810-24e8-11f0-a431-d1fa1ca0a775","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 147ms","method":"POST","requestID":"15945f2a270ab407d14dbeac9808a3a3","responseTime":147,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9185e810-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling 200 20ms","method":"POST","requestID":"9185e810-24e8-11f0-a431-d1fa1ca0a775","responseTime":20,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","user":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1007ms","method":"POST","requestID":"15945f2a270ab407d14dbeac9808a3a3","responseTime":1007,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"1.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"276a2336a5ac72b3303c2d3c9509ac25","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":"276a2336a5ac72b3303c2d3c9509ac25","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"29/Apr/2025:10:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/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":"276a2336a5ac72b3303c2d3c9509ac25"} device-1 | {"level":"info","message":"OPTIONS /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/websocket 200 1ms","method":"OPTIONS","requestID":"276a2336a5ac72b3303c2d3c9509ac25","responseTime":1,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6InRIS0hQeFFsU3ljc3p4RnVIMkl1bE5jT2xvbWxLdUI0VlZzQTM4ejQxcmctazI2aUk1eWZJLUItT1UxR2J1UTJaQjFOTWFpa3VwUWZUSTNheXlzT3B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.WRpUOgYum6rFKzxQvaLA3swrM1hDG28YoDfZbjcx9Ww","level":"info","message":"auth send jwt","requestID":"8d6f93716b1c66db4cbad09c7f9692d0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d6f93716b1c66db4cbad09c7f9692d0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8d6f93716b1c66db4cbad09c7f9692d0"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.993464,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8d6f93716b1c66db4cbad09c7f9692d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","payload":{"admin":true,"edgeToken":"tHKHPxQlSycszxFuH2IulNcOlomlKuB4VVsA38z41rg-k26iI5yfI-B-OU1GbuQ2ZB1NMaikupQfTI3ayysOpw","iat":1745924177,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6InRIS0hQeFFsU3ljc3p4RnVIMkl1bE5jT2xvbWxLdUI0VlZzQTM4ejQxcmctazI2aUk1eWZJLUItT1UxR2J1UTJaQjFOTWFpa3VwUWZUSTNheXlzT3B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.WRpUOgYum6rFKzxQvaLA3swrM1hDG28YoDfZbjcx9Ww"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"8d6f93716b1c66db4cbad09c7f9692d0","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8d6f93716b1c66db4cbad09c7f9692d0"} gateway-1 | {"time_local":"29/Apr/2025:10:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.099","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":"8d6f93716b1c66db4cbad09c7f9692d0"} device-1 | {"level":"info","message":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/websocket 200 67ms","method":"POST","requestID":"8d6f93716b1c66db4cbad09c7f9692d0","responseTime":67,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"57c6bf6303504a1c0d2418e78cb5c8d2","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 25ms","method":"GET","requestID":"57c6bf6303504a1c0d2418e78cb5c8d2","responseTime":25,"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/3caff04b-4dba-4d1e-9352-5f4ef42ff186"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"57c6bf6303504a1c0d2418e78cb5c8d2"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"57c6bf6303504a1c0d2418e78cb5c8d2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 18ms","method":"POST","requestID":"57c6bf6303504a1c0d2418e78cb5c8d2","responseTime":18,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.GGAygNEMM494XevC2Fz4SdQNajMGA70cpWKGRazkHfM","level":"info","message":"auth send jwt","requestID":"8854f68c87a4b0bf8ab380cb740a725f"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8854f68c87a4b0bf8ab380cb740a725f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8854f68c87a4b0bf8ab380cb740a725f"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.649302,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8854f68c87a4b0bf8ab380cb740a725f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924177,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.GGAygNEMM494XevC2Fz4SdQNajMGA70cpWKGRazkHfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"8854f68c87a4b0bf8ab380cb740a725f","responseTime":11,"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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:13.769797427Z"}]},"request_id":"18d364aa-12be-4180-9daf-f8eef31495ab","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924177.3774097} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"8854f68c87a4b0bf8ab380cb740a725f","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8854f68c87a4b0bf8ab380cb740a725f"} device-1 | {"level":"info","message":"GET /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186? 200 21ms","method":"GET","requestID":"8854f68c87a4b0bf8ab380cb740a725f","responseTime":21,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8854f68c87a4b0bf8ab380cb740a725f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.GGAygNEMM494XevC2Fz4SdQNajMGA70cpWKGRazkHfM","level":"info","message":"auth send jwt","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977097,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"ea1ac51a8f3c57833eca11b3316c4ea1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924177,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3N30.GGAygNEMM494XevC2Fz4SdQNajMGA70cpWKGRazkHfM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"bb9bf403-b3b4-468d-a993-a49f11168070","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924177.426021} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1"} device-1 | {"level":"info","message":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 200 47ms","method":"GET","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1","responseTime":47,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3?"} gateway-1 | {"time_local":"29/Apr/2025:10:56:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea1ac51a8f3c57833eca11b3316c4ea1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877259,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:13.769797427Z"}]},"request_id":"221e124b-4cad-4615-bdef-d93c61cd6e1e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.1016212} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} device-1 | {"level":"info","message":"GET /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186? 200 19ms","method":"GET","requestID":"947fee30-24e8-11f0-a431-d1fa1ca0a775","responseTime":19,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186?"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884008,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775","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:42232","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"},"timestamp":"2025-04-29T10:56:09.928647760Z"}]},"request_id":"82739869-cd1f-415b-9280-6d40d46bbf15","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.1410651} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /devices/0265f85f-1afc-44d7-86ad-80039d4debc3? 200 50ms","method":"GET","requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9488a0c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"9480d890-24e8-11f0-a431-d1fa1ca0a775","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4501df05-dd11-4986-85e1-213cb5f0f92f","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.159071} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.308607,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9488a0c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","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 succeeded","requestID":"9488a0c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling 200 46ms","method":"POST","requestID":"9488a0c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":46,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"948fccb0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","method":"POST","requestID":"9488a0c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":48,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.18415,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8005ce30-f417-4bc1-9c3c-5c48811ad59c","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.2010124} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"948fccb0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","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 succeeded","requestID":"948fccb0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling 200 38ms","method":"POST","requestID":"948fccb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":38,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Building connection plan","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"242736fc-9d53-4209-a821-e6f7e5352975"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"37cb30a5-5d72-4e8b-b2e6-fabb34a48967"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f5615530-4cff-4997-b9d2-e0253dedfa16"}]},"level":"info","message":"Built pairwise service configurations","requestID":"15945f2a270ab407d14dbeac9808a3a3"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"15945f2a270ab407d14dbeac9808a3a3"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"948fccb0-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.895868,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924173,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3M30._Uo0vcn-JxF8E9Mh0mCJA_ki9VSGwqq9IuFW1fNc5S4"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e'. 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]}},"raw_response":{},"request_id":"4edc8d64-ba20-4561-97d3-17541921b34e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.2566957} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96bf57df-5b77-40f6-890e-651af7961181","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.2813919} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63'","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63'","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 92ms","method":"POST","requestID":"94963550-24e8-11f0-a431-d1fa1ca0a775","responseTime":92,"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":"94963550-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","device":"0265f85f-1afc-44d7-86ad-80039d4debc3","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/bf2d231f-9351-4fa3-b49e-a890dc430b63","device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","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 | {"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"15945f2a270ab407d14dbeac9808a3a3"} device-1 | {"content":{"canTrickle":true},"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94bb4980-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a84589bd-5217-44eb-8418-cd7a40c1eca6","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.485277} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.132121,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94bb4980-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","rebac_allow":false,"scope_allow":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":"94bb4980-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94bb4980-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling 200 42ms","method":"POST","requestID":"94bb4980-24e8-11f0-a431-d1fa1ca0a775","responseTime":42,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"94c20040-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a39166a-316c-4dee-9fd4-e16240ef3248","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.5299804} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.414193,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"94c20040-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","rebac_allow":false,"scope_allow":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":"94c20040-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 3459990143400704665 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:gHSw\r\na=ice-pwd:JCBd3fI/nNMSpkB2g3OAbPod\r\na=ice-options:trickle\r\na=fingerprint:sha-256 84:AA:14:2B:63:1E:3A:D4:C5:EC:7A:60:7D:10:26:FA:77:5C:DC:08:EF:61:8D:58:21:7F:6E:7C:42:82:F0:45\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"94c20040-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling 200 62ms","method":"POST","requestID":"94c20040-24e8-11f0-a431-d1fa1ca0a775","responseTime":62,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 327263295277038803 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:oBfM\r\na=ice-pwd:HG8fkOwuv8cCC6B+W60t0nhp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 2C:A5:36:EC:56:03:5A:25:D0:FC:02:C4:A6:27:17:05:65:07:AC:20:FD:10:21:F2:C2:C4:CB:38:CA:BA:BA:CC\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2552174125 1 udp 2113937151 7036d723-ad66-4c52-8a90-2b3cce0cc745.local 53313 typ host generation 0 ufrag oBfM network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"482f3d64fa3703b47daea62b9102251c","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 | {"content":{"candidate":"candidate:1095382251 1 udp 2113937151 42075554-1cae-47fe-accc-177c962391b4.local 35066 typ host generation 0 ufrag gHSw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","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/bf2d231f-9351-4fa3-b49e-a890dc430b63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"482f3d64fa3703b47daea62b9102251c","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/0265f85f-1afc-44d7-86ad-80039d4debc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"}}},"level":"info","message":"received a callback","requestID":"482f3d64fa3703b47daea62b9102251c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"482f3d64fa3703b47daea62b9102251c","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"482f3d64fa3703b47daea62b9102251c"} device-1 | {"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d223bbc169ee94b385644db8a477e035","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":"d223bbc169ee94b385644db8a477e035","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","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/0265f85f-1afc-44d7-86ad-80039d4debc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"}}},"level":"info","message":"received a callback","requestID":"d223bbc169ee94b385644db8a477e035"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"95048780-24e8-11f0-a431-d1fa1ca0a775"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3OX0.TZHN1D9etRH-4dVAbVzG4GOowT8QTlxsjKGa8Ss2u5U","level":"info","message":"auth send jwt","requestID":"8a6e34ede81c98c12638840e2fa82b48"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a6e34ede81c98c12638840e2fa82b48","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.191758,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbf2d231f-9351-4fa3-b49e-a890dc430b63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1b89c51-b4c7-4887-9721-9b8f1a99b6fd","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924179.9658837} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"95048780-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","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 7ms","method":"POST","requestID":"95048780-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"8a6e34ede81c98c12638840e2fa82b48"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.865776,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"8a6e34ede81c98c12638840e2fa82b48","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924179,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE3OX0.TZHN1D9etRH-4dVAbVzG4GOowT8QTlxsjKGa8Ss2u5U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a6e34ede81c98c12638840e2fa82b48","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"95048780-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"GET /peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63 200 41ms","method":"GET","requestID":"95048780-24e8-11f0-a431-d1fa1ca0a775","responseTime":41,"status":200,"url":"/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"} gateway-1 | {"time_local":"29/Apr/2025:10:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a6e34ede81c98c12638840e2fa82b48"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"8a6e34ede81c98c12638840e2fa82b48"} experiment-1 | {"level":"info","message":"GET /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 200 51ms","method":"GET","requestID":"8a6e34ede81c98c12638840e2fa82b48","responseTime":51,"status":200,"url":"/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"d223bbc169ee94b385644db8a477e035","responseTime":111,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9514db30-24e8-11f0-a431-d1fa1ca0a775"} gateway-1 | {"time_local":"29/Apr/2025:10:56: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"d223bbc169ee94b385644db8a477e035"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.874637,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64f23a63-7e42-4a83-83b1-3a2e50e12fc4","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.0974736} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"9514db30-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","rebac_allow":false,"scope_allow":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":"9514db30-24e8-11f0-a431-d1fa1ca0a775","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9514db30-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling 200 44ms","method":"POST","requestID":"9514db30-24e8-11f0-a431-d1fa1ca0a775","responseTime":44,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"951bb900-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.437517,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc7b62d4-e487-4157-bf28-e46f1455326e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.1457863} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"951bb900-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"951bb900-24e8-11f0-a431-d1fa1ca0a775","responseTime":35,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo","level":"info","message":"auth send jwt","requestID":"bbc71c10a9e2c373bbd20e70ed995cde"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"bbc71c10a9e2c373bbd20e70ed995cde","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"951bb900-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling 200 50ms","method":"POST","requestID":"951bb900-24e8-11f0-a431-d1fa1ca0a775","responseTime":50,"status":200,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"bbc71c10a9e2c373bbd20e70ed995cde"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.931723,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"bbc71c10a9e2c373bbd20e70ed995cde","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924180,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bbc71c10a9e2c373bbd20e70ed995cde","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"bbc71c10a9e2c373bbd20e70ed995cde"} gateway-1 | {"time_local":"29/Apr/2025:10:56:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bbc71c10a9e2c373bbd20e70ed995cde"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo","level":"info","message":"auth send jwt","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"18ed9735b6d5b3f36d7886ae4907301a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"GET /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 200 100ms","method":"GET","requestID":"bbc71c10a9e2c373bbd20e70ed995cde","responseTime":100,"status":200,"url":"/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.848831,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"18ed9735b6d5b3f36d7886ae4907301a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"experiment:http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","object_type":"experiment","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924180,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"18ed9735b6d5b3f36d7886ae4907301a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Attempting to finish experiment","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.892457,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"peerconnection:http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924180,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","device":"0265f85f-1afc-44d7-86ad-80039d4debc3","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63","device":"3caff04b-4dba-4d1e-9352-5f4ef42ff186","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/bf2d231f-9351-4fa3-b49e-a890dc430b63' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ee8afdc2135c03473295b14eedbeaa4","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":"5ee8afdc2135c03473295b14eedbeaa4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6b4e7654920cbadd05915850a85bf51d","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":"6b4e7654920cbadd05915850a85bf51d","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/0265f85f-1afc-44d7-86ad-80039d4debc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"}}},"level":"info","message":"received a callback","requestID":"5ee8afdc2135c03473295b14eedbeaa4"} 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/0265f85f-1afc-44d7-86ad-80039d4debc3"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"}}},"level":"info","message":"received a callback","requestID":"6b4e7654920cbadd05915850a85bf51d"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbf2d231f-9351-4fa3-b49e-a890dc430b63': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbf2d231f-9351-4fa3-b49e-a890dc430b63","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"7c7ca224-4bbd-41b7-b31c-b8779da66146","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.3583736} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28e4455e-6370-4fcd-9df1-69628f8b6d5d","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.3596544} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775","responseTime":25,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"bf2d231f-9351-4fa3-b49e-a890dc430b63","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63 204 189ms","method":"DELETE","requestID":"95373040-24e8-11f0-a431-d1fa1ca0a775","responseTime":189,"status":204,"url":"/peerconnections/bf2d231f-9351-4fa3-b49e-a890dc430b63"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293924,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e","object":"device:http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186","object_type":"device","payload":{"admin":true,"edgeToken":"hjyb4jOUAIiOC8HAC6nkK-pKtevkgelkCCDj5zSUNDLrARHbJgSc8MJ7Dl0XLcCLCyN6XwQO6POkjbdVxTY-Jg","iat":1745924180,"sub":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e","subject_alt":"http://localhost/users/11eecb11-e401-4984-862e-965ddeacd80e"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzExZWVjYjExLWU0MDEtNDk4NC04NjJlLTk2NWRkZWFjZDgwZSIsImVkZ2VUb2tlbiI6ImhqeWI0ak9VQUlpT0M4SEFDNm5rSy1wS3RldmtnZWxrQ0NEajV6U1VORExyQVJIYkpnU2M4TUo3RGwwWExjQ0xDeU42WHdRTzZQT2tqYmRWeFRZLUpnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0NTkyNDE4MH0.NqC-5G-QxRl17mXelYBGw9J1GBpP_5wABtXbVi94NRo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3caff04b-4dba-4d1e-9352-5f4ef42ff186","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"19b9f318-08c6-40e4-99c1-179b14b7ab5e","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.541809} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60d36cd0-1ef9-49ec-acf3-2348c1699730","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.5441096} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775","responseTime":15,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"DELETE /devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186 204 148ms","method":"DELETE","requestID":"95540710-24e8-11f0-a431-d1fa1ca0a775","responseTime":148,"status":204,"url":"/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"},"level":"info","message":"Successfully finished experiment","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"957300c0-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","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%2F11eecb11-e401-4984-862e-965ddeacd80e', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2104ec54-f21e-4dee-9854-793cfd72d5d6': 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:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2104ec54-f21e-4dee-9854-793cfd72d5d6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F11eecb11-e401-4984-862e-965ddeacd80e"}]},"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","writes":null},"raw_response":{},"request_id":"ac264e6e-15de-4cab-b126-79c55562c187","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.6885827} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","store_id":"01JT0JT3XNNDKCBRSDV69F07WH"},"raw_response":{"authorization_model":{"id":"01JT0JT494KNM8J4DDXKQGHMBA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b27be01-ed3a-4de4-ad23-29f8773a0008","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.6893566} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"18ed9735b6d5b3f36d7886ae4907301a","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0265f85f-1afc-44d7-86ad-80039d4debc3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3f761c5-db7f-4a0f-8fc9-7f5b178cc548","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.725374} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":858,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.113787,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"957300c0-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3","object_type":"device","rebac_allow":false,"scope_allow":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":"957300c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"957300c0-24e8-11f0-a431-d1fa1ca0a775"} device-1 | {"level":"info","message":"POST /devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling 200 47ms","method":"POST","requestID":"957300c0-24e8-11f0-a431-d1fa1ca0a775","responseTime":47,"status":200,"url":"/devices/0265f85f-1afc-44d7-86ad-80039d4debc3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"957b1710-24e8-11f0-a431-d1fa1ca0a775"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Received request.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"client_addr":"127.0.0.1:34976","level":"info","msg":"Sent response.","req_id":859,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.998664,"resp_status":200,"subsystem":"opa","time":"2025-04-29T10:56:20Z"} authorization-1 | {"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:42232","raw_request":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","contextual_tuples":null,"store_id":"01JT0JT3XNNDKCBRSDV69F07WH","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e2631b5-7720-49ac-b70e-2bc9337b92bd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e939371-1dc7-4498-ac6c-5a795517b127","store_id":"01JT0JT3XNNDKCBRSDV69F07WH","subsystem":"openfga","timestamp":1745924180.742398} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","openfga":{"authorization_model_id":"01JT0JT494KNM8J4DDXKQGHMBA","store":"01JT0JT3XNNDKCBRSDV69F07WH"},"requestID":"957b1710-24e8-11f0-a431-d1fa1ca0a775","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd","object_type":"device","rebac_allow":false,"scope_allow":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":"957b1710-24e8-11f0-a431-d1fa1ca0a775","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"ImpossibleOperationError","message":"Cannot send signaling message to device with type 'edge instantiable'","method":"POST","stack":"ImpossibleOperationError: Cannot send signaling message to device with type 'edge instantiable'\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:27:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":400,"url":"/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"957b1710-24e8-11f0-a431-d1fa1ca0a775"} experiment-1 | {"data":{"response":{"body":{"error":"ImpossibleOperationError","message":"Cannot send signaling message to device with type 'edge instantiable'"},"status":400}},"level":"error","message":"Could not send status-update message","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} device-1 | {"level":"info","message":"POST /devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd/signaling 400 40ms","method":"POST","requestID":"957b1710-24e8-11f0-a431-d1fa1ca0a775","responseTime":40,"status":400,"url":"/devices/9e2631b5-7720-49ac-b70e-2bc9337b92bd/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.929","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18ed9735b6d5b3f36d7886ae4907301a"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +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.861","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ee8afdc2135c03473295b14eedbeaa4"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +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.862","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b4e7654920cbadd05915850a85bf51d"} experiment-1 | {"level":"info","message":"DELETE /experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6 204 959ms","method":"DELETE","requestID":"18ed9735b6d5b3f36d7886ae4907301a","responseTime":959,"status":204,"url":"/experiments/2104ec54-f21e-4dee-9854-793cfd72d5d6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 854ms","method":"POST","requestID":"5ee8afdc2135c03473295b14eedbeaa4","responseTime":854,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 855ms","method":"POST","requestID":"6b4e7654920cbadd05915850a85bf51d","responseTime":855,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"8.191","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":"30af06678f7523d583637b14dbb86188"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0265f85f-1afc-44d7-86ad-80039d4debc3' closed"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2097","request_time":"4.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":"e3105bf8c786a6df2681b26f2eb3824f"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4a75995b43f96984f470213718ec279","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":"f4a75995b43f96984f470213718ec279","responseTime":1,"status":200,"url":"/auth"} 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/3caff04b-4dba-4d1e-9352-5f4ef42ff186"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"f4a75995b43f96984f470213718ec279"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3caff04b-4dba-4d1e-9352-5f4ef42ff186' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"f4a75995b43f96984f470213718ec279","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"29/Apr/2025:10:56:21 +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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4a75995b43f96984f470213718ec279"} authorization-1 | {"level":"info","msg":"Shutting down...","subsystem":"opa","time":"2025-04-29T10:56:27Z"} authorization-1 | {"level":"info","msg":"Server shutdown.","subsystem":"opa","time":"2025-04-29T10:56:27Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"attempting to shutdown gracefully","subsystem":"openfga","timestamp":1745924187.7431912} device-1 exited with code 143 authorization-1 exited with code 0 gateway-1 exited with code 0 experiment-1 exited with code 143 federation-1 exited with code 143 authentication-1 exited with code 143