{ "upstreamCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "evidenceLevel": "independent whole-file snapshot; exact handler + extractor + response construction; static implementation evidence, not runtime fixtures", "operations": [ { "method": "GET", "path": "/api/device", "handler": "get_device_info", "routeEvidence": "backend/src/main.rs:506-506", "handlerEvidence": "backend/src/handlers.rs:1076-1090", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1076-1090", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1076-1090", "sha256": "7b4d3ba9a85015e504518640ae05ad6014a98aff50166308b4cd348290cca639", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1076, "endLine": 1090 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1076-1090", "brunoEvidence": [ { "file": "bruno-api/get_device_info.bru", "method": "GET", "path": "/api/device", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/sim", "handler": "get_sim_info", "routeEvidence": "backend/src/main.rs:508-508", "handlerEvidence": "backend/src/handlers.rs:1126-1145", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1126-1145", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1126-1145", "sha256": "db5280e4e6d37c435a5a0b727087e2ed0d2e09a14901566ff62c7a78fe5685c8", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1126, "endLine": 1145 }, "extractorTokens": [ "State<(Arc, Arc)>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1126-1145", "brunoEvidence": [ { "file": "bruno-api/get_sim_info.bru", "method": "GET", "path": "/api/sim", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/sim/details/refresh", "handler": "refresh_sim_details_handler", "routeEvidence": "backend/src/main.rs:510-511", "handlerEvidence": "backend/src/handlers.rs:1148-1164", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1148-1164", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1148-1164; field shape is implementation evidence only", "sha256": "ab04a42ae36c34953d81c4ae7418ee489cf8b1b1604961dac9015b80e24677a2", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1148, "endLine": 1164 }, "extractorTokens": [ "State<(Arc, Arc)>" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1148-1164; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/sim/cache", "handler": "update_sim_cache_handler", "routeEvidence": "backend/src/main.rs:514-515", "handlerEvidence": "backend/src/handlers.rs:1167-1213", "requestSummary": "body extractor UpdateSimCacheRequest fields [phone_number:Option, sms_center:Option] (models.rs:1036); exact handler backend/src/handlers.rs:1167-1213", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1167-1213", "sha256": "b2b5f366ff8b133d4a8cbc7965a5ab50f1ee5a41b23a6c81019824d801a5798f", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1167, "endLine": 1213 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1167-1213", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/network", "handler": "get_network_info", "routeEvidence": "backend/src/main.rs:519-520", "handlerEvidence": "backend/src/handlers.rs:1218-1232", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1218-1232", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1218-1232", "sha256": "5d02208a69b790246dfc8d08647fd728517d3e1777acb3cf3dd83f8e589a9e2d", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1218, "endLine": 1232 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1218-1232", "brunoEvidence": [ { "file": "bruno-api/get_network_info.bru", "method": "GET", "path": "/api/network", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/cells", "handler": "get_cells", "routeEvidence": "backend/src/main.rs:522-522", "handlerEvidence": "backend/src/handlers.rs:1235-1249", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1235-1249", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1235-1249", "sha256": "2a0eb9db873a461af208a2784c9a07fff1a00fcb3666fcaaa8f67840783a8dde", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1235, "endLine": 1249 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1235-1249", "brunoEvidence": [ { "file": "bruno-api/get_cells_info.bru", "method": "GET", "path": "/api/cells", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/cell-monitor/start", "handler": "start_cell_monitor_handler", "routeEvidence": "backend/src/main.rs:524-525", "handlerEvidence": "backend/src/handlers.rs:1252-1282", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1252-1282", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1252-1282", "sha256": "c70d5916a800de22a643c93e2a9ddb7a6a4eeb9e8ad83fee1fbd3ee7660b78fe", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1252, "endLine": 1282 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1252-1282", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/cell-monitor/stop", "handler": "stop_cell_monitor_handler", "routeEvidence": "backend/src/main.rs:528-529", "handlerEvidence": "backend/src/handlers.rs:1285-1312", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1285-1312", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1285-1312", "sha256": "81303fb59efb78b8ab8901a3a1f693305ff13fc3048d51138c6a9e054ee73c66", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1285, "endLine": 1312 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1285-1312", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/radio-mode", "handler": "get_radio_mode_handler", "routeEvidence": "backend/src/main.rs:532-533", "handlerEvidence": "backend/src/handlers.rs:1315-1329", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1315-1329", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1315-1329", "sha256": "caba610280c2850fd8a840114af3c9b3b69c4ba0f9a724a23cdb92c78aa222ea", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1315, "endLine": 1329 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1315-1329", "brunoEvidence": [ { "file": "bruno-api/get_radio_mode.bru", "method": "GET", "path": "/api/radio-mode", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/radio-mode", "handler": "set_radio_mode_handler", "routeEvidence": "backend/src/main.rs:532-534", "handlerEvidence": "backend/src/handlers.rs:1332-1352", "requestSummary": "body extractor RadioModeRequest fields [mode:RadioMode] (models.rs:351); exact handler backend/src/handlers.rs:1332-1352", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1332-1352", "sha256": "c41c6134fe1f28b0f018724a009a4df537556f1226be4e27924d7daa10ce3de2", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1332, "endLine": 1352 }, "extractorTokens": [ "Json", "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1332-1352", "brunoEvidence": [ { "file": "bruno-api/set_radio_mode_nr.bru", "method": "POST", "path": "/api/radio-mode", "bodyMode": "json", "bodyFields": [ "mode" ] }, { "file": "bruno-api/set_radio_mode_lte.bru", "method": "POST", "path": "/api/radio-mode", "bodyMode": "json", "bodyFields": [ "mode" ] }, { "file": "bruno-api/set_radio_mode_auto.bru", "method": "POST", "path": "/api/radio-mode", "bodyMode": "json", "bodyFields": [ "mode" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/band-lock", "handler": "get_band_lock_handler", "routeEvidence": "backend/src/main.rs:538-539", "handlerEvidence": "backend/src/handlers.rs:1355-1369", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1355-1369", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1355-1369", "sha256": "6130c68b619423b3303d2fcf24fa6175c979c80c6bb2158460c2455d7b347f72", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1355, "endLine": 1369 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1355-1369", "brunoEvidence": [ { "file": "bruno-api/get_band_lock.bru", "method": "GET", "path": "/api/band-lock", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/band-lock", "handler": "set_band_lock_handler", "routeEvidence": "backend/src/main.rs:538-540", "handlerEvidence": "backend/src/handlers.rs:1372-1392", "requestSummary": "body extractor BandLockRequest fields [lte_fdd_bands:Vec, lte_tdd_bands:Vec, nr_fdd_bands:Vec, nr_tdd_bands:Vec] (models.rs:377); exact handler backend/src/handlers.rs:1372-1392", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1372-1392", "sha256": "04504f8b9b2d528e6e367bea397ef722f4f1eb3aa7363946718ea9871ac20277", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1372, "endLine": 1392 }, "extractorTokens": [ "Json", "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1372-1392", "brunoEvidence": [ { "file": "bruno-api/set_band_lock_nr_n78.bru", "method": "POST", "path": "/api/band-lock", "bodyMode": "json", "bodyFields": [ "lte_fdd_bands", "lte_tdd_bands", "nr_fdd_bands", "nr_tdd_bands" ] }, { "file": "bruno-api/set_band_lock_lte_b1_b3.bru", "method": "POST", "path": "/api/band-lock", "bodyMode": "json", "bodyFields": [ "lte_fdd_bands", "lte_tdd_bands", "nr_fdd_bands", "nr_tdd_bands" ] }, { "file": "bruno-api/unlock_all_bands.bru", "method": "POST", "path": "/api/band-lock", "bodyMode": "json", "bodyFields": [ "lte_fdd_bands", "lte_tdd_bands", "nr_fdd_bands", "nr_tdd_bands" ] }, { "file": "bruno-api/set_band_lock_lte_nr_mix.bru", "method": "POST", "path": "/api/band-lock", "bodyMode": "json", "bodyFields": [ "lte_fdd_bands", "lte_tdd_bands", "nr_fdd_bands", "nr_tdd_bands" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/network/interfaces", "handler": "get_network_interfaces_info", "routeEvidence": "backend/src/main.rs:544-545", "handlerEvidence": "backend/src/handlers.rs:1619-1644", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1619-1644", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1619-1644", "sha256": "a1ac88c365ed70bfccbe2efdc5a2788d3d4bb74115c330fdc319c2eebc074521", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1619, "endLine": 1644 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1619-1644", "brunoEvidence": [ { "file": "bruno-api/get_network_interfaces.bru", "method": "GET", "path": "/api/network/interfaces", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/network/connection-addresses", "handler": "get_network_connection_addresses", "routeEvidence": "backend/src/main.rs:548-549", "handlerEvidence": "backend/src/handlers.rs:1647-1666", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1647-1666", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1647-1666", "sha256": "a5f28ff95121c09750c5fc3f81192a0d15c0a794e16954d2a2783f357319b82f", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1647, "endLine": 1666 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1647-1666", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/device-network/ddns/config", "handler": "get_device_ddns_config_handler", "routeEvidence": "backend/src/main.rs:552-553", "handlerEvidence": "backend/src/handlers.rs:1669-1679", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1669-1679", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1669-1679; field shape is implementation evidence only", "sha256": "4ec8e855d61695c9db55ba9afb333005f6bbb4e0bdae5e22988173431d139b1b", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1669, "endLine": 1679 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1669-1679; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_device_ddns_config.bru", "method": "GET", "path": "/api/device-network/ddns/config", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/ddns/config", "handler": "set_device_ddns_config_handler", "routeEvidence": "backend/src/main.rs:552-554", "handlerEvidence": "backend/src/handlers.rs:1682-1721", "requestSummary": "body extractor crate::config::DdnsConfig fields [enabled:bool, provider:String, access_id:String, access_secret:String, interval_seconds:u64, ttl:u32, ipv4:DdnsIpConfig, ipv6:DdnsIpConfig] (config.rs:634); exact handler backend/src/handlers.rs:1682-1721", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1682-1721", "sha256": "10137722721a3ef9bea62ce99f7225143652521a634c928daa7c389978e69d00", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1682, "endLine": 1721 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1682-1721", "brunoEvidence": [ { "file": "bruno-api/set_device_ddns_config.bru", "method": "POST", "path": "/api/device-network/ddns/config", "bodyMode": "json", "bodyFields": [ "enabled", "provider", "access_id", "access_secret", "interval_seconds", "ttl", "ipv4", "ipv6" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/device-network/ddns/status", "handler": "get_device_ddns_status_handler", "routeEvidence": "backend/src/main.rs:558-559", "handlerEvidence": "backend/src/handlers.rs:1750-1757", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1750-1757", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1750-1757; field shape is implementation evidence only", "sha256": "02494bf7928a9a23ec81cab75333d7322683628a1c33ea067d7e4ad52177f8f6", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1750, "endLine": 1757 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1750-1757; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_device_ddns_status.bru", "method": "GET", "path": "/api/device-network/ddns/status", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/ddns/sync", "handler": "sync_device_ddns_handler", "routeEvidence": "backend/src/main.rs:562-563", "handlerEvidence": "backend/src/handlers.rs:1760-1781", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1760-1781", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1760-1781", "sha256": "43cf9573e2b43aaf431562572de72d81f57bb586d78c69415441859ad0ab0528", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1760, "endLine": 1781 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1760-1781", "brunoEvidence": [ { "file": "bruno-api/post_device_ddns_sync.bru", "method": "POST", "path": "/api/device-network/ddns/sync", "bodyMode": "json", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/device-network/ddns/logs", "handler": "get_device_ddns_logs_handler", "routeEvidence": "backend/src/main.rs:566-567", "handlerEvidence": "backend/src/handlers.rs:1784-1790", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1784-1790", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1784-1790; field shape is implementation evidence only", "sha256": "ac80f3ada641ca13354b1b857a8eabfa67c15e30f706209bdce9331a7a903d73", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1784, "endLine": 1790 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1784-1790; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_device_ddns_logs.bru", "method": "GET", "path": "/api/device-network/ddns/logs", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/ddns/logs/clear", "handler": "clear_device_ddns_logs_handler", "routeEvidence": "backend/src/main.rs:570-571", "handlerEvidence": "backend/src/handlers.rs:1793-1802", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1793-1802", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1793-1802; field shape is implementation evidence only", "sha256": "8ebb7d7cfe772a4e7fdee06da1ba69de668a68f0a0cb6077949e1f1ef7594173", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1793, "endLine": 1802 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1793-1802; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/post_device_ddns_logs_clear.bru", "method": "POST", "path": "/api/device-network/ddns/logs/clear", "bodyMode": "json", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/device-network/wlan/status", "handler": "get_device_wlan_status_handler", "routeEvidence": "backend/src/main.rs:574-575", "handlerEvidence": "backend/src/handlers.rs:1805-1819", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1805-1819", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1805-1819", "sha256": "66741c07471de1f7a414b9771d6ce841fdcaf04d48244ac8cd2e03ecb1612034", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1805, "endLine": 1819 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1805-1819", "brunoEvidence": [ { "file": "bruno-api/get_device_wlan_status.bru", "method": "GET", "path": "/api/device-network/wlan/status", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/enabled", "handler": "set_device_wlan_enabled_handler", "routeEvidence": "backend/src/main.rs:578-579", "handlerEvidence": "backend/src/handlers.rs:1822-1841", "requestSummary": "body extractor WlanEnabledRequest fields [enabled:bool] (models.rs:606); exact handler backend/src/handlers.rs:1822-1841", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1822-1841", "sha256": "b6cc1238ca609208e8c2a6f757736617d2ca200e1b8a1725eda59694592582b7", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1822, "endLine": 1841 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1822-1841", "brunoEvidence": [ { "file": "bruno-api/set_device_wlan_enabled.bru", "method": "POST", "path": "/api/device-network/wlan/enabled", "bodyMode": "json", "bodyFields": [ "enabled" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/scan", "handler": "scan_device_wlan_handler", "routeEvidence": "backend/src/main.rs:582-583", "handlerEvidence": "backend/src/handlers.rs:1844-1858", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1844-1858", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1844-1858", "sha256": "de90691d7c57a4e9af311144f3573e0ce80b3cc7ee29cc65b71c94c28e7b2651", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1844, "endLine": 1858 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1844-1858", "brunoEvidence": [ { "file": "bruno-api/post_device_wlan_scan.bru", "method": "POST", "path": "/api/device-network/wlan/scan", "bodyMode": "json", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/device-network/wlan/profiles", "handler": "get_device_wlan_profiles_handler", "routeEvidence": "backend/src/main.rs:586-587", "handlerEvidence": "backend/src/handlers.rs:1861-1875", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1861-1875", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1861-1875", "sha256": "caadf1fc1c436c6342722c2955f0588581d26d12d1fc3db107e47e18adac43f5", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1861, "endLine": 1875 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1861-1875", "brunoEvidence": [ { "file": "bruno-api/get_device_wlan_profiles.bru", "method": "GET", "path": "/api/device-network/wlan/profiles", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/forget", "handler": "forget_device_wlan_handler", "routeEvidence": "backend/src/main.rs:590-591", "handlerEvidence": "backend/src/handlers.rs:1878-1897", "requestSummary": "body extractor WlanForgetRequest fields [uuid:String, connection_id:String] (models.rs:635); exact handler backend/src/handlers.rs:1878-1897", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1878-1897", "sha256": "f5142f819f6da44230d61c9f5db90c8cb473de954faee08245a2f159d43c8a7e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1878, "endLine": 1897 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1878-1897", "brunoEvidence": [ { "file": "bruno-api/post_device_wlan_forget.bru", "method": "POST", "path": "/api/device-network/wlan/forget", "bodyMode": "json", "bodyFields": [ "uuid", "connection_id" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/connect", "handler": "connect_device_wlan_handler", "routeEvidence": "backend/src/main.rs:594-595", "handlerEvidence": "backend/src/handlers.rs:1900-1955", "requestSummary": "body extractor WlanConnectRequest fields [ssid:String, password:String, auto_join:bool] (models.rs:611); exact handler backend/src/handlers.rs:1900-1955", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1900-1955", "sha256": "9c422666a3db49cdf0efd42873ca681ee158b4fb9183b6211c4f9522f0fe23b5", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1900, "endLine": 1955 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1900-1955", "brunoEvidence": [ { "file": "bruno-api/post_device_wlan_connect.bru", "method": "POST", "path": "/api/device-network/wlan/connect", "bodyMode": "json", "bodyFields": [ "ssid", "password", "auto_join" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/disconnect", "handler": "disconnect_device_wlan_handler", "routeEvidence": "backend/src/main.rs:598-599", "handlerEvidence": "backend/src/handlers.rs:1958-1991", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1958-1991", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1958-1991", "sha256": "719a709dc8509a35a0e961f55359aa77d07b9e95908d8622e8b369a54ed62505", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1958, "endLine": 1991 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1958-1991", "brunoEvidence": [ { "file": "bruno-api/post_device_wlan_disconnect.bru", "method": "POST", "path": "/api/device-network/wlan/disconnect", "bodyMode": "json", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/device-network/wlan/profile", "handler": "save_device_wlan_profile_handler", "routeEvidence": "backend/src/main.rs:602-603", "handlerEvidence": "backend/src/handlers.rs:1994-2013", "requestSummary": "body extractor WlanProfileRequest fields [connection_id:String, auto_join:Option, ipv4_mode:Option, ipv4_address:Option, ipv4_prefix:Option, ipv4_gateway:Option] (models.rs:620); exact handler backend/src/handlers.rs:1994-2013", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1994-2013", "sha256": "b3180f55af718c0404c190cc47c90be10727269ab9ddc7fee9239d24a6088bcd", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1994, "endLine": 2013 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1994-2013", "brunoEvidence": [ { "file": "bruno-api/post_device_wlan_profile.bru", "method": "POST", "path": "/api/device-network/wlan/profile", "bodyMode": "json", "bodyFields": [ "connection_id", "auto_join", "ipv4_mode" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/network/signal-strength", "handler": "get_signal_strength_handler", "routeEvidence": "backend/src/main.rs:606-607", "handlerEvidence": "backend/src/handlers.rs:2016-2030", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2016-2030", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2016-2030", "sha256": "2c04c31da8b4160b8941a524b3016de75c75ae689a28d50f50a664fa5c4af828", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2016, "endLine": 2030 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2016-2030", "brunoEvidence": [ { "file": "bruno-api/get_signal_strength.bru", "method": "GET", "path": "/api/network/signal-strength", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/location/cell-info", "handler": "get_cell_location_handler", "routeEvidence": "backend/src/main.rs:610-611", "handlerEvidence": "backend/src/handlers.rs:1395-1409", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1395-1409", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1395-1409", "sha256": "fc748f05e03bf6843eed36f7a4dd6f785811d05e9dd8942fe2d92a4b63c62398", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1395, "endLine": 1409 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1395-1409", "brunoEvidence": [ { "file": "bruno-api/get_cell_location_info.bru", "method": "GET", "path": "/api/location/cell-info", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/network/operators", "handler": "get_network_operators", "routeEvidence": "backend/src/main.rs:614-615", "handlerEvidence": "backend/src/handlers.rs:1412-1426", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1412-1426", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1412-1426", "sha256": "d3b30db8a501b92aba2d3038e3642eb020412a2ac11e8286dc1f4860ef3c732b", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1412, "endLine": 1426 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1412-1426", "brunoEvidence": [ { "file": "bruno-api/get_operators.bru", "method": "GET", "path": "/api/network/operators", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/network/operators/scan", "handler": "scan_network_operators", "routeEvidence": "backend/src/main.rs:618-619", "handlerEvidence": "backend/src/handlers.rs:1429-1443", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1429-1443", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1429-1443", "sha256": "4a8bfbd38a943df8dfa9ce69f3bb162874baf7f6f69507d35257c80aff5316e6", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1429, "endLine": 1443 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1429-1443", "brunoEvidence": [ { "file": "bruno-api/scan_operators.bru", "method": "GET", "path": "/api/network/operators/scan", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/network/register-manual", "handler": "register_network_manual", "routeEvidence": "backend/src/main.rs:622-623", "handlerEvidence": "backend/src/handlers.rs:1446-1466", "requestSummary": "body extractor ManualRegisterRequest fields [mccmnc:String] (models.rs:771); exact handler backend/src/handlers.rs:1446-1466", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1446-1466", "sha256": "8b78cc782499ff836911c3bb5563c85ae53cc4bb05b418a01ff94f4e16916b4c", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1446, "endLine": 1466 }, "extractorTokens": [ "Json", "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1446-1466", "brunoEvidence": [ { "file": "bruno-api/register_operator_manual.bru", "method": "POST", "path": "/api/network/register-manual", "bodyMode": "json", "bodyFields": [ "mccmnc" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/network/register-auto", "handler": "register_network_auto", "routeEvidence": "backend/src/main.rs:626-627", "handlerEvidence": "backend/src/handlers.rs:1469-1486", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1469-1486", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1469-1486", "sha256": "431aabcc9852603b66f9a3234afb2e76f6e6cc3845ffb4827874aef16f3744d0", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1469, "endLine": 1486 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1469-1486", "brunoEvidence": [ { "file": "bruno-api/register_operator_auto.bru", "method": "POST", "path": "/api/network/register-auto", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/apn", "handler": "get_apn_list_handler", "routeEvidence": "backend/src/main.rs:630-631", "handlerEvidence": "backend/src/handlers.rs:1489-1504", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1489-1504", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1489-1504", "sha256": "798953ca7e3857d0ea96f60b7882dafd3893dd751f8af07afea7707dc1145631", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1489, "endLine": 1504 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1489-1504", "brunoEvidence": [ { "file": "bruno-api/get_apn_list.bru", "method": "GET", "path": "/api/apn", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/apn", "handler": "set_apn_handler", "routeEvidence": "backend/src/main.rs:630-632", "handlerEvidence": "backend/src/handlers.rs:1507-1571", "requestSummary": "body extractor SetApnRequest fields [context_path:String, apn:Option, protocol:Option, username:Option, password:Option, auth_method:Option] (models.rs:795); exact handler backend/src/handlers.rs:1507-1571", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1507-1571", "sha256": "6edced468c5f3bcb5181736b235805550d50c76ebf770b7632c6a7a38e65a8d0", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1507, "endLine": 1571 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1507-1571", "brunoEvidence": [ { "file": "bruno-api/set_apn.bru", "method": "POST", "path": "/api/apn", "bodyMode": "json", "bodyFields": [ "context_path", "apn", "protocol", "username", "password", "auth_method" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/cell-lock", "handler": "get_cell_lock_status_handler", "routeEvidence": "backend/src/main.rs:636-637", "handlerEvidence": "backend/src/handlers.rs:1574-1582", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1574-1582", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1574-1582; field shape is implementation evidence only", "sha256": "fe4b4aaedc6e5ccf4d36d0a347b46999ae99290a41efaf0bedf7e37be992591e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1574, "endLine": 1582 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1574-1582; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_cell_lock.bru", "method": "GET", "path": "/api/cell-lock", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/cell-lock", "handler": "set_cell_lock_handler", "routeEvidence": "backend/src/main.rs:636-638", "handlerEvidence": "backend/src/handlers.rs:1585-1603", "requestSummary": "body extractor CellLockRequest fields [rat:u8, enable:bool, lock_type:u8, pci:Option, arfcn:Option] (models.rs:405); exact handler backend/src/handlers.rs:1585-1603", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1585-1603", "sha256": "29ff2739b7d0b58489c537db7c2fc000dabc4ba4251e27ba34e546cf9f9735ce", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1585, "endLine": 1603 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1585-1603", "brunoEvidence": [ { "file": "bruno-api/set_cell_lock_lte.bru", "method": "POST", "path": "/api/cell-lock", "bodyMode": "json", "bodyFields": [ "rat", "enable", "arfcn", "pci" ] }, { "file": "bruno-api/set_cell_lock_nr.bru", "method": "POST", "path": "/api/cell-lock", "bodyMode": "json", "bodyFields": [ "rat", "enable", "arfcn", "pci" ] }, { "file": "bruno-api/unlock_cell_nr.bru", "method": "POST", "path": "/api/cell-lock", "bodyMode": "json", "bodyFields": [ "rat", "enable" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/cell-lock/unlock-all", "handler": "unlock_all_cells_handler", "routeEvidence": "backend/src/main.rs:642-643", "handlerEvidence": "backend/src/handlers.rs:1606-1616", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1606-1616", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:1606-1616; field shape is implementation evidence only", "sha256": "390162e5ce89c0952897c9a14054e33d502f52ad69a61b6becfe7c47f3c8be5d", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 1606, "endLine": 1616 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1606-1616; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/unlock_all_cells.bru", "method": "POST", "path": "/api/cell-lock/unlock-all", "bodyMode": "json", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/data", "handler": "get_data_status", "routeEvidence": "backend/src/main.rs:647-648", "handlerEvidence": "backend/src/handlers.rs:2035-2062", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2035-2062", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2035-2062", "sha256": "43f00a519bd67c3a500c709747a29286ccf37bdd96abd83541dcd21c3c476420", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2035, "endLine": 2062 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2035-2062", "brunoEvidence": [ { "file": "bruno-api/get_data_status.bru", "method": "GET", "path": "/api/data", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/data", "handler": "set_data_status", "routeEvidence": "backend/src/main.rs:647-649", "handlerEvidence": "backend/src/handlers.rs:2065-2131", "requestSummary": "body extractor DataConnectionRequest fields [active:bool] (models.rs:234); exact handler backend/src/handlers.rs:2065-2131", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2065-2131", "sha256": "f1653cfe4442172ca80c97d1223ee4bdc6ed739d2f16e620a26285ab58b395b9", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2065, "endLine": 2131 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2065-2131", "brunoEvidence": [ { "file": "bruno-api/set_data_status_disable.bru", "method": "POST", "path": "/api/data", "bodyMode": "json", "bodyFields": [ "active" ] }, { "file": "bruno-api/set_data_status_enable.bru", "method": "POST", "path": "/api/data", "bodyMode": "json", "bodyFields": [ "active" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/roaming", "handler": "get_roaming_status_handler", "routeEvidence": "backend/src/main.rs:653-654", "handlerEvidence": "backend/src/handlers.rs:2172-2193", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2172-2193", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2172-2193", "sha256": "687ff0cdb729645af41a7b5d6828f1c348da3948163376adca3418e68a7937ae", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2172, "endLine": 2193 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2172-2193", "brunoEvidence": [ { "file": "bruno-api/get_roaming_status.bru", "method": "GET", "path": "/api/roaming", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/roaming", "handler": "set_roaming_status_handler", "routeEvidence": "backend/src/main.rs:653-655", "handlerEvidence": "backend/src/handlers.rs:2196-2247", "requestSummary": "body extractor RoamingRequest fields [allowed:bool] (models.rs:244); exact handler backend/src/handlers.rs:2196-2247", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2196-2247", "sha256": "b18b5c87eb24ccc952ff28bbee43f484c4e20c918ddd4f18d043a471ed3309c7", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2196, "endLine": 2247 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2196-2247", "brunoEvidence": [ { "file": "bruno-api/set_roaming_enable.bru", "method": "POST", "path": "/api/roaming", "bodyMode": "json", "bodyFields": [ "allowed" ] }, { "file": "bruno-api/set_roaming_disable.bru", "method": "POST", "path": "/api/roaming", "bodyMode": "json", "bodyFields": [ "allowed" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/airplane-mode", "handler": "get_airplane_mode_handler", "routeEvidence": "backend/src/main.rs:659-660", "handlerEvidence": "backend/src/handlers.rs:2315-2329", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2315-2329", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2315-2329", "sha256": "243c2a63fd99d45cf4729005221137e0b024f72256dbe3ea3ef83bb75bdde620", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2315, "endLine": 2329 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2315-2329", "brunoEvidence": [ { "file": "bruno-api/get_airplane_mode.bru", "method": "GET", "path": "/api/airplane-mode", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/airplane-mode", "handler": "set_airplane_mode_handler", "routeEvidence": "backend/src/main.rs:659-661", "handlerEvidence": "backend/src/handlers.rs:2250-2312", "requestSummary": "body extractor AirplaneModeRequest fields [enabled:bool] (models.rs:255); exact handler backend/src/handlers.rs:2250-2312", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2250-2312", "sha256": "5efb8a55c495ea0be28c8845d4fa3dcecdac3e3d770aaa3ae23140da46f8492a", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2250, "endLine": 2312 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2250-2312", "brunoEvidence": [ { "file": "bruno-api/set_airplane_mode_disable.bru", "method": "POST", "path": "/api/airplane-mode", "bodyMode": "json", "bodyFields": [ "enabled" ] }, { "file": "bruno-api/set_airplane_mode_enable.bru", "method": "POST", "path": "/api/airplane-mode", "bodyMode": "json", "bodyFields": [ "enabled" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/baseband/restart", "handler": "restart_baseband_handler", "routeEvidence": "backend/src/main.rs:665-666", "handlerEvidence": "backend/src/handlers.rs:2133-2159", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2133-2159", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2133-2159", "sha256": "ef18782a4b21d5b4ba5c75334f7fb503c697239a06372235139f3844e629f6fc", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2133, "endLine": 2159 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2133-2159", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/baseband/restart/status", "handler": "get_baseband_restart_status_handler", "routeEvidence": "backend/src/main.rs:669-670", "handlerEvidence": "backend/src/handlers.rs:2161-2169", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2161-2169", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:2161-2169; field shape is implementation evidence only", "sha256": "736cc766f31d5d714dc45f720bc682f377ded3075b4886ec0cb5eb82b2e65cf5", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2161, "endLine": 2169 }, "extractorTokens": [], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:2161-2169; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/work-mode", "handler": "get_work_mode_handler", "routeEvidence": "backend/src/main.rs:674-675", "handlerEvidence": "backend/src/handlers.rs:352-365", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:352-365", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:352-365; field shape is implementation evidence only", "sha256": "f2d3dca3f43326f8d0b8da91e01dc98483284a34e2d81ec3602e9fa8e1547ffd", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 352, "endLine": 365 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:352-365; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/work-mode", "handler": "set_work_mode_handler", "routeEvidence": "backend/src/main.rs:674-676", "handlerEvidence": "backend/src/handlers.rs:368-405", "requestSummary": "body extractor WorkModeRequest fields [mode:WorkMode, confirm:bool] (models.rs:57); exact handler backend/src/handlers.rs:368-405", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:368-405", "sha256": "cf17a54e0df74a9d41ddc7d847f7339f4fe2392f4c6c04041bf3cad519931c3c", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 368, "endLine": 405 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:368-405", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/esim/config", "handler": "get_esim_config_handler", "routeEvidence": "backend/src/main.rs:680-681", "handlerEvidence": "backend/src/handlers.rs:456-462", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:456-462", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:456-462; field shape is implementation evidence only", "sha256": "1be6b526e1a78451fb771cd0ca2ab2013a934d75847157bbf41bd9e2ab359221", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 456, "endLine": 462 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:456-462; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/esim/config", "handler": "set_esim_config_handler", "routeEvidence": "backend/src/main.rs:680-682", "handlerEvidence": "backend/src/handlers.rs:465-482", "requestSummary": "body extractor crate::config::EsimConfig fields [lpac_path:String, custom_memory_total_kb:Option] (config.rs:1660); exact handler backend/src/handlers.rs:465-482", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:465-482; field shape is implementation evidence only", "sha256": "b497f06687977d9fc9eace182b20a5feb3562b3f6a18583e3e62918cd4e85e79", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 465, "endLine": 482 }, "extractorTokens": [ "Json", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:465-482; field shape is implementation evidence only", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/esim/lpac/status", "handler": "get_esim_lpac_status_handler", "routeEvidence": "backend/src/main.rs:686-687", "handlerEvidence": "backend/src/handlers.rs:408-416", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:408-416", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:408-416; field shape is implementation evidence only", "sha256": "a4d5143d1f83089b6f29eda71d7dfc499b47d7260492f453eba31f87a64a8241", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 408, "endLine": 416 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:408-416; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/esim/lpac/repair", "handler": "repair_esim_lpac_handler", "routeEvidence": "backend/src/main.rs:690-691", "handlerEvidence": "backend/src/handlers.rs:419-453", "requestSummary": "body extractor EsimLpacRepairRequest fields [proxy_prefix:Option, asset_url:Option] (models.rs:153); exact handler backend/src/handlers.rs:419-453", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:419-453; field shape is implementation evidence only", "sha256": "4d88af6126732e94f424825cd5a3715060973d5aab707f8b9ea9539225199019", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 419, "endLine": 453 }, "extractorTokens": [ "Json", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:419-453; field shape is implementation evidence only", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/esim/euicc", "handler": "get_esim_euicc_handler", "routeEvidence": "backend/src/main.rs:694-695", "handlerEvidence": "backend/src/handlers.rs:485-521", "requestSummary": "query extractor std::collections::HashMap; exact exact handler backend/src/handlers.rs:485-521", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:485-521; field shape is implementation evidence only", "sha256": "7bb950b7fe21268d45b57dc7f422cd39b7e542eb76dc6c9a739a83c4f347556e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 485, "endLine": 521 }, "extractorTokens": [ "Query>", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:485-521; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/esim/profiles", "handler": "get_esim_profiles_handler", "routeEvidence": "backend/src/main.rs:698-699", "handlerEvidence": "backend/src/handlers.rs:524-598", "requestSummary": "query extractor std::collections::HashMap; exact exact handler backend/src/handlers.rs:524-598", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:524-598", "sha256": "07f60eddaa9d20ff8239c0083b15207aec94530c2e1edf998dc709e39b125062", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 524, "endLine": 598 }, "extractorTokens": [ "Query>", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:524-598", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/esim/profiles", "handler": "download_esim_profile_handler", "routeEvidence": "backend/src/main.rs:698-700", "handlerEvidence": "backend/src/handlers.rs:803-1071", "requestSummary": "body extractor EsimDownloadRequest fields [smdp:String, matching_id:String, confirmation_code:Option, imei:Option] (models.rs:174); exact handler backend/src/handlers.rs:803-1071", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:803-1071", "sha256": "fe41273a15be55b3864e2d8f4dfc65d27686e5cafdc20d972603a5800b7a7043", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 803, "endLine": 1071 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:803-1071", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/esim/profiles/{iccid}/enable", "handler": "enable_esim_profile_handler", "routeEvidence": "backend/src/main.rs:704-705", "handlerEvidence": "backend/src/handlers.rs:601-726", "requestSummary": "path extractor String; exact handler backend/src/handlers.rs:601-726", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:601-726; field shape is implementation evidence only", "sha256": "d54705546ca3bf2afafe9638d2c33ed198255747e19092a1dd6e1697e691ec2d", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 601, "endLine": 726 }, "extractorTokens": [ "Path", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:601-726; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/esim/profiles/{iccid}/rename", "handler": "rename_esim_profile_handler", "routeEvidence": "backend/src/main.rs:708-709", "handlerEvidence": "backend/src/handlers.rs:729-750", "requestSummary": "body extractor EsimRenameRequest fields [name:String] (models.rs:169); path extractor String; exact handler backend/src/handlers.rs:729-750", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:729-750", "sha256": "0d5cb68158e1e6c2f656a687eb43be6ad936a8d920e0a18262c20195ea08cb65", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 729, "endLine": 750 }, "extractorTokens": [ "Json", "Path", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:729-750", "evidenceLevel": "route+handler+model" }, { "method": "DELETE", "path": "/api/esim/profiles/{iccid}", "handler": "delete_esim_profile_handler", "routeEvidence": "backend/src/main.rs:712-713", "handlerEvidence": "backend/src/handlers.rs:753-780", "requestSummary": "path extractor String; exact handler backend/src/handlers.rs:753-780", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:753-780; field shape is implementation evidence only", "sha256": "8ad25b4826f75d27b2e39e8dee2c2362f47f2c9279ff1bd878ec57e2aa18aaf1", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 753, "endLine": 780 }, "extractorTokens": [ "Path", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:753-780; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/calls", "handler": "get_calls_handler", "routeEvidence": "backend/src/main.rs:717-718", "handlerEvidence": "backend/src/handlers.rs:2634-2655", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2634-2655", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2634-2655", "sha256": "21e77021b749876bcd614e999f860c7e6826fc9744733cae9cbc65744b839da1", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2634, "endLine": 2655 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2634-2655", "brunoEvidence": [ { "file": "bruno-api/get_calls.bru", "method": "GET", "path": "/api/calls", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/dial", "handler": "dial_call_handler", "routeEvidence": "backend/src/main.rs:721-722", "handlerEvidence": "backend/src/handlers.rs:2657-2689", "requestSummary": "body extractor MakeCallRequest fields [phone_number:String] (models.rs:810); exact handler backend/src/handlers.rs:2657-2689", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2657-2689", "sha256": "c440bb90bb4373b32a57c6c2d40ebbcb8017853f99b0338c444eaa2f19e00d90", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2657, "endLine": 2689 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2657-2689", "brunoEvidence": [ { "file": "bruno-api/post_call_dial.bru", "method": "POST", "path": "/api/call/dial", "bodyMode": "json", "bodyFields": [ "phone_number" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/call/hangup", "handler": "hangup_call_handler", "routeEvidence": "backend/src/main.rs:725-726", "handlerEvidence": "backend/src/handlers.rs:2691-2725", "requestSummary": "body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2691-2725", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2691-2725", "sha256": "cffdc6b2f949af4d1ad38a29693f8c610824bfc2f950540d43399481aa3bb992", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2691, "endLine": 2725 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2691-2725", "brunoEvidence": [ { "file": "bruno-api/post_call_hangup.bru", "method": "POST", "path": "/api/call/hangup", "bodyMode": "json", "bodyFields": [ "path" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/call/hangup-all", "handler": "hangup_all_calls_handler", "routeEvidence": "backend/src/main.rs:729-730", "handlerEvidence": "backend/src/handlers.rs:2727-2760", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2727-2760", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2727-2760", "sha256": "3af8fab7bb4c04370a679b8dc28c435c60c15bba7f6b68fdccbd06e17698e5b5", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2727, "endLine": 2760 }, "extractorTokens": [ "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2727-2760", "brunoEvidence": [ { "file": "bruno-api/post_call_hangup_all.bru", "method": "POST", "path": "/api/call/hangup-all", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/answer", "handler": "answer_call_handler", "routeEvidence": "backend/src/main.rs:733-734", "handlerEvidence": "backend/src/handlers.rs:2762-2789", "requestSummary": "body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2762-2789", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2762-2789", "sha256": "cfcda6600d9ba27cb94599a4b0cac37ba4c64a6fb1c85806201e17ff7999c765", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2762, "endLine": 2789 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2762-2789", "brunoEvidence": [ { "file": "bruno-api/post_call_answer.bru", "method": "POST", "path": "/api/call/answer", "bodyMode": "json", "bodyFields": [ "path" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/call/volume", "handler": "get_call_volume_handler", "routeEvidence": "backend/src/main.rs:737-738", "handlerEvidence": "backend/src/handlers.rs:2899-2906", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2899-2906", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2899-2906", "sha256": "4f96c358e70ba5b394df486073b9aa4568634b6f17204a1e1beb46eaa65b6113", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2899, "endLine": 2906 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2899-2906", "brunoEvidence": [ { "file": "bruno-api/get_call_volume.bru", "method": "GET", "path": "/api/call/volume", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/volume", "handler": "set_call_volume_handler", "routeEvidence": "backend/src/main.rs:737-739", "handlerEvidence": "backend/src/handlers.rs:2908-2922", "requestSummary": "body extractor SetCallVolumeRequest fields [speaker_volume:Option, microphone_volume:Option, muted:Option] (models.rs:856); exact handler backend/src/handlers.rs:2908-2922", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2908-2922", "sha256": "9f2e624358e53aaf0adb75e83962b587bd522906d56e597ae9893722505ab582", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2908, "endLine": 2922 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2908-2922", "brunoEvidence": [ { "file": "bruno-api/set_call_volume.bru", "method": "POST", "path": "/api/call/volume", "bodyMode": "json", "bodyFields": [ "speaker_volume", "microphone_volume", "muted" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/call/forwarding", "handler": "get_call_forwarding_handler", "routeEvidence": "backend/src/main.rs:743-744", "handlerEvidence": "backend/src/handlers.rs:2924-2931", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2924-2931", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2924-2931", "sha256": "f7916eb4c5c484e5df16a44890308b546788b4f281784dc754c6160047786712", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2924, "endLine": 2931 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2924-2931", "brunoEvidence": [ { "file": "bruno-api/get_call_forwarding.bru", "method": "GET", "path": "/api/call/forwarding", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/forwarding", "handler": "set_call_forwarding_handler", "routeEvidence": "backend/src/main.rs:743-745", "handlerEvidence": "backend/src/handlers.rs:2933-2943", "requestSummary": "body extractor SetCallForwardingRequest fields [forward_type:String, number:String, timeout:Option] (models.rs:891); exact handler backend/src/handlers.rs:2933-2943", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2933-2943", "sha256": "ddc8b848bccd96aa0485aed3d8ae828cb0c22f0199fb5e98e22dda87ef866a3d", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2933, "endLine": 2943 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2933-2943", "brunoEvidence": [ { "file": "bruno-api/set_call_forwarding.bru", "method": "POST", "path": "/api/call/forwarding", "bodyMode": "json", "bodyFields": [ "forward_type", "number" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/call/settings", "handler": "get_call_settings_handler", "routeEvidence": "backend/src/main.rs:749-750", "handlerEvidence": "backend/src/handlers.rs:2852-2866", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2852-2866", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2852-2866", "sha256": "893ccecb6c077f7e4c25829113a41bc1d7ddc9766fd813433f0653e32e62f544", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2852, "endLine": 2866 }, "extractorTokens": [ "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2852-2866", "brunoEvidence": [ { "file": "bruno-api/get_call_settings.bru", "method": "GET", "path": "/api/call/settings", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/settings", "handler": "set_call_settings_handler", "routeEvidence": "backend/src/main.rs:749-751", "handlerEvidence": "backend/src/handlers.rs:2868-2897", "requestSummary": "body extractor SetCallSettingRequest fields [property:String, value:String] (models.rs:875); exact handler backend/src/handlers.rs:2868-2897", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2868-2897", "sha256": "55ab650b3c53b78a3b80606e57d1e96261c5f88c27554c9181f8cd91e212441e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2868, "endLine": 2897 }, "extractorTokens": [ "Json", "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2868-2897", "brunoEvidence": [ { "file": "bruno-api/set_call_settings.bru", "method": "POST", "path": "/api/call/settings", "bodyMode": "json", "bodyFields": [ "property", "value" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/call/history", "handler": "get_call_history_handler", "routeEvidence": "backend/src/main.rs:755-756", "handlerEvidence": "backend/src/handlers.rs:2791-2813", "requestSummary": "query extractor CallHistoryRequest fields [limit:i64, offset:i64] (models.rs:835); exact handler backend/src/handlers.rs:2791-2813", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2791-2813", "sha256": "1def94db4c3d848ebba26d285882e36be6d0ce3a61b525d36b120d9b1a11740a", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2791, "endLine": 2813 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2791-2813", "evidenceLevel": "route+handler+model" }, { "method": "DELETE", "path": "/api/call/history/{id}", "handler": "delete_call_history_handler", "routeEvidence": "backend/src/main.rs:759-760", "handlerEvidence": "backend/src/handlers.rs:2815-2832", "requestSummary": "path extractor i64; exact handler backend/src/handlers.rs:2815-2832", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2815-2832", "sha256": "defa60d157769310f419da59b4abff5813c6e2ebc790b46d03881e305df44971", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2815, "endLine": 2832 }, "extractorTokens": [ "Json>", "Path", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2815-2832", "brunoEvidence": [ { "file": "bruno-api/delete_call_history.bru", "method": "DELETE", "path": "/api/call/history/1", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/call/history/clear", "handler": "clear_call_history_handler", "routeEvidence": "backend/src/main.rs:763-764", "handlerEvidence": "backend/src/handlers.rs:2834-2850", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2834-2850", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2834-2850", "sha256": "b0e0002012256b5dba375fdc2f747d07923f191029ff960b09297ddc2a521e73", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2834, "endLine": 2850 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2834-2850", "brunoEvidence": [ { "file": "bruno-api/clear_call_history.bru", "method": "POST", "path": "/api/call/history/clear", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/ims/status", "handler": "get_ims_status_handler", "routeEvidence": "backend/src/main.rs:767-768", "handlerEvidence": "backend/src/handlers.rs:2945-2952", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2945-2952", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2945-2952", "sha256": "e533ac5c9e7bc694faa94eaddc7de74e75c53270478480e0c53a1031f5087ba1", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2945, "endLine": 2952 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2945-2952", "brunoEvidence": [ { "file": "bruno-api/get_ims_status.bru", "method": "GET", "path": "/api/ims/status", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/voicemail/status", "handler": "get_voicemail_status_handler", "routeEvidence": "backend/src/main.rs:771-772", "handlerEvidence": "backend/src/handlers.rs:2954-2961", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2954-2961", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2954-2961", "sha256": "837b8fbc971099b904d594fd605ff70aa3f1242a3f26365db95a479d885b33c3", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2954, "endLine": 2961 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2954-2961", "brunoEvidence": [ { "file": "bruno-api/get_voicemail_status.bru", "method": "GET", "path": "/api/voicemail/status", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/sms/send", "handler": "send_sms_handler", "routeEvidence": "backend/src/main.rs:776-777", "handlerEvidence": "backend/src/handlers.rs:2373-2404", "requestSummary": "body extractor SendSmsRequest fields [phone_number:String, content:String] (models.rs:912); exact handler backend/src/handlers.rs:2373-2404", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2373-2404", "sha256": "6cd7eaa5e1a1f939704cadb96de5c47ac7df8c63a7d87018cf2f0ed8fbcdb156", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2373, "endLine": 2404 }, "extractorTokens": [ "Json", "State>", "State>" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2373-2404", "brunoEvidence": [ { "file": "bruno-api/post_sms_send.bru", "method": "POST", "path": "/api/sms/send", "bodyMode": "json", "bodyFields": [ "phone_number", "content" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "GET", "path": "/api/sms/list", "handler": "get_sms_list_handler", "routeEvidence": "backend/src/main.rs:780-781", "handlerEvidence": "backend/src/handlers.rs:2407-2434", "requestSummary": "query extractor SmsListRequest fields [limit:i64, offset:i64, direction:Option] (models.rs:918); exact handler backend/src/handlers.rs:2407-2434", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2407-2434", "sha256": "abbc14adc02b2f5f0c0cf11a9bbac9ceeddf12871a9be8a00b9e9967923d3576", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2407, "endLine": 2434 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2407-2434", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/sms/conversation", "handler": "get_sms_conversation_handler", "routeEvidence": "backend/src/main.rs:784-785", "handlerEvidence": "backend/src/handlers.rs:2437-2458", "requestSummary": "query extractor SmsConversationRequest fields [phone_number:String, limit:i64] (models.rs:927); exact handler backend/src/handlers.rs:2437-2458", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2437-2458", "sha256": "e0747d062889fe8caf7b16d6f394c1a3a4f10148f8df3e2b0b09c80e345bb3da", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2437, "endLine": 2458 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2437-2458", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/sms/stats", "handler": "get_sms_stats_handler", "routeEvidence": "backend/src/main.rs:788-789", "handlerEvidence": "backend/src/handlers.rs:2461-2477", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2461-2477", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2461-2477", "sha256": "bd62f399815cb0d1f41cf895ce32e921dd10bc8cde5b30ed95ba9b46a629b9eb", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2461, "endLine": 2477 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2461-2477", "brunoEvidence": [ { "file": "bruno-api/get_sms_stats.bru", "method": "GET", "path": "/api/sms/stats", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/sms/batch-delete", "handler": "delete_sms_batch_handler", "routeEvidence": "backend/src/main.rs:792-793", "handlerEvidence": "backend/src/handlers.rs:2551-2578", "requestSummary": "body extractor SmsBatchDeleteRequest fields [ids:Vec, phone_numbers:Vec] (models.rs:934); exact handler backend/src/handlers.rs:2551-2578", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2551-2578", "sha256": "94c5c834874012034e8bcd6ba0b03f8cd24fb283c3682129568bcbada59d1609", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2551, "endLine": 2578 }, "extractorTokens": [ "Json", "Json>", "State" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2551-2578", "evidenceLevel": "route+handler+model" }, { "method": "DELETE", "path": "/api/sms/conversation/{phone_number}", "handler": "delete_sms_conversation_handler", "routeEvidence": "backend/src/main.rs:796-797", "handlerEvidence": "backend/src/handlers.rs:2528-2548", "requestSummary": "path extractor String; exact handler backend/src/handlers.rs:2528-2548", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2528-2548", "sha256": "8abd673088da872031588a6449bba27fc95aac6d74a418eed143adbd1fc8166a", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2528, "endLine": 2548 }, "extractorTokens": [ "Json>", "Path", "State" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2528-2548", "evidenceLevel": "route+handler" }, { "method": "DELETE", "path": "/api/sms/message/{id}", "handler": "delete_sms_message_handler", "routeEvidence": "backend/src/main.rs:800-801", "handlerEvidence": "backend/src/handlers.rs:2508-2525", "requestSummary": "path extractor i64; exact handler backend/src/handlers.rs:2508-2525", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2508-2525", "sha256": "8edc9f89854b5c8d8150cb04d5d26935c5bf3131db2cc459a32966c24c6c37f6", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2508, "endLine": 2525 }, "extractorTokens": [ "Json>", "Path", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2508-2525", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/sms/clear", "handler": "clear_sms_handler", "routeEvidence": "backend/src/main.rs:804-805", "handlerEvidence": "backend/src/handlers.rs:2480-2505", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2480-2505", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2480-2505", "sha256": "8c536214c43b65fc5ae19a81c26c7f3b007d6da6eada9f3908f0f9ddcd81bb57", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 2480, "endLine": 2505 }, "extractorTokens": [ "Json>", "State" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2480-2505", "brunoEvidence": [ { "file": "bruno-api/post_sms_clear.bru", "method": "POST", "path": "/api/sms/clear", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/stats", "handler": "get_system_stats", "routeEvidence": "backend/src/main.rs:808-808", "handlerEvidence": "backend/src/handlers.rs:3272-3288", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3272-3288", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:3272-3288; field shape is implementation evidence only", "sha256": "94834f33d10be4b67c6dbc13d948ea17094235847d6e6cab92f426ff56f8af51", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3272, "endLine": 3288 }, "extractorTokens": [ "State>" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3272-3288; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_stats.bru", "method": "GET", "path": "/api/stats", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/stats/cpu", "handler": "get_cpu_info", "routeEvidence": "backend/src/main.rs:809-809", "handlerEvidence": "backend/src/handlers.rs:3291-3302", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3291-3302", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3291-3302", "sha256": "9f24be45c5c8df7a153d7542ec26c95a0a92af09ff5246e3650d985adb634b77", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3291, "endLine": 3302 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3291-3302", "brunoEvidence": [ { "file": "bruno-api/get_cpu_info.bru", "method": "GET", "path": "/api/stats/cpu", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/connectivity", "handler": "get_connectivity_check", "routeEvidence": "backend/src/main.rs:811-812", "handlerEvidence": "backend/src/handlers.rs:3305-3322", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3305-3322", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3305-3322", "sha256": "42ba5f81f052b9923867ee194593504b9f390c1972b08483e4bec85c017303a4", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3305, "endLine": 3322 }, "extractorTokens": [ "Json>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3305-3322", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/system/reboot", "handler": "system_reboot", "routeEvidence": "backend/src/main.rs:815-816", "handlerEvidence": "backend/src/handlers.rs:3381-3406", "requestSummary": "body extractor SystemRebootRequest fields [delay_seconds:u32] (models.rs:422); exact handler backend/src/handlers.rs:3381-3406", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:3381-3406; field shape is implementation evidence only", "sha256": "362737633fd01332829b2623f8aa0bd398846a3648fb431f70c161ee1bb6fe1e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3381, "endLine": 3406 }, "extractorTokens": [ "Json", "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3381-3406; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/post_system_reboot.bru", "method": "POST", "path": "/api/system/reboot", "bodyMode": "json", "bodyFields": [ "delay_seconds" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/service/restart", "handler": "restart_service_handler", "routeEvidence": "backend/src/main.rs:819-820", "handlerEvidence": "backend/src/handlers.rs:3578-3601", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3578-3601", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:3578-3601; field shape is implementation evidence only", "sha256": "712a81c6cca94e0cd2911c324c35cfbb27ed88688f8a119783105e912bceec8b", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3578, "endLine": 3601 }, "extractorTokens": [ "State" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3578-3601; field shape is implementation evidence only", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/notifications/config", "handler": "get_notification_config_handler", "routeEvidence": "backend/src/main.rs:824-825", "handlerEvidence": "backend/src/handlers.rs:3641-3652", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3641-3652", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3641-3652", "sha256": "96344b8b2d1b881879c78c33a954a6a7af4de9aa59ffc1d1ef77a4ebc980e277", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3641, "endLine": 3652 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3641-3652", "brunoEvidence": [ { "file": "bruno-api/get_notification_config.bru", "method": "GET", "path": "/api/notifications/config", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/notifications/config", "handler": "set_notification_config_handler", "routeEvidence": "backend/src/main.rs:824-826", "handlerEvidence": "backend/src/handlers.rs:3655-3672", "requestSummary": "body extractor crate::config::NotificationConfig fields [version:u8, channels:Vec, rules:Vec, log_cleanup:NotificationLogCleanupConfig] (config.rs:548); exact handler backend/src/handlers.rs:3655-3672", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3655-3672", "sha256": "5fc4fbfff68050e0887b051bb111a78b3d3805dfc32b685414f4178333285f3e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3655, "endLine": 3672 }, "extractorTokens": [ "Json", "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3655-3672", "brunoEvidence": [ { "file": "bruno-api/set_notification_config.bru", "method": "POST", "path": "/api/notifications/config", "bodyMode": "json", "bodyFields": [ "webhook", "bark" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/notifications/test/{channel}", "handler": "test_notification_channel_handler", "routeEvidence": "backend/src/main.rs:830-831", "handlerEvidence": "backend/src/handlers.rs:3675-3704", "requestSummary": "path extractor String; exact handler backend/src/handlers.rs:3675-3704", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3675-3704", "sha256": "df28427afab1724aa28b0e28f39b7707778422f086b9ca9bd8ac8ec8e5c909e5", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3675, "endLine": 3704 }, "extractorTokens": [ "Json>", "Path", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3675-3704", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/notifications/logs", "handler": "get_notification_logs_handler", "routeEvidence": "backend/src/main.rs:835-836", "handlerEvidence": "backend/src/handlers.rs:3709-3734", "requestSummary": "query extractor NotificationLogQuery fields [event_type:String, status:String, q:String, start_date:String, end_date:String, limit:i64, offset:i64] (handlers.rs:3607); exact handler backend/src/handlers.rs:3709-3734", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3709-3734", "sha256": "da933f5e679cb9e14580b82b75a4caae71e26db4b2e9f57f32b99c1d472bf005", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3709, "endLine": 3734 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3709-3734", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/notifications/logs/clear", "handler": "clear_notification_logs_handler", "routeEvidence": "backend/src/main.rs:839-840", "handlerEvidence": "backend/src/handlers.rs:3737-3760", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3737-3760", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3737-3760", "sha256": "04de36a4268a3ab6f30354da995a73fb44689d28a2dcd4945548b3b1a89c64d3", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3737, "endLine": 3760 }, "extractorTokens": [ "Json", "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3737-3760", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/notifications/queue", "handler": "get_notification_queue_handler", "routeEvidence": "backend/src/main.rs:843-844", "handlerEvidence": "backend/src/notification_queue.rs:24-41", "requestSummary": "query extractor NotificationQueueQuery fields [limit:i64] (notification_queue.rs:14); exact handler backend/src/notification_queue.rs:24-41", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/notification_queue.rs:24-41", "sha256": "babc88061bcb3386c8394818ccafe784c4c3fd32dd3626370faa0cf0f7652f86", "handlerRange": { "file": "backend/src/notification_queue.rs", "startLine": 24, "endLine": 41 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/notification_queue.rs:24-41", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/notifications/queue/retry-all", "handler": "retry_all_notification_queue_handler", "routeEvidence": "backend/src/main.rs:847-848", "handlerEvidence": "backend/src/notification_queue.rs:84-100", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:84-100", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:84-100", "sha256": "f58e1be1cbf6a022663038bdbc76ec7c6df7c0bbcba6f13ea16faf25f03dcd34", "handlerRange": { "file": "backend/src/notification_queue.rs", "startLine": 84, "endLine": 100 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:84-100", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/notifications/queue/clear", "handler": "clear_notification_queue_handler", "routeEvidence": "backend/src/main.rs:851-852", "handlerEvidence": "backend/src/notification_queue.rs:103-119", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:103-119", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:103-119", "sha256": "2501068f6741e02ed9dfb0475191acfa80ccc81f3cf9b8d2152920c78b7006f1", "handlerRange": { "file": "backend/src/notification_queue.rs", "startLine": 103, "endLine": 119 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:103-119", "evidenceLevel": "route+handler" }, { "method": "DELETE", "path": "/api/notifications/queue/{id}", "handler": "delete_notification_queue_item_handler", "routeEvidence": "backend/src/main.rs:855-856", "handlerEvidence": "backend/src/notification_queue.rs:64-81", "requestSummary": "path extractor i64; exact handler backend/src/notification_queue.rs:64-81", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:64-81", "sha256": "6b845ad2da8f319d8cfa2cb208361901c5a3e852027d9cb96bd54bcd5b27b034", "handlerRange": { "file": "backend/src/notification_queue.rs", "startLine": 64, "endLine": 81 }, "extractorTokens": [ "Json>", "Path", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:64-81", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/notifications/queue/{id}/retry", "handler": "retry_notification_queue_item_handler", "routeEvidence": "backend/src/main.rs:859-860", "handlerEvidence": "backend/src/notification_queue.rs:44-61", "requestSummary": "path extractor i64; exact handler backend/src/notification_queue.rs:44-61", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:44-61", "sha256": "068be5777b9d8f78a7d72c2368b788ab23e6ae1de4d4ab110596783be869d967", "handlerRange": { "file": "backend/src/notification_queue.rs", "startLine": 44, "endLine": 61 }, "extractorTokens": [ "Json>", "Path", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:44-61", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/automation/config", "handler": "get_automation_config_handler", "routeEvidence": "backend/src/main.rs:864-865", "handlerEvidence": "backend/src/handlers.rs:3968-3979", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3968-3979", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3968-3979", "sha256": "eed75ffb9545cf5e08d2bc7ae01ead9830e9457842ce87613f8bdbad8d2b3bba", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3968, "endLine": 3979 }, "extractorTokens": [ "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3968-3979", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/automation/config", "handler": "set_automation_config_handler", "routeEvidence": "backend/src/main.rs:864-866", "handlerEvidence": "backend/src/handlers.rs:3982-3999", "requestSummary": "body extractor crate::config::AutomationConfig fields [enabled:bool, tasks:Vec] (config.rs:1394); exact handler backend/src/handlers.rs:3982-3999", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3982-3999", "sha256": "7f324660f7624a52d5521b4d2a15dbb099cf5a4c518b662a0f7d776f68a33c97", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3982, "endLine": 3999 }, "extractorTokens": [ "Json", "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3982-3999", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/automation/logs", "handler": "get_automation_logs_handler", "routeEvidence": "backend/src/main.rs:870-871", "handlerEvidence": "backend/src/handlers.rs:4002-4027", "requestSummary": "query extractor AutomationLogQuery fields [task_type:String, status:String, q:String, start_date:String, end_date:String, limit:i64, offset:i64] (handlers.rs:3938); exact handler backend/src/handlers.rs:4002-4027", "responseSummary": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:4002-4027", "sha256": "b6cacc95a374e31ad4fb1141d8a1b002ddb6fb642b6300a501830744ad0a587d", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 4002, "endLine": 4027 }, "extractorTokens": [ "Json>", "Query", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:4002-4027", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/automation/logs/clear", "handler": "clear_automation_logs_handler", "routeEvidence": "backend/src/main.rs:874-875", "handlerEvidence": "backend/src/handlers.rs:4030-4053", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:4030-4053", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4030-4053", "sha256": "0912300e74c831ac108f2696eb28a65b5861cd508498330a9a91add6f6781d7e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 4030, "endLine": 4053 }, "extractorTokens": [ "Json", "Json>", "State>" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4030-4053", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/automation/test/{task_id}", "handler": "test_automation_task_handler", "routeEvidence": "backend/src/main.rs:878-879", "handlerEvidence": "backend/src/handlers.rs:4056-4146", "requestSummary": "path extractor String; exact handler backend/src/handlers.rs:4056-4146", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4056-4146", "sha256": "091db790a51ab1855cc1d96b0a07e5c1fc6570102050382abab2535ea5d2034e", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 4056, "endLine": 4146 }, "extractorTokens": [ "Json>", "Path", "State" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4056-4146", "evidenceLevel": "route+handler" }, { "method": "GET", "path": "/api/ota/status", "handler": "get_ota_status_handler", "routeEvidence": "backend/src/main.rs:882-883", "handlerEvidence": "backend/src/handlers.rs:3763-3769", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3763-3769", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:3763-3769; field shape is implementation evidence only", "sha256": "89d8afa94cbad60c4845764679734bf5ef62b1bdf0f64f4e905740d978cce5b0", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3763, "endLine": 3769 }, "extractorTokens": [], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3763-3769; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_ota_status.bru", "method": "GET", "path": "/api/ota/status", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/ota/upload", "handler": "upload_ota_handler", "routeEvidence": "backend/src/main.rs:886-887", "handlerEvidence": "backend/src/handlers.rs:3772-3792", "requestSummary": "bytes extractor axum::body::Bytes; exact exact handler backend/src/handlers.rs:3772-3792", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3772-3792", "sha256": "becfb7dc7e9c1355976abcc802d12f03c06d05d035db2203516fee0cc0b12a74", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3772, "endLine": 3792 }, "extractorTokens": [ "axum::body::Bytes" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3772-3792", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/ota/latest-release", "handler": "get_latest_ota_release_handler", "routeEvidence": "backend/src/main.rs:892-893", "handlerEvidence": "backend/src/handlers.rs:3795-3825", "requestSummary": "body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3795-3825", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3795-3825", "sha256": "61083109860620e593336906b5b08360b7694f3553ab6859445166a52cef0314", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3795, "endLine": 3825 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3795-3825", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/ota/online-prepare", "handler": "prepare_online_ota_handler", "routeEvidence": "backend/src/main.rs:896-897", "handlerEvidence": "backend/src/handlers.rs:3828-3889", "requestSummary": "body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3828-3889", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3828-3889", "sha256": "6d70f80714b7f00461ba8eb4a3dc5c7f6056590bed50162031e7c0af8e5371e2", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3828, "endLine": 3889 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3828-3889", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/ota/apply", "handler": "apply_ota_handler", "routeEvidence": "backend/src/main.rs:900-901", "handlerEvidence": "backend/src/handlers.rs:3892-3911", "requestSummary": "body extractor crate::models::OtaApplyRequest fields [restart_now:bool] (models.rs:1030); exact handler backend/src/handlers.rs:3892-3911", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3892-3911", "sha256": "46c24f90fdb71e52316e32c93e6c37265d79dc4bb2076bbed9c97b92517c3d03", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3892, "endLine": 3911 }, "extractorTokens": [ "Json" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3892-3911", "brunoEvidence": [ { "file": "bruno-api/post_ota_apply_restart.bru", "method": "POST", "path": "/api/ota/apply", "bodyMode": "json", "bodyFields": [ "restart_now" ] }, { "file": "bruno-api/post_ota_apply.bru", "method": "POST", "path": "/api/ota/apply", "bodyMode": "json", "bodyFields": [ "restart_now" ] } ], "evidenceLevel": "route+handler+model+bruno" }, { "method": "POST", "path": "/api/ota/cancel", "handler": "cancel_ota_handler", "routeEvidence": "backend/src/main.rs:904-905", "handlerEvidence": "backend/src/handlers.rs:3914-3931", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3914-3931", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3914-3931", "sha256": "9085b81dc3f8588654d7b258de241d29832afa2c40a9390bbbe9245c069a1603", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 3914, "endLine": 3931 }, "extractorTokens": [], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3914-3931", "brunoEvidence": [ { "file": "bruno-api/post_ota_cancel.bru", "method": "POST", "path": "/api/ota/cancel", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "POST", "path": "/api/auth/password", "handler": "auth::change_password", "routeEvidence": "backend/src/main.rs:908-909", "handlerEvidence": "backend/src/auth.rs:491-553", "requestSummary": "body extractor ChangePasswordRequest fields [new_password:String] (auth.rs:59); exact handler backend/src/auth.rs:491-553", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:491-553", "sha256": "ec7372792586fd2ab24eda6fc2fc008b04c567045c6dfc54f9ae24530ce3b113", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 491, "endLine": 553 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:491-553", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/auth/settings", "handler": "auth::get_settings", "routeEvidence": "backend/src/main.rs:912-913", "handlerEvidence": "backend/src/auth.rs:555-570", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/auth.rs:555-570", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:555-570", "sha256": "035bdb5afbefdcb84d93a6f58f94ace658cfd041bea5ac3f41f1d6d32d4eca1f", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 555, "endLine": 570 }, "extractorTokens": [ "Json>", "State" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:555-570", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/auth/settings", "handler": "auth::set_settings", "routeEvidence": "backend/src/main.rs:912-914", "handlerEvidence": "backend/src/auth.rs:572-640", "requestSummary": "body extractor SecurityConfig fields [password_protection_enabled:bool, password_min_length:u8, password_require_letters:bool, password_require_digits:bool, password_require_symbols:bool, session_ttl_seconds:i64, idle_timeout_seconds:i64] (config.rs:615); exact handler backend/src/auth.rs:572-640", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:572-640", "sha256": "10b564c9437defd56e62bb46e622cce512d3cd42ad8fee67699697a7828987e8", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 572, "endLine": 640 }, "extractorTokens": [ "Json", "State", "HeaderMap" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:572-640", "evidenceLevel": "route+handler+model" }, { "method": "GET", "path": "/api/health", "handler": "health_check", "routeEvidence": "backend/src/main.rs:923-923", "handlerEvidence": "backend/src/handlers.rs:65-75", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:65-75", "responseSummary": "dynamic-json construction in exact handler backend/src/handlers.rs:65-75; field shape is implementation evidence only", "sha256": "e169391fd5f376b8602c2164d0070744964b009f367d2f42c8832b9f98faad25", "handlerRange": { "file": "backend/src/handlers.rs", "startLine": 65, "endLine": 75 }, "extractorTokens": [], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:65-75; field shape is implementation evidence only", "brunoEvidence": [ { "file": "bruno-api/get_health.bru", "method": "GET", "path": "/api/health", "bodyMode": "none", "bodyFields": [] } ], "evidenceLevel": "route+handler+bruno" }, { "method": "GET", "path": "/api/auth/status", "handler": "auth::status", "routeEvidence": "backend/src/main.rs:925-926", "handlerEvidence": "backend/src/auth.rs:345-364", "requestSummary": "none; no body/query/path extractor; exact handler backend/src/auth.rs:345-364", "responseSummary": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:345-364", "sha256": "0ee683548f9f803687e7162cd5c596b09e36ff0adad03a5cb63c2067ece24aa3", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 345, "endLine": 364 }, "extractorTokens": [ "Json>", "State", "HeaderMap" ], "responseKind": "explicit-return", "responseTypeEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:345-364", "evidenceLevel": "route+handler" }, { "method": "POST", "path": "/api/auth/setup", "handler": "auth::setup", "routeEvidence": "backend/src/main.rs:929-930", "handlerEvidence": "backend/src/auth.rs:366-427", "requestSummary": "body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:366-427", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:366-427", "sha256": "1c0c5eb2cc77326de57062361dfe9c499aad351d8d3bbd101844c5cd0be43a6f", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 366, "endLine": 427 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:366-427", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/auth/login", "handler": "auth::login", "routeEvidence": "backend/src/main.rs:933-934", "handlerEvidence": "backend/src/auth.rs:429-489", "requestSummary": "body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:429-489", "responseSummary": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:429-489", "sha256": "defd9444410e5b124ab0d621e7faf70bae335363e7e287738273e9e06cc151a1", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 429, "endLine": 489 }, "extractorTokens": [ "Json", "State" ], "responseKind": "api-response-payload", "responseTypeEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:429-489", "evidenceLevel": "route+handler+model" }, { "method": "POST", "path": "/api/auth/logout", "handler": "auth::logout", "routeEvidence": "backend/src/main.rs:937-938", "handlerEvidence": "backend/src/auth.rs:642-655", "requestSummary": "none body; HeaderMap carries simadmin_session cookie; exact handler backend/src/auth.rs:642-655; cookie name backend/src/auth.rs:43-43", "responseSummary": "dynamic-json construction in exact handler backend/src/auth.rs:642-655; field shape is implementation evidence only", "sha256": "1ccf5c295251b2a22462cc81c3759330b65979cef524facbf2998b712c5daee1", "handlerRange": { "file": "backend/src/auth.rs", "startLine": 642, "endLine": 655 }, "extractorTokens": [ "State", "HeaderMap" ], "responseKind": "dynamic-json", "responseTypeEvidence": "dynamic-json construction in exact handler backend/src/auth.rs:642-655; field shape is implementation evidence only", "evidenceLevel": "route+handler" } ], "snapshotManifest": "upstream-58e2204/manifest.json", "opaqueIntoResponseCount": 0, "brunoOperationCount": 67, "brunoFileCount": 82 }