lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

wire_values.v1.json (4400B)


      1 {
      2   "suite": "protocol_wire_values_v1",
      3   "contract_version": "1.0.0",
      4   "vectors": [
      5     {
      6       "id": "protocol_capability_transport_kind_001",
      7       "kind": "protocol.capability.transport_kind",
      8       "input": "reticulum",
      9       "expected": "reticulum"
     10     },
     11     {
     12       "id": "protocol_capability_reticulum_target_002",
     13       "kind": "protocol.capability.reticulum_target",
     14       "input": {
     15         "destination": { "canonical": "a1b2c3d4" },
     16         "mesh_scope": { "value": "farm.mesh-1" }
     17       },
     18       "expected": {
     19         "destination": { "canonical": "a1b2c3d4" },
     20         "mesh_scope": { "value": "farm.mesh-1" }
     21       }
     22     },
     23     {
     24       "id": "protocol_event_class_003",
     25       "kind": "protocol.event.event_class",
     26       "input": "unsigned_rumor",
     27       "expected": "unsigned_rumor"
     28     },
     29     {
     30       "id": "protocol_trade_state_004",
     31       "kind": "protocol.event.trade_state",
     32       "input": "agreed_pending_validation",
     33       "expected": "agreed_pending_validation"
     34     },
     35     {
     36       "id": "protocol_runtime_operation_id_005",
     37       "kind": "protocol.runtime.operation_id",
     38       "input": "sync.push",
     39       "expected": "sync.push"
     40     },
     41     {
     42       "id": "protocol_runtime_risk_006",
     43       "kind": "protocol.runtime.risk",
     44       "input": "critical",
     45       "expected": "critical"
     46     },
     47     {
     48       "id": "protocol_runtime_transport_route_007",
     49       "kind": "protocol.runtime.transport_route",
     50       "input": {
     51         "local": true,
     52         "nostr": true,
     53         "reticulum": false,
     54         "deliver": true,
     55         "fetch": false,
     56         "synchronize": true,
     57         "diagnostics": false
     58       },
     59       "expected": {
     60         "local": true,
     61         "nostr": true,
     62         "reticulum": false,
     63         "deliver": true,
     64         "fetch": false,
     65         "synchronize": true,
     66         "diagnostics": false
     67       }
     68     },
     69     {
     70       "id": "protocol_daemon_target_policy_008",
     71       "kind": "protocol.radrootsd.target_policy",
     72       "input": {
     73         "kind": "nostr",
     74         "source_policy": "explicit_only",
     75         "relay_urls": []
     76       },
     77       "expected": {
     78         "kind": "nostr",
     79         "source_policy": "explicit_only",
     80         "relay_urls": []
     81       }
     82     },
     83     {
     84       "id": "protocol_daemon_delivery_policy_009",
     85       "kind": "protocol.radrootsd.delivery_policy",
     86       "input": { "mode": "quorum", "quorum": 2 },
     87       "expected": { "mode": "quorum", "quorum": 2 }
     88     },
     89     {
     90       "id": "protocol_error_report_010",
     91       "kind": "protocol.error.report",
     92       "input": {
     93         "schema_version": 1,
     94         "code": "relay_rate_limited",
     95         "class": "network",
     96         "retryable": true,
     97         "recovery_actions": ["retry_after_transport_failure"],
     98         "operation_id": "sync.push",
     99         "capability_id": "nostr",
    100         "message": "Relay rate limit requires a later retry",
    101         "details": []
    102       },
    103       "expected": {
    104         "schema_version": 1,
    105         "code": "relay_rate_limited",
    106         "class": "network",
    107         "retryable": true,
    108         "recovery_actions": ["retry_after_transport_failure"],
    109         "operation_id": "sync.push",
    110         "capability_id": "nostr",
    111         "message": "Relay rate limit requires a later retry",
    112         "details": []
    113       }
    114     },
    115     {
    116       "id": "protocol_runtime_unknown_operation_011",
    117       "kind": "protocol.runtime.operation_id",
    118       "input": "runtime.unknown",
    119       "expected_error_contains": "unknown operation id"
    120     },
    121     {
    122       "id": "protocol_runtime_route_unknown_field_012",
    123       "kind": "protocol.runtime.transport_route",
    124       "input": {
    125         "local": true,
    126         "nostr": false,
    127         "reticulum": false,
    128         "deliver": false,
    129         "fetch": false,
    130         "synchronize": false,
    131         "diagnostics": false,
    132         "executor": "forbidden"
    133       },
    134       "expected_error_contains": "unknown field"
    135     },
    136     {
    137       "id": "protocol_error_report_version_013",
    138       "kind": "protocol.error.report",
    139       "input": {
    140         "schema_version": 2,
    141         "code": "relay_rate_limited",
    142         "class": "network",
    143         "retryable": true,
    144         "recovery_actions": ["retry_after_transport_failure"],
    145         "operation_id": "sync.push",
    146         "capability_id": "nostr",
    147         "message": "Relay rate limit requires a later retry",
    148         "details": []
    149       },
    150       "expected_error_contains": "unsupported error report schema version 2"
    151     }
    152   ]
    153 }