Files
multi-simadmin/packages/operation-registry/src/structured-evidence-58e2204.ts
T
chick f11877f13e feat(contracts): share notification, organization and device capability models
Move the Hub channel table, organization tags and device capability definitions
into the workspace packages so the control plane and the console validate the
same contract, and refresh the frozen upstream evidence for the new paths.
2026-09-05 18:52:54 +08:00

4982 lines
133 KiB
TypeScript

/** Generated from the frozen upstream snapshot; do not hand-edit claims. */
export const structuredEvidence58e2204 = {
'GET /api/device': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1076,
endLine: 1090,
sourceSha256: '7b4d3ba9a85015e504518640ae05ad6014a98aff50166308b4cd348290cca639',
symbols: [
{
role: 'handler',
symbol: 'get_device_info',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1076,
endLine: 1090,
sourceSha256: '7b4d3ba9a85015e504518640ae05ad6014a98aff50166308b4cd348290cca639',
symbols: [
{
role: 'handler',
symbol: 'get_device_info',
},
{
role: 'response-payload',
symbol: 'DeviceInfoResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 223,
endLine: 231,
sourceSha256: 'dcd68ecf845280d6c19779a2e9617c4d0ec87b1823b0c45c072139f59556c5c4',
symbol: 'DeviceInfoResponse',
fields: ['imei', 'manufacturer', 'model', 'online', 'powered', 'revision'],
},
],
},
},
'GET /api/sim': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1126,
endLine: 1145,
sourceSha256: 'db5280e4e6d37c435a5a0b727087e2ed0d2e09a14901566ff62c7a78fe5685c8',
symbols: [
{
role: 'handler',
symbol: 'get_sim_info',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1126,
endLine: 1145,
sourceSha256: 'db5280e4e6d37c435a5a0b727087e2ed0d2e09a14901566ff62c7a78fe5685c8',
symbols: [
{
role: 'handler',
symbol: 'get_sim_info',
},
{
role: 'response-payload',
symbol: 'SimInfoResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 292,
endLine: 319,
sourceSha256: '3740641a14b199ffdbdabc1e5c6dc1ef1a1e68fbbfedb81800194fdd1d1e77b1',
symbol: 'SimInfoResponse',
fields: [
'active',
'carrier_config',
'carrier_config_revision',
'esim_status',
'iccid',
'imsi',
'lock_status',
'mcc',
'mnc',
'modem_path',
'operator_name',
'phone_number_is_manual',
'phone_numbers',
'pin1_retries',
'pin2_retries',
'present',
'puk1_retries',
'puk2_retries',
'registered_operator_code',
'registered_operator_name',
'sim_path',
'sim_type',
'sms_center',
'sms_center_is_manual',
'sms_total',
'sms_used',
],
},
],
},
},
'POST /api/sim/details/refresh': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1148,
endLine: 1164,
sourceSha256: 'ab04a42ae36c34953d81c4ae7418ee489cf8b1b1604961dac9015b80e24677a2',
symbols: [
{
role: 'handler',
symbol: 'refresh_sim_details_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1148,
endLine: 1164,
sourceSha256: 'ab04a42ae36c34953d81c4ae7418ee489cf8b1b1604961dac9015b80e24677a2',
symbols: [
{
role: 'handler',
symbol: 'refresh_sim_details_handler',
},
],
modelEvidence: [],
},
},
'POST /api/sim/cache': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1167,
endLine: 1213,
sourceSha256: 'b2b5f366ff8b133d4a8cbc7965a5ab50f1ee5a41b23a6c81019824d801a5798f',
symbols: [
{
role: 'handler',
symbol: 'update_sim_cache_handler',
},
{
role: 'request-model',
symbol: 'UpdateSimCacheRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 1036,
endLine: 1039,
sourceSha256: 'fb8e27a7db6f68577ab140f19ac52725dd83a211623256602dbdea643f420de9',
symbol: 'UpdateSimCacheRequest',
fields: ['phone_number', 'sms_center'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1167,
endLine: 1213,
sourceSha256: 'b2b5f366ff8b133d4a8cbc7965a5ab50f1ee5a41b23a6c81019824d801a5798f',
symbols: [
{
role: 'handler',
symbol: 'update_sim_cache_handler',
},
],
modelEvidence: [],
},
},
'GET /api/network': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1218,
endLine: 1232,
sourceSha256: '5d02208a69b790246dfc8d08647fd728517d3e1777acb3cf3dd83f8e589a9e2d',
symbols: [
{
role: 'handler',
symbol: 'get_network_info',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1218,
endLine: 1232,
sourceSha256: '5d02208a69b790246dfc8d08647fd728517d3e1777acb3cf3dd83f8e589a9e2d',
symbols: [
{
role: 'handler',
symbol: 'get_network_info',
},
{
role: 'response-payload',
symbol: 'NetworkInfoResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 322,
endLine: 331,
sourceSha256: 'db4bc775f1957f9beda261e2d5f0dadb8736e48bfe9fa46c9938c51cf0622ca5',
symbol: 'NetworkInfoResponse',
fields: [
'mcc',
'mnc',
'operator_name',
'registration_status',
'signal_strength',
'technology_preference',
],
},
],
},
},
'GET /api/cells': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1235,
endLine: 1249,
sourceSha256: '2a0eb9db873a461af208a2784c9a07fff1a00fcb3666fcaaa8f67840783a8dde',
symbols: [
{
role: 'handler',
symbol: 'get_cells',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1235,
endLine: 1249,
sourceSha256: '2a0eb9db873a461af208a2784c9a07fff1a00fcb3666fcaaa8f67840783a8dde',
symbols: [
{
role: 'handler',
symbol: 'get_cells',
},
{
role: 'response-payload',
symbol: 'CellsResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 216,
endLine: 220,
sourceSha256: '0d100dcc32419e35c6307d682392aee9da6cfb709f7c0a41fd444f5fea806a4a',
symbol: 'CellsResponse',
fields: ['cells', 'serving_cell'],
},
],
},
},
'POST /api/cell-monitor/start': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1252,
endLine: 1282,
sourceSha256: 'c70d5916a800de22a643c93e2a9ddb7a6a4eeb9e8ad83fee1fbd3ee7660b78fe',
symbols: [
{
role: 'handler',
symbol: 'start_cell_monitor_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1252,
endLine: 1282,
sourceSha256: 'c70d5916a800de22a643c93e2a9ddb7a6a4eeb9e8ad83fee1fbd3ee7660b78fe',
symbols: [
{
role: 'handler',
symbol: 'start_cell_monitor_handler',
},
],
modelEvidence: [],
},
},
'POST /api/cell-monitor/stop': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1285,
endLine: 1312,
sourceSha256: '81303fb59efb78b8ab8901a3a1f693305ff13fc3048d51138c6a9e054ee73c66',
symbols: [
{
role: 'handler',
symbol: 'stop_cell_monitor_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1285,
endLine: 1312,
sourceSha256: '81303fb59efb78b8ab8901a3a1f693305ff13fc3048d51138c6a9e054ee73c66',
symbols: [
{
role: 'handler',
symbol: 'stop_cell_monitor_handler',
},
],
modelEvidence: [],
},
},
'GET /api/radio-mode': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1315,
endLine: 1329,
sourceSha256: 'caba610280c2850fd8a840114af3c9b3b69c4ba0f9a724a23cdb92c78aa222ea',
symbols: [
{
role: 'handler',
symbol: 'get_radio_mode_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1315,
endLine: 1329,
sourceSha256: 'caba610280c2850fd8a840114af3c9b3b69c4ba0f9a724a23cdb92c78aa222ea',
symbols: [
{
role: 'handler',
symbol: 'get_radio_mode_handler',
},
{
role: 'response-payload',
symbol: 'RadioModeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 344,
endLine: 348,
sourceSha256: 'ee2c006cc5e1a03e0bc8d1b720a80ba9dd0b0a4e65725349af49bf9fbc26dddf',
symbol: 'RadioModeResponse',
fields: ['mode', 'supported_modes', 'technology_preference'],
},
],
},
},
'POST /api/radio-mode': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1332,
endLine: 1352,
sourceSha256: 'c41c6134fe1f28b0f018724a009a4df537556f1226be4e27924d7daa10ce3de2',
symbols: [
{
role: 'handler',
symbol: 'set_radio_mode_handler',
},
{
role: 'request-model',
symbol: 'RadioModeRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 351,
endLine: 353,
sourceSha256: '826ab90aeb4cf5c0c89d98b6cc75f922938ba42d10a264c913532bc50420419e',
symbol: 'RadioModeRequest',
fields: ['mode'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1332,
endLine: 1352,
sourceSha256: 'c41c6134fe1f28b0f018724a009a4df537556f1226be4e27924d7daa10ce3de2',
symbols: [
{
role: 'handler',
symbol: 'set_radio_mode_handler',
},
],
modelEvidence: [],
},
},
'GET /api/band-lock': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1355,
endLine: 1369,
sourceSha256: '6130c68b619423b3303d2fcf24fa6175c979c80c6bb2158460c2455d7b347f72',
symbols: [
{
role: 'handler',
symbol: 'get_band_lock_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1355,
endLine: 1369,
sourceSha256: '6130c68b619423b3303d2fcf24fa6175c979c80c6bb2158460c2455d7b347f72',
symbols: [
{
role: 'handler',
symbol: 'get_band_lock_handler',
},
{
role: 'response-payload',
symbol: 'BandLockStatus',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 356,
endLine: 374,
sourceSha256: 'ee0a2e9cd4fd25858a753b9e28566d78e5cf85b4135619ee7074346ce54e9cb9',
symbol: 'BandLockStatus',
fields: [
'locked',
'lte_fdd_bands',
'lte_tdd_bands',
'nr_fdd_bands',
'nr_tdd_bands',
'supported_lte_fdd_bands',
'supported_lte_tdd_bands',
'supported_nr_fdd_bands',
'supported_nr_tdd_bands',
],
},
],
},
},
'POST /api/band-lock': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1372,
endLine: 1392,
sourceSha256: '04504f8b9b2d528e6e367bea397ef722f4f1eb3aa7363946718ea9871ac20277',
symbols: [
{
role: 'handler',
symbol: 'set_band_lock_handler',
},
{
role: 'request-model',
symbol: 'BandLockRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 377,
endLine: 386,
sourceSha256: '690b44d489734f4db1daa819e25099b2e1fbc1982c45d2a08a25bd6ab569235c',
symbol: 'BandLockRequest',
fields: ['lte_fdd_bands', 'lte_tdd_bands', 'nr_fdd_bands', 'nr_tdd_bands'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1372,
endLine: 1392,
sourceSha256: '04504f8b9b2d528e6e367bea397ef722f4f1eb3aa7363946718ea9871ac20277',
symbols: [
{
role: 'handler',
symbol: 'set_band_lock_handler',
},
],
modelEvidence: [],
},
},
'GET /api/network/interfaces': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1619,
endLine: 1644,
sourceSha256: 'a1ac88c365ed70bfccbe2efdc5a2788d3d4bb74115c330fdc319c2eebc074521',
symbols: [
{
role: 'handler',
symbol: 'get_network_interfaces_info',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1619,
endLine: 1644,
sourceSha256: 'a1ac88c365ed70bfccbe2efdc5a2788d3d4bb74115c330fdc319c2eebc074521',
symbols: [
{
role: 'handler',
symbol: 'get_network_interfaces_info',
},
{
role: 'response-payload',
symbol: 'NetworkInterfacesResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 705,
endLine: 708,
sourceSha256: 'b9788a7f2f5135cfe2114c280172286d65d9f8c44dcb78bb8ccf4728341d0dc1',
symbol: 'NetworkInterfacesResponse',
fields: ['interfaces', 'total_count'],
},
],
},
},
'GET /api/network/connection-addresses': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1647,
endLine: 1666,
sourceSha256: 'a5f28ff95121c09750c5fc3f81192a0d15c0a794e16954d2a2783f357319b82f',
symbols: [
{
role: 'handler',
symbol: 'get_network_connection_addresses',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1647,
endLine: 1666,
sourceSha256: 'a5f28ff95121c09750c5fc3f81192a0d15c0a794e16954d2a2783f357319b82f',
symbols: [
{
role: 'handler',
symbol: 'get_network_connection_addresses',
},
{
role: 'response-payload',
symbol: 'ConnectionAddressesResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 711,
endLine: 718,
sourceSha256: '79a8ad8d4e3eea5ea329c5e7cefa2e9518953b0645bae367d04c2fb596118c57',
symbol: 'ConnectionAddressesResponse',
fields: ['ipv4', 'ipv4_interface', 'ipv6', 'ipv6_interface'],
},
],
},
},
'GET /api/device-network/ddns/config': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1669,
endLine: 1679,
sourceSha256: '4ec8e855d61695c9db55ba9afb333005f6bbb4e0bdae5e22988173431d139b1b',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_config_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1669,
endLine: 1679,
sourceSha256: '4ec8e855d61695c9db55ba9afb333005f6bbb4e0bdae5e22988173431d139b1b',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_config_handler',
},
],
modelEvidence: [],
},
},
'POST /api/device-network/ddns/config': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1682,
endLine: 1721,
sourceSha256: '10137722721a3ef9bea62ce99f7225143652521a634c928daa7c389978e69d00',
symbols: [
{
role: 'handler',
symbol: 'set_device_ddns_config_handler',
},
{
role: 'request-model',
symbol: 'DdnsConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 634,
endLine: 651,
sourceSha256: '7e28db1824cb5f92be4a123cc55a80d54533ad70873b7897a61d1aba1ed77d4f',
symbol: 'DdnsConfig',
fields: [
'access_id',
'access_secret',
'enabled',
'interval_seconds',
'ipv4',
'ipv6',
'provider',
'ttl',
],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1682,
endLine: 1721,
sourceSha256: '10137722721a3ef9bea62ce99f7225143652521a634c928daa7c389978e69d00',
symbols: [
{
role: 'handler',
symbol: 'set_device_ddns_config_handler',
},
],
modelEvidence: [],
},
},
'GET /api/device-network/ddns/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1750,
endLine: 1757,
sourceSha256: '02494bf7928a9a23ec81cab75333d7322683628a1c33ea067d7e4ad52177f8f6',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1750,
endLine: 1757,
sourceSha256: '02494bf7928a9a23ec81cab75333d7322683628a1c33ea067d7e4ad52177f8f6',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_status_handler',
},
],
modelEvidence: [],
},
},
'POST /api/device-network/ddns/sync': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1760,
endLine: 1781,
sourceSha256: '43cf9573e2b43aaf431562572de72d81f57bb586d78c69415441859ad0ab0528',
symbols: [
{
role: 'handler',
symbol: 'sync_device_ddns_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1760,
endLine: 1781,
sourceSha256: '43cf9573e2b43aaf431562572de72d81f57bb586d78c69415441859ad0ab0528',
symbols: [
{
role: 'handler',
symbol: 'sync_device_ddns_handler',
},
{
role: 'response-payload',
symbol: 'DdnsSyncResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 542,
endLine: 546,
sourceSha256: '680749e91404c508babd10a2387399322dbc2a0e87c1ef823ead3cf93f11dae4',
symbol: 'DdnsSyncResponse',
fields: ['finished_at', 'records', 'started_at'],
},
],
},
},
'GET /api/device-network/ddns/logs': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1784,
endLine: 1790,
sourceSha256: 'ac80f3ada641ca13354b1b857a8eabfa67c15e30f706209bdce9331a7a903d73',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_logs_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1784,
endLine: 1790,
sourceSha256: 'ac80f3ada641ca13354b1b857a8eabfa67c15e30f706209bdce9331a7a903d73',
symbols: [
{
role: 'handler',
symbol: 'get_device_ddns_logs_handler',
},
],
modelEvidence: [],
},
},
'POST /api/device-network/ddns/logs/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1793,
endLine: 1802,
sourceSha256: '8ebb7d7cfe772a4e7fdee06da1ba69de668a68f0a0cb6077949e1f1ef7594173',
symbols: [
{
role: 'handler',
symbol: 'clear_device_ddns_logs_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1793,
endLine: 1802,
sourceSha256: '8ebb7d7cfe772a4e7fdee06da1ba69de668a68f0a0cb6077949e1f1ef7594173',
symbols: [
{
role: 'handler',
symbol: 'clear_device_ddns_logs_handler',
},
],
modelEvidence: [],
},
},
'GET /api/device-network/wlan/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1805,
endLine: 1819,
sourceSha256: '66741c07471de1f7a414b9771d6ce841fdcaf04d48244ac8cd2e03ecb1612034',
symbols: [
{
role: 'handler',
symbol: 'get_device_wlan_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1805,
endLine: 1819,
sourceSha256: '66741c07471de1f7a414b9771d6ce841fdcaf04d48244ac8cd2e03ecb1612034',
symbols: [
{
role: 'handler',
symbol: 'get_device_wlan_status_handler',
},
{
role: 'response-payload',
symbol: 'WlanStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 562,
endLine: 573,
sourceSha256: 'a4c12c012b2970de39959bf796925d07af17fca6042c8eeef59ef7aa24e2c242',
symbol: 'WlanStatusResponse',
fields: [
'available',
'connected',
'connection_id',
'enabled',
'hardware_enabled',
'interface_name',
'ipv4_addresses',
'ipv4_gateway',
'ipv6_addresses',
'ssid',
],
},
],
},
},
'POST /api/device-network/wlan/enabled': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1822,
endLine: 1841,
sourceSha256: 'b6cc1238ca609208e8c2a6f757736617d2ca200e1b8a1725eda59694592582b7',
symbols: [
{
role: 'handler',
symbol: 'set_device_wlan_enabled_handler',
},
{
role: 'request-model',
symbol: 'WlanEnabledRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 606,
endLine: 608,
sourceSha256: '5b68debfd6293c67d0856dfb87552014e0cbaf0f24d88f2e99b48743602f03b1',
symbol: 'WlanEnabledRequest',
fields: ['enabled'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1822,
endLine: 1841,
sourceSha256: 'b6cc1238ca609208e8c2a6f757736617d2ca200e1b8a1725eda59694592582b7',
symbols: [
{
role: 'handler',
symbol: 'set_device_wlan_enabled_handler',
},
{
role: 'response-payload',
symbol: 'WlanStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 562,
endLine: 573,
sourceSha256: 'a4c12c012b2970de39959bf796925d07af17fca6042c8eeef59ef7aa24e2c242',
symbol: 'WlanStatusResponse',
fields: [
'available',
'connected',
'connection_id',
'enabled',
'hardware_enabled',
'interface_name',
'ipv4_addresses',
'ipv4_gateway',
'ipv6_addresses',
'ssid',
],
},
],
},
},
'POST /api/device-network/wlan/scan': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1844,
endLine: 1858,
sourceSha256: 'de90691d7c57a4e9af311144f3573e0ce80b3cc7ee29cc65b71c94c28e7b2651',
symbols: [
{
role: 'handler',
symbol: 'scan_device_wlan_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1844,
endLine: 1858,
sourceSha256: 'de90691d7c57a4e9af311144f3573e0ce80b3cc7ee29cc65b71c94c28e7b2651',
symbols: [
{
role: 'handler',
symbol: 'scan_device_wlan_handler',
},
{
role: 'response-payload',
symbol: 'WlanScanResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 586,
endLine: 588,
sourceSha256: '18425a0d1c1c473c1628f45fab8617974434b6245ebf2f42752cc0a1f6400c38',
symbol: 'WlanScanResponse',
fields: ['networks'],
},
],
},
},
'GET /api/device-network/wlan/profiles': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1861,
endLine: 1875,
sourceSha256: 'caadf1fc1c436c6342722c2955f0588581d26d12d1fc3db107e47e18adac43f5',
symbols: [
{
role: 'handler',
symbol: 'get_device_wlan_profiles_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1861,
endLine: 1875,
sourceSha256: 'caadf1fc1c436c6342722c2955f0588581d26d12d1fc3db107e47e18adac43f5',
symbols: [
{
role: 'handler',
symbol: 'get_device_wlan_profiles_handler',
},
{
role: 'response-payload',
symbol: 'WlanProfilesResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 601,
endLine: 603,
sourceSha256: '9da2806f9e2d7c02c0c82a269d45922abc19c6a355c51bd6fbdeec27f6ee6561',
symbol: 'WlanProfilesResponse',
fields: ['profiles'],
},
],
},
},
'POST /api/device-network/wlan/forget': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1878,
endLine: 1897,
sourceSha256: 'f5142f819f6da44230d61c9f5db90c8cb473de954faee08245a2f159d43c8a7e',
symbols: [
{
role: 'handler',
symbol: 'forget_device_wlan_handler',
},
{
role: 'request-model',
symbol: 'WlanForgetRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 635,
endLine: 640,
sourceSha256: '8cf9de418699e5d2ef5646157b130c1e661ee4a99e0bf55c5aeea296e7b8284c',
symbol: 'WlanForgetRequest',
fields: ['connection_id', 'uuid'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1878,
endLine: 1897,
sourceSha256: 'f5142f819f6da44230d61c9f5db90c8cb473de954faee08245a2f159d43c8a7e',
symbols: [
{
role: 'handler',
symbol: 'forget_device_wlan_handler',
},
{
role: 'response-payload',
symbol: 'WlanProfilesResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 601,
endLine: 603,
sourceSha256: '9da2806f9e2d7c02c0c82a269d45922abc19c6a355c51bd6fbdeec27f6ee6561',
symbol: 'WlanProfilesResponse',
fields: ['profiles'],
},
],
},
},
'POST /api/device-network/wlan/connect': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1900,
endLine: 1955,
sourceSha256: '9c422666a3db49cdf0efd42873ca681ee158b4fb9183b6211c4f9522f0fe23b5',
symbols: [
{
role: 'handler',
symbol: 'connect_device_wlan_handler',
},
{
role: 'request-model',
symbol: 'WlanConnectRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 611,
endLine: 617,
sourceSha256: '28653f519f8f46a5d48fc60c1a90b51a13da9bb216b506131a5b67ce669e136e',
symbol: 'WlanConnectRequest',
fields: ['auto_join', 'password', 'ssid'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1900,
endLine: 1955,
sourceSha256: '9c422666a3db49cdf0efd42873ca681ee158b4fb9183b6211c4f9522f0fe23b5',
symbols: [
{
role: 'handler',
symbol: 'connect_device_wlan_handler',
},
{
role: 'response-payload',
symbol: 'WlanStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 562,
endLine: 573,
sourceSha256: 'a4c12c012b2970de39959bf796925d07af17fca6042c8eeef59ef7aa24e2c242',
symbol: 'WlanStatusResponse',
fields: [
'available',
'connected',
'connection_id',
'enabled',
'hardware_enabled',
'interface_name',
'ipv4_addresses',
'ipv4_gateway',
'ipv6_addresses',
'ssid',
],
},
],
},
},
'POST /api/device-network/wlan/disconnect': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1958,
endLine: 1991,
sourceSha256: '719a709dc8509a35a0e961f55359aa77d07b9e95908d8622e8b369a54ed62505',
symbols: [
{
role: 'handler',
symbol: 'disconnect_device_wlan_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1958,
endLine: 1991,
sourceSha256: '719a709dc8509a35a0e961f55359aa77d07b9e95908d8622e8b369a54ed62505',
symbols: [
{
role: 'handler',
symbol: 'disconnect_device_wlan_handler',
},
{
role: 'response-payload',
symbol: 'WlanStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 562,
endLine: 573,
sourceSha256: 'a4c12c012b2970de39959bf796925d07af17fca6042c8eeef59ef7aa24e2c242',
symbol: 'WlanStatusResponse',
fields: [
'available',
'connected',
'connection_id',
'enabled',
'hardware_enabled',
'interface_name',
'ipv4_addresses',
'ipv4_gateway',
'ipv6_addresses',
'ssid',
],
},
],
},
},
'POST /api/device-network/wlan/profile': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1994,
endLine: 2013,
sourceSha256: 'b3180f55af718c0404c190cc47c90be10727269ab9ddc7fee9239d24a6088bcd',
symbols: [
{
role: 'handler',
symbol: 'save_device_wlan_profile_handler',
},
{
role: 'request-model',
symbol: 'WlanProfileRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 620,
endLine: 632,
sourceSha256: '4b3c4daf6c86f0ed1dc03fd00bd233de221d53b318bb7c1e1ac04024fff88c8f',
symbol: 'WlanProfileRequest',
fields: [
'auto_join',
'connection_id',
'ipv4_address',
'ipv4_gateway',
'ipv4_mode',
'ipv4_prefix',
],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1994,
endLine: 2013,
sourceSha256: 'b3180f55af718c0404c190cc47c90be10727269ab9ddc7fee9239d24a6088bcd',
symbols: [
{
role: 'handler',
symbol: 'save_device_wlan_profile_handler',
},
{
role: 'response-payload',
symbol: 'WlanStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 562,
endLine: 573,
sourceSha256: 'a4c12c012b2970de39959bf796925d07af17fca6042c8eeef59ef7aa24e2c242',
symbol: 'WlanStatusResponse',
fields: [
'available',
'connected',
'connection_id',
'enabled',
'hardware_enabled',
'interface_name',
'ipv4_addresses',
'ipv4_gateway',
'ipv6_addresses',
'ssid',
],
},
],
},
},
'GET /api/network/signal-strength': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2016,
endLine: 2030,
sourceSha256: '2c04c31da8b4160b8941a524b3016de75c75ae689a28d50f50a664fa5c4af828',
symbols: [
{
role: 'handler',
symbol: 'get_signal_strength_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2016,
endLine: 2030,
sourceSha256: '2c04c31da8b4160b8941a524b3016de75c75ae689a28d50f50a664fa5c4af828',
symbols: [
{
role: 'handler',
symbol: 'get_signal_strength_handler',
},
{
role: 'response-payload',
symbol: 'SignalStrengthResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 721,
endLine: 723,
sourceSha256: '5bbc4951dfb85cf410e11e90929846fa63974f2d083846f1a7a4b45a1078d038',
symbol: 'SignalStrengthResponse',
fields: ['strength'],
},
],
},
},
'GET /api/location/cell-info': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1395,
endLine: 1409,
sourceSha256: 'fc748f05e03bf6843eed36f7a4dd6f785811d05e9dd8942fe2d92a4b63c62398',
symbols: [
{
role: 'handler',
symbol: 'get_cell_location_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1395,
endLine: 1409,
sourceSha256: 'fc748f05e03bf6843eed36f7a4dd6f785811d05e9dd8942fe2d92a4b63c62398',
symbols: [
{
role: 'handler',
symbol: 'get_cell_location_handler',
},
{
role: 'response-payload',
symbol: 'CellLocationResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 744,
endLine: 752,
sourceSha256: '3eb9561a78d76b8276ea681f54e3ab24c51df1c7299cfb287e5c31c33032b49c',
symbol: 'CellLocationResponse',
fields: ['available', 'cell_info', 'cells', 'neighbor_cells'],
},
],
},
},
'GET /api/network/operators': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1412,
endLine: 1426,
sourceSha256: 'd3b30db8a501b92aba2d3038e3642eb020412a2ac11e8286dc1f4860ef3c732b',
symbols: [
{
role: 'handler',
symbol: 'get_network_operators',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1412,
endLine: 1426,
sourceSha256: 'd3b30db8a501b92aba2d3038e3642eb020412a2ac11e8286dc1f4860ef3c732b',
symbols: [
{
role: 'handler',
symbol: 'get_network_operators',
},
{
role: 'response-payload',
symbol: 'OperatorListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 766,
endLine: 768,
sourceSha256: '927df0e09ca10d0744fe1c8a65e9e0c5a8d257736898625c08d299eeb21248af',
symbol: 'OperatorListResponse',
fields: ['operators'],
},
],
},
},
'GET /api/network/operators/scan': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1429,
endLine: 1443,
sourceSha256: '4a8bfbd38a943df8dfa9ce69f3bb162874baf7f6f69507d35257c80aff5316e6',
symbols: [
{
role: 'handler',
symbol: 'scan_network_operators',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1429,
endLine: 1443,
sourceSha256: '4a8bfbd38a943df8dfa9ce69f3bb162874baf7f6f69507d35257c80aff5316e6',
symbols: [
{
role: 'handler',
symbol: 'scan_network_operators',
},
{
role: 'response-payload',
symbol: 'OperatorListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 766,
endLine: 768,
sourceSha256: '927df0e09ca10d0744fe1c8a65e9e0c5a8d257736898625c08d299eeb21248af',
symbol: 'OperatorListResponse',
fields: ['operators'],
},
],
},
},
'POST /api/network/register-manual': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1446,
endLine: 1466,
sourceSha256: '8b78cc782499ff836911c3bb5563c85ae53cc4bb05b418a01ff94f4e16916b4c',
symbols: [
{
role: 'handler',
symbol: 'register_network_manual',
},
{
role: 'request-model',
symbol: 'ManualRegisterRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 771,
endLine: 773,
sourceSha256: '10db81d311c2a9f28710d5f5ef40204ec287cbca1e47e7c211e8b7b064e844b8',
symbol: 'ManualRegisterRequest',
fields: ['mccmnc'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1446,
endLine: 1466,
sourceSha256: '8b78cc782499ff836911c3bb5563c85ae53cc4bb05b418a01ff94f4e16916b4c',
symbols: [
{
role: 'handler',
symbol: 'register_network_manual',
},
],
modelEvidence: [],
},
},
'POST /api/network/register-auto': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1469,
endLine: 1486,
sourceSha256: '431aabcc9852603b66f9a3234afb2e76f6e6cc3845ffb4827874aef16f3744d0',
symbols: [
{
role: 'handler',
symbol: 'register_network_auto',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1469,
endLine: 1486,
sourceSha256: '431aabcc9852603b66f9a3234afb2e76f6e6cc3845ffb4827874aef16f3744d0',
symbols: [
{
role: 'handler',
symbol: 'register_network_auto',
},
],
modelEvidence: [],
},
},
'GET /api/apn': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1489,
endLine: 1504,
sourceSha256: '798953ca7e3857d0ea96f60b7882dafd3893dd751f8af07afea7707dc1145631',
symbols: [
{
role: 'handler',
symbol: 'get_apn_list_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1489,
endLine: 1504,
sourceSha256: '798953ca7e3857d0ea96f60b7882dafd3893dd751f8af07afea7707dc1145631',
symbols: [
{
role: 'handler',
symbol: 'get_apn_list_handler',
},
{
role: 'response-payload',
symbol: 'ApnListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 790,
endLine: 792,
sourceSha256: '3e67a492b7a83e2471c28d68d8e194f69802301e4efc237a23878f34fce92a57',
symbol: 'ApnListResponse',
fields: ['contexts'],
},
],
},
},
'POST /api/apn': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1507,
endLine: 1571,
sourceSha256: '6edced468c5f3bcb5181736b235805550d50c76ebf770b7632c6a7a38e65a8d0',
symbols: [
{
role: 'handler',
symbol: 'set_apn_handler',
},
{
role: 'request-model',
symbol: 'SetApnRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 795,
endLine: 802,
sourceSha256: 'b5732eca064eddf8a084ba3661004ce583150710217a7f2097926456922a0295',
symbol: 'SetApnRequest',
fields: ['apn', 'auth_method', 'context_path', 'password', 'protocol', 'username'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1507,
endLine: 1571,
sourceSha256: '6edced468c5f3bcb5181736b235805550d50c76ebf770b7632c6a7a38e65a8d0',
symbols: [
{
role: 'handler',
symbol: 'set_apn_handler',
},
],
modelEvidence: [],
},
},
'GET /api/cell-lock': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1574,
endLine: 1582,
sourceSha256: 'fe4b4aaedc6e5ccf4d36d0a347b46999ae99290a41efaf0bedf7e37be992591e',
symbols: [
{
role: 'handler',
symbol: 'get_cell_lock_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1574,
endLine: 1582,
sourceSha256: 'fe4b4aaedc6e5ccf4d36d0a347b46999ae99290a41efaf0bedf7e37be992591e',
symbols: [
{
role: 'handler',
symbol: 'get_cell_lock_status_handler',
},
],
modelEvidence: [],
},
},
'POST /api/cell-lock': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1585,
endLine: 1603,
sourceSha256: '29ff2739b7d0b58489c537db7c2fc000dabc4ba4251e27ba34e546cf9f9735ce',
symbols: [
{
role: 'handler',
symbol: 'set_cell_lock_handler',
},
{
role: 'request-model',
symbol: 'CellLockRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 405,
endLine: 415,
sourceSha256: 'ce2683159c40e8c37e15185daca3308065d4d4be372393bfb7ea14cedec39520',
symbol: 'CellLockRequest',
fields: ['arfcn', 'enable', 'lock_type', 'pci', 'rat'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 1585,
endLine: 1603,
sourceSha256: '29ff2739b7d0b58489c537db7c2fc000dabc4ba4251e27ba34e546cf9f9735ce',
symbols: [
{
role: 'handler',
symbol: 'set_cell_lock_handler',
},
{
role: 'response-payload',
symbol: 'CellLockResult',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 805,
endLine: 807,
sourceSha256: '8c645d5c9c9cc61d42654ad34d56885f7bb3f9718ad40995107df7dd34b8445b',
symbol: 'CellLockResult',
fields: ['success'],
},
],
},
},
'POST /api/cell-lock/unlock-all': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 1606,
endLine: 1616,
sourceSha256: '390162e5ce89c0952897c9a14054e33d502f52ad69a61b6becfe7c47f3c8be5d',
symbols: [
{
role: 'handler',
symbol: 'unlock_all_cells_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 1606,
endLine: 1616,
sourceSha256: '390162e5ce89c0952897c9a14054e33d502f52ad69a61b6becfe7c47f3c8be5d',
symbols: [
{
role: 'handler',
symbol: 'unlock_all_cells_handler',
},
],
modelEvidence: [],
},
},
'GET /api/data': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2035,
endLine: 2062,
sourceSha256: '43f00a519bd67c3a500c709747a29286ccf37bdd96abd83541dcd21c3c476420',
symbols: [
{
role: 'handler',
symbol: 'get_data_status',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2035,
endLine: 2062,
sourceSha256: '43f00a519bd67c3a500c709747a29286ccf37bdd96abd83541dcd21c3c476420',
symbols: [
{
role: 'handler',
symbol: 'get_data_status',
},
{
role: 'response-payload',
symbol: 'DataConnectionResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 239,
endLine: 241,
sourceSha256: 'a2090a109ebd433d392959b49f7af25292962db4a7c6e3e9aaa3ec232cfff5f3',
symbol: 'DataConnectionResponse',
fields: ['active'],
},
],
},
},
'POST /api/data': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2065,
endLine: 2131,
sourceSha256: 'f1653cfe4442172ca80c97d1223ee4bdc6ed739d2f16e620a26285ab58b395b9',
symbols: [
{
role: 'handler',
symbol: 'set_data_status',
},
{
role: 'request-model',
symbol: 'DataConnectionRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 234,
endLine: 236,
sourceSha256: '5809e9d26c512e308d32f835756449f923f44198f130fe1f805a982539fba68a',
symbol: 'DataConnectionRequest',
fields: ['active'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2065,
endLine: 2131,
sourceSha256: 'f1653cfe4442172ca80c97d1223ee4bdc6ed739d2f16e620a26285ab58b395b9',
symbols: [
{
role: 'handler',
symbol: 'set_data_status',
},
{
role: 'response-payload',
symbol: 'DataConnectionResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 239,
endLine: 241,
sourceSha256: 'a2090a109ebd433d392959b49f7af25292962db4a7c6e3e9aaa3ec232cfff5f3',
symbol: 'DataConnectionResponse',
fields: ['active'],
},
],
},
},
'GET /api/roaming': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2172,
endLine: 2193,
sourceSha256: '687ff0cdb729645af41a7b5d6828f1c348da3948163376adca3418e68a7937ae',
symbols: [
{
role: 'handler',
symbol: 'get_roaming_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2172,
endLine: 2193,
sourceSha256: '687ff0cdb729645af41a7b5d6828f1c348da3948163376adca3418e68a7937ae',
symbols: [
{
role: 'handler',
symbol: 'get_roaming_status_handler',
},
{
role: 'response-payload',
symbol: 'RoamingResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 249,
endLine: 252,
sourceSha256: 'e40afb67d33b552ca2e1031ff3577e6144bee66d845fc957875f3ef9cd601140',
symbol: 'RoamingResponse',
fields: ['is_roaming', 'roaming_allowed'],
},
],
},
},
'POST /api/roaming': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2196,
endLine: 2247,
sourceSha256: 'b18b5c87eb24ccc952ff28bbee43f484c4e20c918ddd4f18d043a471ed3309c7',
symbols: [
{
role: 'handler',
symbol: 'set_roaming_status_handler',
},
{
role: 'request-model',
symbol: 'RoamingRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 244,
endLine: 246,
sourceSha256: 'f3bc73ca411e378ba0ca12fa9bcfc44ca562af86f83d51f56121f30081814703',
symbol: 'RoamingRequest',
fields: ['allowed'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2196,
endLine: 2247,
sourceSha256: 'b18b5c87eb24ccc952ff28bbee43f484c4e20c918ddd4f18d043a471ed3309c7',
symbols: [
{
role: 'handler',
symbol: 'set_roaming_status_handler',
},
{
role: 'response-payload',
symbol: 'RoamingResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 249,
endLine: 252,
sourceSha256: 'e40afb67d33b552ca2e1031ff3577e6144bee66d845fc957875f3ef9cd601140',
symbol: 'RoamingResponse',
fields: ['is_roaming', 'roaming_allowed'],
},
],
},
},
'GET /api/airplane-mode': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2315,
endLine: 2329,
sourceSha256: '243c2a63fd99d45cf4729005221137e0b024f72256dbe3ea3ef83bb75bdde620',
symbols: [
{
role: 'handler',
symbol: 'get_airplane_mode_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2315,
endLine: 2329,
sourceSha256: '243c2a63fd99d45cf4729005221137e0b024f72256dbe3ea3ef83bb75bdde620',
symbols: [
{
role: 'handler',
symbol: 'get_airplane_mode_handler',
},
{
role: 'response-payload',
symbol: 'AirplaneModeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 260,
endLine: 264,
sourceSha256: 'd93cec1a6fe1fc38a8fc2257580f16d2624e2d2ee68971116d6d5065a5feae2a',
symbol: 'AirplaneModeResponse',
fields: ['enabled', 'online', 'powered'],
},
],
},
},
'POST /api/airplane-mode': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2250,
endLine: 2312,
sourceSha256: '5efb8a55c495ea0be28c8845d4fa3dcecdac3e3d770aaa3ae23140da46f8492a',
symbols: [
{
role: 'handler',
symbol: 'set_airplane_mode_handler',
},
{
role: 'request-model',
symbol: 'AirplaneModeRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 255,
endLine: 257,
sourceSha256: '5b01ca2ade4b410d12cc9cfe64564d8e29c6f47a1f2357800522cb8f9101134f',
symbol: 'AirplaneModeRequest',
fields: ['enabled'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2250,
endLine: 2312,
sourceSha256: '5efb8a55c495ea0be28c8845d4fa3dcecdac3e3d770aaa3ae23140da46f8492a',
symbols: [
{
role: 'handler',
symbol: 'set_airplane_mode_handler',
},
{
role: 'response-payload',
symbol: 'AirplaneModeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 260,
endLine: 264,
sourceSha256: 'd93cec1a6fe1fc38a8fc2257580f16d2624e2d2ee68971116d6d5065a5feae2a',
symbol: 'AirplaneModeResponse',
fields: ['enabled', 'online', 'powered'],
},
],
},
},
'POST /api/baseband/restart': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2133,
endLine: 2159,
sourceSha256: 'ef18782a4b21d5b4ba5c75334f7fb503c697239a06372235139f3844e629f6fc',
symbols: [
{
role: 'handler',
symbol: 'restart_baseband_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2133,
endLine: 2159,
sourceSha256: 'ef18782a4b21d5b4ba5c75334f7fb503c697239a06372235139f3844e629f6fc',
symbols: [
{
role: 'handler',
symbol: 'restart_baseband_handler',
},
{
role: 'response-payload',
symbol: 'BasebandRestartResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 275,
endLine: 280,
sourceSha256: 'ea551f32f5cc5ebc3d46eb12cab65c2ae1d0a70c32764e4a0e8ad5ade691705e',
symbol: 'BasebandRestartResponse',
fields: ['current_registration', 'running', 'steps'],
},
],
},
},
'GET /api/baseband/restart/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2161,
endLine: 2169,
sourceSha256: '736cc766f31d5d714dc45f720bc682f377ded3075b4886ec0cb5eb82b2e65cf5',
symbols: [
{
role: 'handler',
symbol: 'get_baseband_restart_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2161,
endLine: 2169,
sourceSha256: '736cc766f31d5d714dc45f720bc682f377ded3075b4886ec0cb5eb82b2e65cf5',
symbols: [
{
role: 'handler',
symbol: 'get_baseband_restart_status_handler',
},
],
modelEvidence: [],
},
},
'GET /api/work-mode': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 352,
endLine: 365,
sourceSha256: 'f2d3dca3f43326f8d0b8da91e01dc98483284a34e2d81ec3602e9fa8e1547ffd',
symbols: [
{
role: 'handler',
symbol: 'get_work_mode_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 352,
endLine: 365,
sourceSha256: 'f2d3dca3f43326f8d0b8da91e01dc98483284a34e2d81ec3602e9fa8e1547ffd',
symbols: [
{
role: 'handler',
symbol: 'get_work_mode_handler',
},
],
modelEvidence: [],
},
},
'POST /api/work-mode': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 368,
endLine: 405,
sourceSha256: 'cf17a54e0df74a9d41ddc7d847f7339f4fe2392f4c6c04041bf3cad519931c3c',
symbols: [
{
role: 'handler',
symbol: 'set_work_mode_handler',
},
{
role: 'request-model',
symbol: 'WorkModeRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 57,
endLine: 61,
sourceSha256: '6f994606974288f554e5e29ba4b4099604fdae92762bb8f0a38fc6b4c1db69ec',
symbol: 'WorkModeRequest',
fields: ['confirm', 'mode'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 368,
endLine: 405,
sourceSha256: 'cf17a54e0df74a9d41ddc7d847f7339f4fe2392f4c6c04041bf3cad519931c3c',
symbols: [
{
role: 'handler',
symbol: 'set_work_mode_handler',
},
{
role: 'response-payload',
symbol: 'WorkModeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 64,
endLine: 67,
sourceSha256: 'c4576a3cc78aec3e1563090898ed107850fa6f0aaeb9ebf1d8b454cc987c9532',
symbol: 'WorkModeResponse',
fields: ['mode', 'worker_running'],
},
],
},
},
'GET /api/esim/config': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 456,
endLine: 462,
sourceSha256: '1be6b526e1a78451fb771cd0ca2ab2013a934d75847157bbf41bd9e2ab359221',
symbols: [
{
role: 'handler',
symbol: 'get_esim_config_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 456,
endLine: 462,
sourceSha256: '1be6b526e1a78451fb771cd0ca2ab2013a934d75847157bbf41bd9e2ab359221',
symbols: [
{
role: 'handler',
symbol: 'get_esim_config_handler',
},
],
modelEvidence: [],
},
},
'POST /api/esim/config': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 465,
endLine: 482,
sourceSha256: 'b497f06687977d9fc9eace182b20a5feb3562b3f6a18583e3e62918cd4e85e79',
symbols: [
{
role: 'handler',
symbol: 'set_esim_config_handler',
},
{
role: 'request-model',
symbol: 'EsimConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 1660,
endLine: 1665,
sourceSha256: '07f6979b55ed6cecde92065cd63340436d6968ca3fca994d230ab0725a89bbe4',
symbol: 'EsimConfig',
fields: ['custom_memory_total_kb', 'lpac_path'],
},
],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 465,
endLine: 482,
sourceSha256: 'b497f06687977d9fc9eace182b20a5feb3562b3f6a18583e3e62918cd4e85e79',
symbols: [
{
role: 'handler',
symbol: 'set_esim_config_handler',
},
],
modelEvidence: [],
},
},
'GET /api/esim/lpac/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 408,
endLine: 416,
sourceSha256: 'a4d5143d1f83089b6f29eda71d7dfc499b47d7260492f453eba31f87a64a8241',
symbols: [
{
role: 'handler',
symbol: 'get_esim_lpac_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 408,
endLine: 416,
sourceSha256: 'a4d5143d1f83089b6f29eda71d7dfc499b47d7260492f453eba31f87a64a8241',
symbols: [
{
role: 'handler',
symbol: 'get_esim_lpac_status_handler',
},
],
modelEvidence: [],
},
},
'POST /api/esim/lpac/repair': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 419,
endLine: 453,
sourceSha256: '4d88af6126732e94f424825cd5a3715060973d5aab707f8b9ea9539225199019',
symbols: [
{
role: 'handler',
symbol: 'repair_esim_lpac_handler',
},
{
role: 'request-model',
symbol: 'EsimLpacRepairRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 153,
endLine: 156,
sourceSha256: '0345aa3f1d0dce217ddbedcd8776a2d5a774a6dd3c49790eac53c93b59f3296d',
symbol: 'EsimLpacRepairRequest',
fields: ['asset_url', 'proxy_prefix'],
},
],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 419,
endLine: 453,
sourceSha256: '4d88af6126732e94f424825cd5a3715060973d5aab707f8b9ea9539225199019',
symbols: [
{
role: 'handler',
symbol: 'repair_esim_lpac_handler',
},
],
modelEvidence: [],
},
},
'GET /api/esim/euicc': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 485,
endLine: 521,
sourceSha256: '7bb950b7fe21268d45b57dc7f422cd39b7e542eb76dc6c9a739a83c4f347556e',
symbols: [
{
role: 'handler',
symbol: 'get_esim_euicc_handler',
},
{
role: 'request-model',
symbol: 'HashMap',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 485,
endLine: 521,
sourceSha256: '7bb950b7fe21268d45b57dc7f422cd39b7e542eb76dc6c9a739a83c4f347556e',
symbols: [
{
role: 'handler',
symbol: 'get_esim_euicc_handler',
},
],
modelEvidence: [],
},
},
'GET /api/esim/profiles': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 524,
endLine: 598,
sourceSha256: '07f60eddaa9d20ff8239c0083b15207aec94530c2e1edf998dc709e39b125062',
symbols: [
{
role: 'handler',
symbol: 'get_esim_profiles_handler',
},
{
role: 'request-model',
symbol: 'HashMap',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 524,
endLine: 598,
sourceSha256: '07f60eddaa9d20ff8239c0083b15207aec94530c2e1edf998dc709e39b125062',
symbols: [
{
role: 'handler',
symbol: 'get_esim_profiles_handler',
},
{
role: 'response-payload',
symbol: 'EsimProfilesResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 135,
endLine: 137,
sourceSha256: '1f5b824bc368e322dee089bb37e400598ba9a3432499c115c29e3471e557db5d',
symbol: 'EsimProfilesResponse',
fields: ['profiles'],
},
],
},
},
'POST /api/esim/profiles': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 803,
endLine: 1071,
sourceSha256: 'fe41273a15be55b3864e2d8f4dfc65d27686e5cafdc20d972603a5800b7a7043',
symbols: [
{
role: 'handler',
symbol: 'download_esim_profile_handler',
},
{
role: 'request-model',
symbol: 'EsimDownloadRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 174,
endLine: 179,
sourceSha256: 'c289cfd6af916a1a31987a4b6d2f4012029f40e64cd9a845bb47ab562af93c37',
symbol: 'EsimDownloadRequest',
fields: ['confirmation_code', 'imei', 'matching_id', 'smdp'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 803,
endLine: 1071,
sourceSha256: 'fe41273a15be55b3864e2d8f4dfc65d27686e5cafdc20d972603a5800b7a7043',
symbols: [
{
role: 'handler',
symbol: 'download_esim_profile_handler',
},
{
role: 'response-payload',
symbol: 'EsimCommandResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 70,
endLine: 81,
sourceSha256: 'c812a61e3ab89df77bea2168552f96f404bdde64d292e780c446ad0e8454ac23',
symbol: 'EsimCommandResponse',
fields: ['action', 'code', 'data', 'msg', 'status'],
},
],
},
},
'POST /api/esim/profiles/{iccid}/enable': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 601,
endLine: 726,
sourceSha256: 'd54705546ca3bf2afafe9638d2c33ed198255747e19092a1dd6e1697e691ec2d',
symbols: [
{
role: 'handler',
symbol: 'enable_esim_profile_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 601,
endLine: 726,
sourceSha256: 'd54705546ca3bf2afafe9638d2c33ed198255747e19092a1dd6e1697e691ec2d',
symbols: [
{
role: 'handler',
symbol: 'enable_esim_profile_handler',
},
],
modelEvidence: [],
},
},
'POST /api/esim/profiles/{iccid}/rename': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 729,
endLine: 750,
sourceSha256: '0d5cb68158e1e6c2f656a687eb43be6ad936a8d920e0a18262c20195ea08cb65',
symbols: [
{
role: 'handler',
symbol: 'rename_esim_profile_handler',
},
{
role: 'request-model',
symbol: 'EsimRenameRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 169,
endLine: 171,
sourceSha256: '1d610219329178bec27b005b52357e618b3684be48080d3f7b6d726b1146a413',
symbol: 'EsimRenameRequest',
fields: ['name'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 729,
endLine: 750,
sourceSha256: '0d5cb68158e1e6c2f656a687eb43be6ad936a8d920e0a18262c20195ea08cb65',
symbols: [
{
role: 'handler',
symbol: 'rename_esim_profile_handler',
},
{
role: 'response-payload',
symbol: 'EsimCommandResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 70,
endLine: 81,
sourceSha256: 'c812a61e3ab89df77bea2168552f96f404bdde64d292e780c446ad0e8454ac23',
symbol: 'EsimCommandResponse',
fields: ['action', 'code', 'data', 'msg', 'status'],
},
],
},
},
'DELETE /api/esim/profiles/{iccid}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 753,
endLine: 780,
sourceSha256: '8ad25b4826f75d27b2e39e8dee2c2362f47f2c9279ff1bd878ec57e2aa18aaf1',
symbols: [
{
role: 'handler',
symbol: 'delete_esim_profile_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 753,
endLine: 780,
sourceSha256: '8ad25b4826f75d27b2e39e8dee2c2362f47f2c9279ff1bd878ec57e2aa18aaf1',
symbols: [
{
role: 'handler',
symbol: 'delete_esim_profile_handler',
},
],
modelEvidence: [],
},
},
'GET /api/calls': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2634,
endLine: 2655,
sourceSha256: '21e77021b749876bcd614e999f860c7e6826fc9744733cae9cbc65744b839da1',
symbols: [
{
role: 'handler',
symbol: 'get_calls_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2634,
endLine: 2655,
sourceSha256: '21e77021b749876bcd614e999f860c7e6826fc9744733cae9cbc65744b839da1',
symbols: [
{
role: 'handler',
symbol: 'get_calls_handler',
},
{
role: 'response-payload',
symbol: 'CallListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 825,
endLine: 827,
sourceSha256: '534ffadc277a3a9cef22e72c7749573ae775f41011220cdc4fa4779266ce713a',
symbol: 'CallListResponse',
fields: ['calls'],
},
],
},
},
'POST /api/call/dial': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2657,
endLine: 2689,
sourceSha256: 'c440bb90bb4373b32a57c6c2d40ebbcb8017853f99b0338c444eaa2f19e00d90',
symbols: [
{
role: 'handler',
symbol: 'dial_call_handler',
},
{
role: 'request-model',
symbol: 'MakeCallRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 810,
endLine: 812,
sourceSha256: '050178afd522565f4befc4dbe7934efc8dd3ff5588a5b149a70e9b3bfa991b2d',
symbol: 'MakeCallRequest',
fields: ['phone_number'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2657,
endLine: 2689,
sourceSha256: 'c440bb90bb4373b32a57c6c2d40ebbcb8017853f99b0338c444eaa2f19e00d90',
symbols: [
{
role: 'handler',
symbol: 'dial_call_handler',
},
],
modelEvidence: [],
},
},
'POST /api/call/hangup': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2691,
endLine: 2725,
sourceSha256: 'cffdc6b2f949af4d1ad38a29693f8c610824bfc2f950540d43399481aa3bb992',
symbols: [
{
role: 'handler',
symbol: 'hangup_call_handler',
},
{
role: 'request-model',
symbol: 'HangupCallRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 830,
endLine: 832,
sourceSha256: 'b405a57b92217e0b123abbd6316207a8df9422d90c7178e997e65414fbfcf7be',
symbol: 'HangupCallRequest',
fields: ['path'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2691,
endLine: 2725,
sourceSha256: 'cffdc6b2f949af4d1ad38a29693f8c610824bfc2f950540d43399481aa3bb992',
symbols: [
{
role: 'handler',
symbol: 'hangup_call_handler',
},
],
modelEvidence: [],
},
},
'POST /api/call/hangup-all': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2727,
endLine: 2760,
sourceSha256: '3af8fab7bb4c04370a679b8dc28c435c60c15bba7f6b68fdccbd06e17698e5b5',
symbols: [
{
role: 'handler',
symbol: 'hangup_all_calls_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2727,
endLine: 2760,
sourceSha256: '3af8fab7bb4c04370a679b8dc28c435c60c15bba7f6b68fdccbd06e17698e5b5',
symbols: [
{
role: 'handler',
symbol: 'hangup_all_calls_handler',
},
],
modelEvidence: [],
},
},
'POST /api/call/answer': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2762,
endLine: 2789,
sourceSha256: 'cfcda6600d9ba27cb94599a4b0cac37ba4c64a6fb1c85806201e17ff7999c765',
symbols: [
{
role: 'handler',
symbol: 'answer_call_handler',
},
{
role: 'request-model',
symbol: 'HangupCallRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 830,
endLine: 832,
sourceSha256: 'b405a57b92217e0b123abbd6316207a8df9422d90c7178e997e65414fbfcf7be',
symbol: 'HangupCallRequest',
fields: ['path'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2762,
endLine: 2789,
sourceSha256: 'cfcda6600d9ba27cb94599a4b0cac37ba4c64a6fb1c85806201e17ff7999c765',
symbols: [
{
role: 'handler',
symbol: 'answer_call_handler',
},
],
modelEvidence: [],
},
},
'GET /api/call/volume': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2899,
endLine: 2906,
sourceSha256: '4f96c358e70ba5b394df486073b9aa4568634b6f17204a1e1beb46eaa65b6113',
symbols: [
{
role: 'handler',
symbol: 'get_call_volume_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2899,
endLine: 2906,
sourceSha256: '4f96c358e70ba5b394df486073b9aa4568634b6f17204a1e1beb46eaa65b6113',
symbols: [
{
role: 'handler',
symbol: 'get_call_volume_handler',
},
{
role: 'response-payload',
symbol: 'CallVolumeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 849,
endLine: 853,
sourceSha256: 'e466c53c32aee5d04caac7101649a6ad7353a6aa32e61db0967d633f672c9d83',
symbol: 'CallVolumeResponse',
fields: ['microphone_volume', 'muted', 'speaker_volume'],
},
],
},
},
'POST /api/call/volume': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2908,
endLine: 2922,
sourceSha256: '9f2e624358e53aaf0adb75e83962b587bd522906d56e597ae9893722505ab582',
symbols: [
{
role: 'handler',
symbol: 'set_call_volume_handler',
},
{
role: 'request-model',
symbol: 'SetCallVolumeRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 856,
endLine: 860,
sourceSha256: '8161574cf2af16652244291baedca90926015fcdd9f7fb5c6ca7c10d853d563a',
symbol: 'SetCallVolumeRequest',
fields: ['microphone_volume', 'muted', 'speaker_volume'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2908,
endLine: 2922,
sourceSha256: '9f2e624358e53aaf0adb75e83962b587bd522906d56e597ae9893722505ab582',
symbols: [
{
role: 'handler',
symbol: 'set_call_volume_handler',
},
{
role: 'response-payload',
symbol: 'CallVolumeResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 849,
endLine: 853,
sourceSha256: 'e466c53c32aee5d04caac7101649a6ad7353a6aa32e61db0967d633f672c9d83',
symbol: 'CallVolumeResponse',
fields: ['microphone_volume', 'muted', 'speaker_volume'],
},
],
},
},
'GET /api/call/forwarding': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2924,
endLine: 2931,
sourceSha256: 'f7916eb4c5c484e5df16a44890308b546788b4f281784dc754c6160047786712',
symbols: [
{
role: 'handler',
symbol: 'get_call_forwarding_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2924,
endLine: 2931,
sourceSha256: 'f7916eb4c5c484e5df16a44890308b546788b4f281784dc754c6160047786712',
symbols: [
{
role: 'handler',
symbol: 'get_call_forwarding_handler',
},
{
role: 'response-payload',
symbol: 'CallForwardingResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 881,
endLine: 888,
sourceSha256: '451d94fb326995a6ce078ac4dd06ad42215771d0914b54370b0574f4c515062f',
symbol: 'CallForwardingResponse',
fields: [
'forwarding_flag_on_sim',
'voice_busy',
'voice_no_reply',
'voice_no_reply_timeout',
'voice_not_reachable',
'voice_unconditional',
],
},
],
},
},
'POST /api/call/forwarding': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2933,
endLine: 2943,
sourceSha256: 'ddc8b848bccd96aa0485aed3d8ae828cb0c22f0199fb5e98e22dda87ef866a3d',
symbols: [
{
role: 'handler',
symbol: 'set_call_forwarding_handler',
},
{
role: 'request-model',
symbol: 'SetCallForwardingRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 891,
endLine: 895,
sourceSha256: '62bd2c62867b2f8428480220bc1bf7a45c0512ae7ba53b150ac2623481783c39',
symbol: 'SetCallForwardingRequest',
fields: ['forward_type', 'number', 'timeout'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2933,
endLine: 2943,
sourceSha256: 'ddc8b848bccd96aa0485aed3d8ae828cb0c22f0199fb5e98e22dda87ef866a3d',
symbols: [
{
role: 'handler',
symbol: 'set_call_forwarding_handler',
},
{
role: 'response-payload',
symbol: 'CallForwardingResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 881,
endLine: 888,
sourceSha256: '451d94fb326995a6ce078ac4dd06ad42215771d0914b54370b0574f4c515062f',
symbol: 'CallForwardingResponse',
fields: [
'forwarding_flag_on_sim',
'voice_busy',
'voice_no_reply',
'voice_no_reply_timeout',
'voice_not_reachable',
'voice_unconditional',
],
},
],
},
},
'GET /api/call/settings': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2852,
endLine: 2866,
sourceSha256: '893ccecb6c077f7e4c25829113a41bc1d7ddc9766fd813433f0653e32e62f544',
symbols: [
{
role: 'handler',
symbol: 'get_call_settings_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2852,
endLine: 2866,
sourceSha256: '893ccecb6c077f7e4c25829113a41bc1d7ddc9766fd813433f0653e32e62f544',
symbols: [
{
role: 'handler',
symbol: 'get_call_settings_handler',
},
{
role: 'response-payload',
symbol: 'CallSettingsResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 863,
endLine: 872,
sourceSha256: 'a344f7efe3cbff4280b06a3fa53af71d51374443e3e6023e66201607f280a6c1',
symbol: 'CallSettingsResponse',
fields: [
'called_line_presentation',
'calling_line_presentation',
'calling_line_restriction',
'calling_name_presentation',
'connected_line_presentation',
'connected_line_restriction',
'hide_caller_id',
'voice_call_waiting',
],
},
],
},
},
'POST /api/call/settings': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2868,
endLine: 2897,
sourceSha256: '55ab650b3c53b78a3b80606e57d1e96261c5f88c27554c9181f8cd91e212441e',
symbols: [
{
role: 'handler',
symbol: 'set_call_settings_handler',
},
{
role: 'request-model',
symbol: 'SetCallSettingRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 875,
endLine: 878,
sourceSha256: '90ab4d69918ab3c7f6de67f338a9c20c2ba26585f54354a890134b8e1c42d68a',
symbol: 'SetCallSettingRequest',
fields: ['property', 'value'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2868,
endLine: 2897,
sourceSha256: '55ab650b3c53b78a3b80606e57d1e96261c5f88c27554c9181f8cd91e212441e',
symbols: [
{
role: 'handler',
symbol: 'set_call_settings_handler',
},
],
modelEvidence: [],
},
},
'GET /api/call/history': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 2791,
endLine: 2813,
sourceSha256: '1def94db4c3d848ebba26d285882e36be6d0ce3a61b525d36b120d9b1a11740a',
symbols: [
{
role: 'handler',
symbol: 'get_call_history_handler',
},
{
role: 'request-model',
symbol: 'CallHistoryRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 835,
endLine: 840,
sourceSha256: 'a51160efe9c06aa423a4d7cfa63a5d6a14bc703dfcbe52e128fc29fe1a35c793',
symbol: 'CallHistoryRequest',
fields: ['limit', 'offset'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2791,
endLine: 2813,
sourceSha256: '1def94db4c3d848ebba26d285882e36be6d0ce3a61b525d36b120d9b1a11740a',
symbols: [
{
role: 'handler',
symbol: 'get_call_history_handler',
},
{
role: 'response-payload',
symbol: 'CallHistoryResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 843,
endLine: 846,
sourceSha256: '6f6288bea74252c71cbfcd09e19d6acbb992997f15df39b27689151a1dc63e32',
symbol: 'CallHistoryResponse',
fields: ['records', 'stats'],
},
],
},
},
'DELETE /api/call/history/{id}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2815,
endLine: 2832,
sourceSha256: 'defa60d157769310f419da59b4abff5813c6e2ebc790b46d03881e305df44971',
symbols: [
{
role: 'handler',
symbol: 'delete_call_history_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2815,
endLine: 2832,
sourceSha256: 'defa60d157769310f419da59b4abff5813c6e2ebc790b46d03881e305df44971',
symbols: [
{
role: 'handler',
symbol: 'delete_call_history_handler',
},
],
modelEvidence: [],
},
},
'POST /api/call/history/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2834,
endLine: 2850,
sourceSha256: 'b0e0002012256b5dba375fdc2f747d07923f191029ff960b09297ddc2a521e73',
symbols: [
{
role: 'handler',
symbol: 'clear_call_history_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2834,
endLine: 2850,
sourceSha256: 'b0e0002012256b5dba375fdc2f747d07923f191029ff960b09297ddc2a521e73',
symbols: [
{
role: 'handler',
symbol: 'clear_call_history_handler',
},
],
modelEvidence: [],
},
},
'GET /api/ims/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2945,
endLine: 2952,
sourceSha256: 'e533ac5c9e7bc694faa94eaddc7de74e75c53270478480e0c53a1031f5087ba1',
symbols: [
{
role: 'handler',
symbol: 'get_ims_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2945,
endLine: 2952,
sourceSha256: 'e533ac5c9e7bc694faa94eaddc7de74e75c53270478480e0c53a1031f5087ba1',
symbols: [
{
role: 'handler',
symbol: 'get_ims_status_handler',
},
{
role: 'response-payload',
symbol: 'ImsStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 898,
endLine: 902,
sourceSha256: '46ac721678801d84102ae80a36d3f852c4a331f1fd0087bc215d850f6f90151d',
symbol: 'ImsStatusResponse',
fields: ['registered', 'sms_capable', 'voice_capable'],
},
],
},
},
'GET /api/voicemail/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2954,
endLine: 2961,
sourceSha256: '837b8fbc971099b904d594fd605ff70aa3f1242a3f26365db95a479d885b33c3',
symbols: [
{
role: 'handler',
symbol: 'get_voicemail_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2954,
endLine: 2961,
sourceSha256: '837b8fbc971099b904d594fd605ff70aa3f1242a3f26365db95a479d885b33c3',
symbols: [
{
role: 'handler',
symbol: 'get_voicemail_status_handler',
},
{
role: 'response-payload',
symbol: 'VoicemailStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 905,
endLine: 909,
sourceSha256: 'b37d9745d23f454ec5f24dc41eb62dafc061fceab26fbf847866dbb87113ce1c',
symbol: 'VoicemailStatusResponse',
fields: ['mailbox_number', 'message_count', 'waiting'],
},
],
},
},
'POST /api/sms/send': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2373,
endLine: 2404,
sourceSha256: '6cd7eaa5e1a1f939704cadb96de5c47ac7df8c63a7d87018cf2f0ed8fbcdb156',
symbols: [
{
role: 'handler',
symbol: 'send_sms_handler',
},
{
role: 'request-model',
symbol: 'SendSmsRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 912,
endLine: 915,
sourceSha256: '7bb13da27c965b254df83a950901cdeb3af72e86a74d366c9645a5dd30629bd5',
symbol: 'SendSmsRequest',
fields: ['content', 'phone_number'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 2373,
endLine: 2404,
sourceSha256: '6cd7eaa5e1a1f939704cadb96de5c47ac7df8c63a7d87018cf2f0ed8fbcdb156',
symbols: [
{
role: 'handler',
symbol: 'send_sms_handler',
},
],
modelEvidence: [],
},
},
'GET /api/sms/list': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 2407,
endLine: 2434,
sourceSha256: 'abbc14adc02b2f5f0c0cf11a9bbac9ceeddf12871a9be8a00b9e9967923d3576',
symbols: [
{
role: 'handler',
symbol: 'get_sms_list_handler',
},
{
role: 'request-model',
symbol: 'SmsListRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 918,
endLine: 924,
sourceSha256: 'c6ae086cf90c06566dd6079155b00c082c341a5eddc9d9dc3403799a55896a33',
symbol: 'SmsListRequest',
fields: ['direction', 'limit', 'offset'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2407,
endLine: 2434,
sourceSha256: 'abbc14adc02b2f5f0c0cf11a9bbac9ceeddf12871a9be8a00b9e9967923d3576',
symbols: [
{
role: 'handler',
symbol: 'get_sms_list_handler',
},
{
role: 'response-payload',
symbol: 'SmsListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 946,
endLine: 948,
sourceSha256: '207d772eb68ac5872f189b8a88b9e3c8cb74130337d7aaae2f631ae0f8a5b3fa',
symbol: 'SmsListResponse',
fields: ['messages'],
},
],
},
},
'GET /api/sms/conversation': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 2437,
endLine: 2458,
sourceSha256: 'e0747d062889fe8caf7b16d6f394c1a3a4f10148f8df3e2b0b09c80e345bb3da',
symbols: [
{
role: 'handler',
symbol: 'get_sms_conversation_handler',
},
{
role: 'request-model',
symbol: 'SmsConversationRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 927,
endLine: 931,
sourceSha256: 'f13373dc53097cfc6a311162fbb412fce9799880ee71bced82a70c9c2ea64dd4',
symbol: 'SmsConversationRequest',
fields: ['limit', 'phone_number'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2437,
endLine: 2458,
sourceSha256: 'e0747d062889fe8caf7b16d6f394c1a3a4f10148f8df3e2b0b09c80e345bb3da',
symbols: [
{
role: 'handler',
symbol: 'get_sms_conversation_handler',
},
{
role: 'response-payload',
symbol: 'SmsListResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 946,
endLine: 948,
sourceSha256: '207d772eb68ac5872f189b8a88b9e3c8cb74130337d7aaae2f631ae0f8a5b3fa',
symbol: 'SmsListResponse',
fields: ['messages'],
},
],
},
},
'GET /api/sms/stats': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2461,
endLine: 2477,
sourceSha256: 'bd62f399815cb0d1f41cf895ce32e921dd10bc8cde5b30ed95ba9b46a629b9eb',
symbols: [
{
role: 'handler',
symbol: 'get_sms_stats_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2461,
endLine: 2477,
sourceSha256: 'bd62f399815cb0d1f41cf895ce32e921dd10bc8cde5b30ed95ba9b46a629b9eb',
symbols: [
{
role: 'handler',
symbol: 'get_sms_stats_handler',
},
{
role: 'response-payload',
symbol: 'SmsStatsResponse',
},
],
modelEvidence: [],
},
},
'POST /api/sms/batch-delete': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 2551,
endLine: 2578,
sourceSha256: '94c5c834874012034e8bcd6ba0b03f8cd24fb283c3682129568bcbada59d1609',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_batch_handler',
},
{
role: 'request-model',
symbol: 'SmsBatchDeleteRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 934,
endLine: 939,
sourceSha256: '3e952d11ae6ff6d62408df163ea1827ffd65bf064b9ccacbe408366350980f2f',
symbol: 'SmsBatchDeleteRequest',
fields: ['ids', 'phone_numbers'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2551,
endLine: 2578,
sourceSha256: '94c5c834874012034e8bcd6ba0b03f8cd24fb283c3682129568bcbada59d1609',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_batch_handler',
},
],
modelEvidence: [],
},
},
'DELETE /api/sms/conversation/{phone_number}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2528,
endLine: 2548,
sourceSha256: '8abd673088da872031588a6449bba27fc95aac6d74a418eed143adbd1fc8166a',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_conversation_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2528,
endLine: 2548,
sourceSha256: '8abd673088da872031588a6449bba27fc95aac6d74a418eed143adbd1fc8166a',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_conversation_handler',
},
],
modelEvidence: [],
},
},
'DELETE /api/sms/message/{id}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2508,
endLine: 2525,
sourceSha256: '8edc9f89854b5c8d8150cb04d5d26935c5bf3131db2cc459a32966c24c6c37f6',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_message_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2508,
endLine: 2525,
sourceSha256: '8edc9f89854b5c8d8150cb04d5d26935c5bf3131db2cc459a32966c24c6c37f6',
symbols: [
{
role: 'handler',
symbol: 'delete_sms_message_handler',
},
],
modelEvidence: [],
},
},
'POST /api/sms/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 2480,
endLine: 2505,
sourceSha256: '8c536214c43b65fc5ae19a81c26c7f3b007d6da6eada9f3908f0f9ddcd81bb57',
symbols: [
{
role: 'handler',
symbol: 'clear_sms_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 2480,
endLine: 2505,
sourceSha256: '8c536214c43b65fc5ae19a81c26c7f3b007d6da6eada9f3908f0f9ddcd81bb57',
symbols: [
{
role: 'handler',
symbol: 'clear_sms_handler',
},
],
modelEvidence: [],
},
},
'GET /api/stats': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3272,
endLine: 3288,
sourceSha256: '94834f33d10be4b67c6dbc13d948ea17094235847d6e6cab92f426ff56f8af51',
symbols: [
{
role: 'handler',
symbol: 'get_system_stats',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3272,
endLine: 3288,
sourceSha256: '94834f33d10be4b67c6dbc13d948ea17094235847d6e6cab92f426ff56f8af51',
symbols: [
{
role: 'handler',
symbol: 'get_system_stats',
},
],
modelEvidence: [],
},
},
'GET /api/stats/cpu': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3291,
endLine: 3302,
sourceSha256: '9f24be45c5c8df7a153d7542ec26c95a0a92af09ff5246e3650d985adb634b77',
symbols: [
{
role: 'handler',
symbol: 'get_cpu_info',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3291,
endLine: 3302,
sourceSha256: '9f24be45c5c8df7a153d7542ec26c95a0a92af09ff5246e3650d985adb634b77',
symbols: [
{
role: 'handler',
symbol: 'get_cpu_info',
},
{
role: 'response-payload',
symbol: 'CpuInfo',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 668,
endLine: 674,
sourceSha256: '18f0a5679fc0be1579e6feb2087ce42d2a39de98d64e48d2a2026e0b5fab5b4e',
symbol: 'CpuInfo',
fields: ['core_count', 'cores', 'hardware', 'model_name', 'serial'],
},
],
},
},
'GET /api/connectivity': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3305,
endLine: 3322,
sourceSha256: '42ba5f81f052b9923867ee194593504b9f390c1972b08483e4bec85c017303a4',
symbols: [
{
role: 'handler',
symbol: 'get_connectivity_check',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3305,
endLine: 3322,
sourceSha256: '42ba5f81f052b9923867ee194593504b9f390c1972b08483e4bec85c017303a4',
symbols: [
{
role: 'handler',
symbol: 'get_connectivity_check',
},
{
role: 'response-payload',
symbol: 'ConnectivityCheckResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 501,
endLine: 504,
sourceSha256: '67f9945179b4738841849a49ab5dc4cf0c60cf6ff89efe261c8fd1946e055ffc',
symbol: 'ConnectivityCheckResponse',
fields: ['ipv4', 'ipv6'],
},
],
},
},
'POST /api/system/reboot': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3381,
endLine: 3406,
sourceSha256: '362737633fd01332829b2623f8aa0bd398846a3648fb431f70c161ee1bb6fe1e',
symbols: [
{
role: 'handler',
symbol: 'system_reboot',
},
{
role: 'request-model',
symbol: 'SystemRebootRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 422,
endLine: 425,
sourceSha256: 'a619d31a2a25801c7160c8e7e7e044b75c416345782468eb282f9c1de09fa3ec',
symbol: 'SystemRebootRequest',
fields: ['delay_seconds'],
},
],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3381,
endLine: 3406,
sourceSha256: '362737633fd01332829b2623f8aa0bd398846a3648fb431f70c161ee1bb6fe1e',
symbols: [
{
role: 'handler',
symbol: 'system_reboot',
},
],
modelEvidence: [],
},
},
'POST /api/service/restart': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3578,
endLine: 3601,
sourceSha256: '712a81c6cca94e0cd2911c324c35cfbb27ed88688f8a119783105e912bceec8b',
symbols: [
{
role: 'handler',
symbol: 'restart_service_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3578,
endLine: 3601,
sourceSha256: '712a81c6cca94e0cd2911c324c35cfbb27ed88688f8a119783105e912bceec8b',
symbols: [
{
role: 'handler',
symbol: 'restart_service_handler',
},
],
modelEvidence: [],
},
},
'GET /api/notifications/config': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3641,
endLine: 3652,
sourceSha256: '96344b8b2d1b881879c78c33a954a6a7af4de9aa59ffc1d1ef77a4ebc980e277',
symbols: [
{
role: 'handler',
symbol: 'get_notification_config_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3641,
endLine: 3652,
sourceSha256: '96344b8b2d1b881879c78c33a954a6a7af4de9aa59ffc1d1ef77a4ebc980e277',
symbols: [
{
role: 'handler',
symbol: 'get_notification_config_handler',
},
{
role: 'response-payload',
symbol: 'NotificationConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 548,
endLine: 557,
sourceSha256: '7c760845eebafb3ac64f3ff4d7df29564fcab9438ebdb1a248f34cd479d70b25',
symbol: 'NotificationConfig',
fields: ['channels', 'log_cleanup', 'rules', 'version'],
},
],
},
},
'POST /api/notifications/config': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3655,
endLine: 3672,
sourceSha256: '5fc4fbfff68050e0887b051bb111a78b3d3805dfc32b685414f4178333285f3e',
symbols: [
{
role: 'handler',
symbol: 'set_notification_config_handler',
},
{
role: 'request-model',
symbol: 'NotificationConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 548,
endLine: 557,
sourceSha256: '7c760845eebafb3ac64f3ff4d7df29564fcab9438ebdb1a248f34cd479d70b25',
symbol: 'NotificationConfig',
fields: ['channels', 'log_cleanup', 'rules', 'version'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3655,
endLine: 3672,
sourceSha256: '5fc4fbfff68050e0887b051bb111a78b3d3805dfc32b685414f4178333285f3e',
symbols: [
{
role: 'handler',
symbol: 'set_notification_config_handler',
},
],
modelEvidence: [],
},
},
'POST /api/notifications/test/{channel}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3675,
endLine: 3704,
sourceSha256: 'df28427afab1724aa28b0e28f39b7707778422f086b9ca9bd8ac8ec8e5c909e5',
symbols: [
{
role: 'handler',
symbol: 'test_notification_channel_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3675,
endLine: 3704,
sourceSha256: 'df28427afab1724aa28b0e28f39b7707778422f086b9ca9bd8ac8ec8e5c909e5',
symbols: [
{
role: 'handler',
symbol: 'test_notification_channel_handler',
},
{
role: 'response-payload',
symbol: 'WebhookTestResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 953,
endLine: 956,
sourceSha256: '03fcc119e593f9b4bf2c21e40911c3da6b4fb7892c530c3885e760ae0a28d89c',
symbol: 'WebhookTestResponse',
fields: ['message', 'success'],
},
],
},
},
'GET /api/notifications/logs': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 3709,
endLine: 3734,
sourceSha256: 'da933f5e679cb9e14580b82b75a4caae71e26db4b2e9f57f32b99c1d472bf005',
symbols: [
{
role: 'handler',
symbol: 'get_notification_logs_handler',
},
{
role: 'request-model',
symbol: 'NotificationLogQuery',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/handlers.rs',
startLine: 3607,
endLine: 3622,
sourceSha256: '37621ba31c70d9e5ec5e3a2b2ac6fcf4467ab1c404445e17708816d43e3fc62b',
symbol: 'NotificationLogQuery',
fields: ['end_date', 'event_type', 'limit', 'offset', 'q', 'start_date', 'status'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3709,
endLine: 3734,
sourceSha256: 'da933f5e679cb9e14580b82b75a4caae71e26db4b2e9f57f32b99c1d472bf005',
symbols: [
{
role: 'handler',
symbol: 'get_notification_logs_handler',
},
{
role: 'response-payload',
symbol: 'NotificationLogsResponse',
},
],
modelEvidence: [],
},
},
'POST /api/notifications/logs/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3737,
endLine: 3760,
sourceSha256: '04de36a4268a3ab6f30354da995a73fb44689d28a2dcd4945548b3b1a89c64d3',
symbols: [
{
role: 'handler',
symbol: 'clear_notification_logs_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3737,
endLine: 3760,
sourceSha256: '04de36a4268a3ab6f30354da995a73fb44689d28a2dcd4945548b3b1a89c64d3',
symbols: [
{
role: 'handler',
symbol: 'clear_notification_logs_handler',
},
],
modelEvidence: [],
},
},
'GET /api/notifications/queue': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 24,
endLine: 41,
sourceSha256: 'babc88061bcb3386c8394818ccafe784c4c3fd32dd3626370faa0cf0f7652f86',
symbols: [
{
role: 'handler',
symbol: 'get_notification_queue_handler',
},
{
role: 'request-model',
symbol: 'NotificationQueueQuery',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/notification_queue.rs',
startLine: 14,
endLine: 17,
sourceSha256: '82679b6e977664dd33df66758613aca8906f01b2dec32e05867bca1139ffc301',
symbol: 'NotificationQueueQuery',
fields: ['limit'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 24,
endLine: 41,
sourceSha256: 'babc88061bcb3386c8394818ccafe784c4c3fd32dd3626370faa0cf0f7652f86',
symbols: [
{
role: 'handler',
symbol: 'get_notification_queue_handler',
},
{
role: 'response-payload',
symbol: 'NotificationQueueResponse',
},
],
modelEvidence: [],
},
},
'POST /api/notifications/queue/retry-all': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 84,
endLine: 100,
sourceSha256: 'f58e1be1cbf6a022663038bdbc76ec7c6df7c0bbcba6f13ea16faf25f03dcd34',
symbols: [
{
role: 'handler',
symbol: 'retry_all_notification_queue_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 84,
endLine: 100,
sourceSha256: 'f58e1be1cbf6a022663038bdbc76ec7c6df7c0bbcba6f13ea16faf25f03dcd34',
symbols: [
{
role: 'handler',
symbol: 'retry_all_notification_queue_handler',
},
],
modelEvidence: [],
},
},
'POST /api/notifications/queue/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 103,
endLine: 119,
sourceSha256: '2501068f6741e02ed9dfb0475191acfa80ccc81f3cf9b8d2152920c78b7006f1',
symbols: [
{
role: 'handler',
symbol: 'clear_notification_queue_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 103,
endLine: 119,
sourceSha256: '2501068f6741e02ed9dfb0475191acfa80ccc81f3cf9b8d2152920c78b7006f1',
symbols: [
{
role: 'handler',
symbol: 'clear_notification_queue_handler',
},
],
modelEvidence: [],
},
},
'DELETE /api/notifications/queue/{id}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 64,
endLine: 81,
sourceSha256: '6b845ad2da8f319d8cfa2cb208361901c5a3e852027d9cb96bd54bcd5b27b034',
symbols: [
{
role: 'handler',
symbol: 'delete_notification_queue_item_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 64,
endLine: 81,
sourceSha256: '6b845ad2da8f319d8cfa2cb208361901c5a3e852027d9cb96bd54bcd5b27b034',
symbols: [
{
role: 'handler',
symbol: 'delete_notification_queue_item_handler',
},
],
modelEvidence: [],
},
},
'POST /api/notifications/queue/{id}/retry': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 44,
endLine: 61,
sourceSha256: '068be5777b9d8f78a7d72c2368b788ab23e6ae1de4d4ab110596783be869d967',
symbols: [
{
role: 'handler',
symbol: 'retry_notification_queue_item_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/notification_queue.rs',
startLine: 44,
endLine: 61,
sourceSha256: '068be5777b9d8f78a7d72c2368b788ab23e6ae1de4d4ab110596783be869d967',
symbols: [
{
role: 'handler',
symbol: 'retry_notification_queue_item_handler',
},
],
modelEvidence: [],
},
},
'GET /api/automation/config': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3968,
endLine: 3979,
sourceSha256: 'eed75ffb9545cf5e08d2bc7ae01ead9830e9457842ce87613f8bdbad8d2b3bba',
symbols: [
{
role: 'handler',
symbol: 'get_automation_config_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3968,
endLine: 3979,
sourceSha256: 'eed75ffb9545cf5e08d2bc7ae01ead9830e9457842ce87613f8bdbad8d2b3bba',
symbols: [
{
role: 'handler',
symbol: 'get_automation_config_handler',
},
{
role: 'response-payload',
symbol: 'AutomationConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 1394,
endLine: 1399,
sourceSha256: '0442bb2cb71a2f10ff3622a2e82c95100653a25abde4082aff2bad437f7ac440',
symbol: 'AutomationConfig',
fields: ['enabled', 'tasks'],
},
],
},
},
'POST /api/automation/config': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3982,
endLine: 3999,
sourceSha256: '7f324660f7624a52d5521b4d2a15dbb099cf5a4c518b662a0f7d776f68a33c97',
symbols: [
{
role: 'handler',
symbol: 'set_automation_config_handler',
},
{
role: 'request-model',
symbol: 'AutomationConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 1394,
endLine: 1399,
sourceSha256: '0442bb2cb71a2f10ff3622a2e82c95100653a25abde4082aff2bad437f7ac440',
symbol: 'AutomationConfig',
fields: ['enabled', 'tasks'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 3982,
endLine: 3999,
sourceSha256: '7f324660f7624a52d5521b4d2a15dbb099cf5a4c518b662a0f7d776f68a33c97',
symbols: [
{
role: 'handler',
symbol: 'set_automation_config_handler',
},
],
modelEvidence: [],
},
},
'GET /api/automation/logs': {
requestEvidence: {
kind: 'query',
sourceFile: 'backend/src/handlers.rs',
startLine: 4002,
endLine: 4027,
sourceSha256: 'b6cacc95a374e31ad4fb1141d8a1b002ddb6fb642b6300a501830744ad0a587d',
symbols: [
{
role: 'handler',
symbol: 'get_automation_logs_handler',
},
{
role: 'request-model',
symbol: 'AutomationLogQuery',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/handlers.rs',
startLine: 3938,
endLine: 3953,
sourceSha256: '60ffd4c72f57c22da74839546536006420dc0d773d864ee0bd96461e22e7bf91',
symbol: 'AutomationLogQuery',
fields: ['end_date', 'limit', 'offset', 'q', 'start_date', 'status', 'task_type'],
},
],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 4002,
endLine: 4027,
sourceSha256: 'b6cacc95a374e31ad4fb1141d8a1b002ddb6fb642b6300a501830744ad0a587d',
symbols: [
{
role: 'handler',
symbol: 'get_automation_logs_handler',
},
{
role: 'response-payload',
symbol: 'AutomationLogsResponse',
},
],
modelEvidence: [],
},
},
'POST /api/automation/logs/clear': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 4030,
endLine: 4053,
sourceSha256: '0912300e74c831ac108f2696eb28a65b5861cd508498330a9a91add6f6781d7e',
symbols: [
{
role: 'handler',
symbol: 'clear_automation_logs_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 4030,
endLine: 4053,
sourceSha256: '0912300e74c831ac108f2696eb28a65b5861cd508498330a9a91add6f6781d7e',
symbols: [
{
role: 'handler',
symbol: 'clear_automation_logs_handler',
},
],
modelEvidence: [],
},
},
'POST /api/automation/test/{task_id}': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 4056,
endLine: 4146,
sourceSha256: '091db790a51ab1855cc1d96b0a07e5c1fc6570102050382abab2535ea5d2034e',
symbols: [
{
role: 'handler',
symbol: 'test_automation_task_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/handlers.rs',
startLine: 4056,
endLine: 4146,
sourceSha256: '091db790a51ab1855cc1d96b0a07e5c1fc6570102050382abab2535ea5d2034e',
symbols: [
{
role: 'handler',
symbol: 'test_automation_task_handler',
},
],
modelEvidence: [],
},
},
'GET /api/ota/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3763,
endLine: 3769,
sourceSha256: '89d8afa94cbad60c4845764679734bf5ef62b1bdf0f64f4e905740d978cce5b0',
symbols: [
{
role: 'handler',
symbol: 'get_ota_status_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3763,
endLine: 3769,
sourceSha256: '89d8afa94cbad60c4845764679734bf5ef62b1bdf0f64f4e905740d978cce5b0',
symbols: [
{
role: 'handler',
symbol: 'get_ota_status_handler',
},
],
modelEvidence: [],
},
},
'POST /api/ota/upload': {
requestEvidence: {
kind: 'bytes',
sourceFile: 'backend/src/handlers.rs',
startLine: 3772,
endLine: 3792,
sourceSha256: 'becfb7dc7e9c1355976abcc802d12f03c06d05d035db2203516fee0cc0b12a74',
symbols: [
{
role: 'handler',
symbol: 'upload_ota_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3772,
endLine: 3792,
sourceSha256: 'becfb7dc7e9c1355976abcc802d12f03c06d05d035db2203516fee0cc0b12a74',
symbols: [
{
role: 'handler',
symbol: 'upload_ota_handler',
},
{
role: 'response-payload',
symbol: 'OtaUploadResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 980,
endLine: 983,
sourceSha256: '17518f664e9ac5b281203ddda370fb8dd291c31fe863ec2ffad660e9f092518b',
symbol: 'OtaUploadResponse',
fields: ['meta', 'validation'],
},
],
},
},
'POST /api/ota/latest-release': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3795,
endLine: 3825,
sourceSha256: '61083109860620e593336906b5b08360b7694f3553ab6859445166a52cef0314',
symbols: [
{
role: 'handler',
symbol: 'get_latest_ota_release_handler',
},
{
role: 'request-model',
symbol: 'OtaOnlinePrepareRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 986,
endLine: 988,
sourceSha256: 'e32ec913a9464b6cde62845a55cdd4842e395dae5875484394521b3c85f423d0',
symbol: 'OtaOnlinePrepareRequest',
fields: ['proxy_prefix'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3795,
endLine: 3825,
sourceSha256: '61083109860620e593336906b5b08360b7694f3553ab6859445166a52cef0314',
symbols: [
{
role: 'handler',
symbol: 'get_latest_ota_release_handler',
},
{
role: 'response-payload',
symbol: 'OtaLatestReleaseResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 998,
endLine: 1006,
sourceSha256: '81fb4dc12d778b756679dd951f42947f9356d9a15f14e9178c417e7882e3e7f5',
symbol: 'OtaLatestReleaseResponse',
fields: [
'assets',
'body',
'html_url',
'name',
'published_at',
'tag_name',
'target_commitish',
],
},
],
},
},
'POST /api/ota/online-prepare': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3828,
endLine: 3889,
sourceSha256: '6d70f80714b7f00461ba8eb4a3dc5c7f6056590bed50162031e7c0af8e5371e2',
symbols: [
{
role: 'handler',
symbol: 'prepare_online_ota_handler',
},
{
role: 'request-model',
symbol: 'OtaOnlinePrepareRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 986,
endLine: 988,
sourceSha256: 'e32ec913a9464b6cde62845a55cdd4842e395dae5875484394521b3c85f423d0',
symbol: 'OtaOnlinePrepareRequest',
fields: ['proxy_prefix'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3828,
endLine: 3889,
sourceSha256: '6d70f80714b7f00461ba8eb4a3dc5c7f6056590bed50162031e7c0af8e5371e2',
symbols: [
{
role: 'handler',
symbol: 'prepare_online_ota_handler',
},
{
role: 'response-payload',
symbol: 'OtaUploadResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 980,
endLine: 983,
sourceSha256: '17518f664e9ac5b281203ddda370fb8dd291c31fe863ec2ffad660e9f092518b',
symbol: 'OtaUploadResponse',
fields: ['meta', 'validation'],
},
],
},
},
'POST /api/ota/apply': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/handlers.rs',
startLine: 3892,
endLine: 3911,
sourceSha256: '46c24f90fdb71e52316e32c93e6c37265d79dc4bb2076bbed9c97b92517c3d03',
symbols: [
{
role: 'handler',
symbol: 'apply_ota_handler',
},
{
role: 'request-model',
symbol: 'OtaApplyRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/models.rs',
startLine: 1030,
endLine: 1033,
sourceSha256: 'adbbb9f4fe67cbdde1a4b0d2a3077b6db69e1e568b14b633ab68a0de15d24833',
symbol: 'OtaApplyRequest',
fields: ['restart_now'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3892,
endLine: 3911,
sourceSha256: '46c24f90fdb71e52316e32c93e6c37265d79dc4bb2076bbed9c97b92517c3d03',
symbols: [
{
role: 'handler',
symbol: 'apply_ota_handler',
},
],
modelEvidence: [],
},
},
'POST /api/ota/cancel': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 3914,
endLine: 3931,
sourceSha256: '9085b81dc3f8588654d7b258de241d29832afa2c40a9390bbbe9245c069a1603',
symbols: [
{
role: 'handler',
symbol: 'cancel_ota_handler',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/handlers.rs',
startLine: 3914,
endLine: 3931,
sourceSha256: '9085b81dc3f8588654d7b258de241d29832afa2c40a9390bbbe9245c069a1603',
symbols: [
{
role: 'handler',
symbol: 'cancel_ota_handler',
},
],
modelEvidence: [],
},
},
'POST /api/auth/password': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/auth.rs',
startLine: 491,
endLine: 553,
sourceSha256: 'ec7372792586fd2ab24eda6fc2fc008b04c567045c6dfc54f9ae24530ce3b113',
symbols: [
{
role: 'handler',
symbol: 'change_password',
},
{
role: 'request-model',
symbol: 'ChangePasswordRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/auth.rs',
startLine: 59,
endLine: 61,
sourceSha256: 'b948627546180642fbd2298ec4aed4a2a76d8bab8d8252dcef2058fd410cc904',
symbol: 'ChangePasswordRequest',
fields: ['new_password'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/auth.rs',
startLine: 491,
endLine: 553,
sourceSha256: 'ec7372792586fd2ab24eda6fc2fc008b04c567045c6dfc54f9ae24530ce3b113',
symbols: [
{
role: 'handler',
symbol: 'change_password',
},
{
role: 'response-payload',
symbol: 'Value',
},
],
modelEvidence: [],
},
},
'GET /api/auth/settings': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/auth.rs',
startLine: 555,
endLine: 570,
sourceSha256: '035bdb5afbefdcb84d93a6f58f94ace658cfd041bea5ac3f41f1d6d32d4eca1f',
symbols: [
{
role: 'handler',
symbol: 'get_settings',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/auth.rs',
startLine: 555,
endLine: 570,
sourceSha256: '035bdb5afbefdcb84d93a6f58f94ace658cfd041bea5ac3f41f1d6d32d4eca1f',
symbols: [
{
role: 'handler',
symbol: 'get_settings',
},
{
role: 'response-payload',
symbol: 'AuthSettingsResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/auth.rs',
startLine: 71,
endLine: 74,
sourceSha256: '5b0146ad305d3c4cd51ec61ae6950dd8d70ae593f39bb5051fcc112a426d80e4',
symbol: 'AuthSettingsResponse',
fields: ['configured', 'settings'],
},
],
},
},
'POST /api/auth/settings': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/auth.rs',
startLine: 572,
endLine: 640,
sourceSha256: '10b564c9437defd56e62bb46e622cce512d3cd42ad8fee67699697a7828987e8',
symbols: [
{
role: 'handler',
symbol: 'set_settings',
},
{
role: 'request-model',
symbol: 'SecurityConfig',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/config.rs',
startLine: 615,
endLine: 630,
sourceSha256: '46e713f4967fd16a734acb602a92f9baa202d90ca57f506ae4591d8f6b645637',
symbol: 'SecurityConfig',
fields: [
'idle_timeout_seconds',
'password_min_length',
'password_protection_enabled',
'password_require_digits',
'password_require_letters',
'password_require_symbols',
'session_ttl_seconds',
],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/auth.rs',
startLine: 572,
endLine: 640,
sourceSha256: '10b564c9437defd56e62bb46e622cce512d3cd42ad8fee67699697a7828987e8',
symbols: [
{
role: 'handler',
symbol: 'set_settings',
},
{
role: 'response-payload',
symbol: 'Value',
},
],
modelEvidence: [],
},
},
'GET /api/health': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/handlers.rs',
startLine: 65,
endLine: 75,
sourceSha256: 'e169391fd5f376b8602c2164d0070744964b009f367d2f42c8832b9f98faad25',
symbols: [
{
role: 'handler',
symbol: 'health_check',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/handlers.rs',
startLine: 65,
endLine: 75,
sourceSha256: 'e169391fd5f376b8602c2164d0070744964b009f367d2f42c8832b9f98faad25',
symbols: [
{
role: 'handler',
symbol: 'health_check',
},
],
modelEvidence: [],
},
},
'GET /api/auth/status': {
requestEvidence: {
kind: 'path',
sourceFile: 'backend/src/auth.rs',
startLine: 345,
endLine: 364,
sourceSha256: '0ee683548f9f803687e7162cd5c596b09e36ff0adad03a5cb63c2067ece24aa3',
symbols: [
{
role: 'handler',
symbol: 'status',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'explicit-return',
sourceFile: 'backend/src/auth.rs',
startLine: 345,
endLine: 364,
sourceSha256: '0ee683548f9f803687e7162cd5c596b09e36ff0adad03a5cb63c2067ece24aa3',
symbols: [
{
role: 'handler',
symbol: 'status',
},
{
role: 'response-payload',
symbol: 'AuthStatusResponse',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/auth.rs',
startLine: 64,
endLine: 68,
sourceSha256: '155fbb4f48fd81dbf141abb81a3e9b74b8aea1299f174b5b147353ba8a1aa388',
symbol: 'AuthStatusResponse',
fields: ['authenticated', 'configured', 'settings'],
},
],
},
},
'POST /api/auth/setup': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/auth.rs',
startLine: 366,
endLine: 427,
sourceSha256: '1c0c5eb2cc77326de57062361dfe9c499aad351d8d3bbd101844c5cd0be43a6f',
symbols: [
{
role: 'handler',
symbol: 'setup',
},
{
role: 'request-model',
symbol: 'LoginRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/auth.rs',
startLine: 54,
endLine: 56,
sourceSha256: 'a333d129da6264b0c84443151fff194aaf69b1c4d1889f6044f3acb8aa0e3536',
symbol: 'LoginRequest',
fields: ['password'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/auth.rs',
startLine: 366,
endLine: 427,
sourceSha256: '1c0c5eb2cc77326de57062361dfe9c499aad351d8d3bbd101844c5cd0be43a6f',
symbols: [
{
role: 'handler',
symbol: 'setup',
},
{
role: 'response-payload',
symbol: 'Value',
},
],
modelEvidence: [],
},
},
'POST /api/auth/login': {
requestEvidence: {
kind: 'json',
sourceFile: 'backend/src/auth.rs',
startLine: 429,
endLine: 489,
sourceSha256: 'defd9444410e5b124ab0d621e7faf70bae335363e7e287738273e9e06cc151a1',
symbols: [
{
role: 'handler',
symbol: 'login',
},
{
role: 'request-model',
symbol: 'LoginRequest',
},
],
modelEvidence: [
{
sourceFile: 'backend/src/auth.rs',
startLine: 54,
endLine: 56,
sourceSha256: 'a333d129da6264b0c84443151fff194aaf69b1c4d1889f6044f3acb8aa0e3536',
symbol: 'LoginRequest',
fields: ['password'],
},
],
},
responseEvidence: {
kind: 'api-response',
sourceFile: 'backend/src/auth.rs',
startLine: 429,
endLine: 489,
sourceSha256: 'defd9444410e5b124ab0d621e7faf70bae335363e7e287738273e9e06cc151a1',
symbols: [
{
role: 'handler',
symbol: 'login',
},
{
role: 'response-payload',
symbol: 'Value',
},
],
modelEvidence: [],
},
},
'POST /api/auth/logout': {
requestEvidence: {
kind: 'none',
sourceFile: 'backend/src/auth.rs',
startLine: 642,
endLine: 655,
sourceSha256: '1ccf5c295251b2a22462cc81c3759330b65979cef524facbf2998b712c5daee1',
symbols: [
{
role: 'handler',
symbol: 'logout',
},
],
modelEvidence: [],
},
responseEvidence: {
kind: 'dynamic-json',
sourceFile: 'backend/src/auth.rs',
startLine: 642,
endLine: 655,
sourceSha256: '1ccf5c295251b2a22462cc81c3759330b65979cef524facbf2998b712c5daee1',
symbols: [
{
role: 'handler',
symbol: 'logout',
},
],
modelEvidence: [],
},
},
} as const;