1{ 2 "protocol": "loginUi", 3 "imports": [ 4 { 5 "path": "common.avdl", 6 "type": "idl" 7 } 8 ], 9 "types": [ 10 { 11 "type": "enum", 12 "name": "ResetPromptType", 13 "symbols": [ 14 "COMPLETE_0", 15 "ENTER_NO_DEVICES_1", 16 "ENTER_FORGOT_PW_2", 17 "ENTER_RESET_PW_3" 18 ] 19 }, 20 { 21 "type": "record", 22 "name": "ResetPromptInfo", 23 "fields": [ 24 { 25 "type": "boolean", 26 "name": "hasWallet" 27 } 28 ] 29 }, 30 { 31 "type": "variant", 32 "name": "ResetPrompt", 33 "switch": { 34 "type": "ResetPromptType", 35 "name": "t" 36 }, 37 "cases": [ 38 { 39 "label": { 40 "name": "COMPLETE", 41 "def": false 42 }, 43 "body": "ResetPromptInfo" 44 }, 45 { 46 "label": { 47 "def": true 48 }, 49 "body": null 50 } 51 ] 52 }, 53 { 54 "type": "enum", 55 "name": "ResetPromptResponse", 56 "symbols": [ 57 "NOTHING_0", 58 "CANCEL_RESET_1", 59 "CONFIRM_RESET_2" 60 ] 61 }, 62 { 63 "type": "enum", 64 "name": "PassphraseRecoveryPromptType", 65 "symbols": [ 66 "ENCRYPTED_PGP_KEYS_0" 67 ] 68 }, 69 { 70 "type": "enum", 71 "name": "ResetMessage", 72 "symbols": [ 73 "ENTERED_VERIFIED_0", 74 "ENTERED_PASSWORDLESS_1", 75 "REQUEST_VERIFIED_2", 76 "NOT_COMPLETED_3", 77 "CANCELED_4", 78 "COMPLETED_5", 79 "RESET_LINK_SENT_6" 80 ] 81 } 82 ], 83 "messages": { 84 "getEmailOrUsername": { 85 "request": [ 86 { 87 "name": "sessionID", 88 "type": "int" 89 } 90 ], 91 "response": "string" 92 }, 93 "promptRevokePaperKeys": { 94 "request": [ 95 { 96 "name": "sessionID", 97 "type": "int" 98 }, 99 { 100 "name": "device", 101 "type": "Device" 102 }, 103 { 104 "name": "index", 105 "type": "int" 106 } 107 ], 108 "response": "boolean" 109 }, 110 "displayPaperKeyPhrase": { 111 "request": [ 112 { 113 "name": "sessionID", 114 "type": "int" 115 }, 116 { 117 "name": "phrase", 118 "type": "string" 119 } 120 ], 121 "response": null 122 }, 123 "displayPrimaryPaperKey": { 124 "request": [ 125 { 126 "name": "sessionID", 127 "type": "int" 128 }, 129 { 130 "name": "phrase", 131 "type": "string" 132 } 133 ], 134 "response": null 135 }, 136 "promptResetAccount": { 137 "request": [ 138 { 139 "name": "sessionID", 140 "type": "int" 141 }, 142 { 143 "name": "prompt", 144 "type": "ResetPrompt" 145 } 146 ], 147 "response": "ResetPromptResponse", 148 "doc": "Called during login / provisioning flows to ask the user whether they\n would like to either enter the autoreset pipeline and perform the reset\n of the account." 149 }, 150 "displayResetProgress": { 151 "request": [ 152 { 153 "name": "sessionID", 154 "type": "int" 155 }, 156 { 157 "name": "text", 158 "type": "string" 159 }, 160 { 161 "name": "endTime", 162 "type": "Time" 163 }, 164 { 165 "name": "needVerify", 166 "type": "boolean" 167 } 168 ], 169 "response": null, 170 "doc": "In some flows the user will get notified of the reset progress" 171 }, 172 "explainDeviceRecovery": { 173 "request": [ 174 { 175 "name": "sessionID", 176 "type": "int" 177 }, 178 { 179 "name": "kind", 180 "type": "DeviceType" 181 }, 182 { 183 "name": "name", 184 "type": "string" 185 } 186 ], 187 "response": null, 188 "doc": "During recovery the service might want to explain to the user how they can change\n their password by using the \"change password\" functionality on other devices." 189 }, 190 "promptPassphraseRecovery": { 191 "request": [ 192 { 193 "name": "sessionID", 194 "type": "int" 195 }, 196 { 197 "name": "kind", 198 "type": "PassphraseRecoveryPromptType" 199 } 200 ], 201 "response": "bool" 202 }, 203 "chooseDeviceToRecoverWith": { 204 "request": [ 205 { 206 "name": "sessionID", 207 "type": "int" 208 }, 209 { 210 "name": "devices", 211 "type": { 212 "type": "array", 213 "items": "Device" 214 } 215 } 216 ], 217 "response": "DeviceID", 218 "doc": "Different from ProvisionUI's chooseDevice due to phrasing in the UI." 219 }, 220 "displayResetMessage": { 221 "request": [ 222 { 223 "name": "sessionID", 224 "type": "int" 225 }, 226 { 227 "name": "kind", 228 "type": "ResetMessage" 229 } 230 ], 231 "response": null, 232 "doc": "Simply displays a message in the recovery flow." 233 } 234 }, 235 "namespace": "keybase.1" 236}