@ravi-hq/ravi 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -28,9 +28,16 @@ openclaw plugins install @ravi-hq/ravi
28
28
  openclaw ravi login
29
29
  ```
30
30
 
31
- `login` opens a browser for device-code authentication, then auto-configures
32
- OpenClaw -- it stores credentials in `~/.ravi/auth.json` and sets `identityUuid`
33
- via `openclaw config set`. No manual config editing needed.
31
+ `login` opens a browser for device-code authentication, sets up E2E encryption
32
+ (6-digit PIN), selects an identity, and auto-configures OpenClaw. Credentials are
33
+ stored in `~/.ravi/auth.json` and `identityUuid` is set via `openclaw config set`.
34
+ No manual config editing needed.
35
+
36
+ The login flow matches the Ravi Go CLI exactly:
37
+ - Verification URL displayed immediately (copy-paste friendly for headless VMs)
38
+ - First-time users: choose and confirm a 6-digit encryption PIN
39
+ - Returning users: enter PIN (3 attempts) to unlock existing keypair
40
+ - Multiple identities: interactive numbered selection prompt
34
41
 
35
42
  ## Configuration
36
43
 
@@ -162,9 +169,9 @@ Run these via `openclaw ravi <command>`:
162
169
 
163
170
  | Command | Description |
164
171
  |---------|-------------|
165
- | `login` | Authenticate via device-code flow (opens browser) |
172
+ | `login` | Authenticate via device-code flow, set up PIN, select identity |
166
173
  | `status` | Show auth status and list available identities |
167
- | `setup` | Generate channel configuration from your identities |
174
+ | `setup` | Alias for `login` authenticates and configures everything |
168
175
 
169
176
  ## E2E Encryption
170
177
 
@@ -174,11 +181,12 @@ end-to-end using a 6-digit PIN.
174
181
  - **Key derivation:** PIN + server-stored salt -> Argon2id (time=3, mem=64MB, threads=1) -> 32-byte seed
175
182
  - **Encryption:** NaCl SealedBox (ephemeral X25519 keypair + Poly1305 MAC)
176
183
  - **Ciphertext format:** `e2e::<base64>` -- same format used by the Ravi CLI
177
- - **PIN verification:** On first use, the plugin derives the keypair and verifies
178
- it against the server's stored verifier before proceeding
184
+ - **First-time setup:** Choose + confirm 6-digit PIN, derive keypair, upload public key to server
185
+ - **Returning login:** Enter PIN (3 attempts), verify against server verifier + public key match
186
+ - **Recovery key:** Saved to `~/.ravi/recovery-key.txt` during first-time setup
179
187
 
180
- The crypto layer is lazy-initialized: keys are only derived when a tool actually
181
- needs encryption or decryption.
188
+ After login, the derived keypair is stored in `~/.ravi/auth.json`. Subsequent operations
189
+ use the stored keypair directly — no PIN re-entry needed.
182
190
 
183
191
  ## Secrets Provider
184
192
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA2GnD,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE;AAID;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,EA8QnC,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAyJnD,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE;AAID;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,EAsTnC,CAAC"}
package/dist/cli.js CHANGED
@@ -100,6 +100,47 @@ async function promptExistingPIN() {
100
100
  }
101
101
  return pin;
102
102
  }
103
+ /**
104
+ * Prompt the user to choose from a numbered list via stdin.
105
+ * Returns the 0-based index of the chosen item.
106
+ */
107
+ async function promptChoice(prompt, count) {
108
+ return new Promise((resolve, reject) => {
109
+ process.stderr.write(prompt);
110
+ const stdin = process.stdin;
111
+ stdin.resume();
112
+ let input = "";
113
+ const timeout = setTimeout(() => {
114
+ cleanup();
115
+ reject(new Error("Selection timed out — no input received within 60 seconds."));
116
+ }, 60_000);
117
+ const cleanup = () => {
118
+ clearTimeout(timeout);
119
+ stdin.removeListener("data", onData);
120
+ stdin.removeListener("end", onEnd);
121
+ stdin.pause();
122
+ };
123
+ const onEnd = () => {
124
+ cleanup();
125
+ reject(new Error("stdin closed — cannot read selection in non-interactive mode."));
126
+ };
127
+ const onData = (chunk) => {
128
+ input += chunk.toString();
129
+ if (input.includes("\n") || input.includes("\r")) {
130
+ cleanup();
131
+ const num = parseInt(input.trim(), 10);
132
+ if (isNaN(num) || num < 1 || num > count) {
133
+ reject(new Error(`Invalid selection: enter a number between 1 and ${count}`));
134
+ }
135
+ else {
136
+ resolve(num - 1);
137
+ }
138
+ }
139
+ };
140
+ stdin.on("data", onData);
141
+ stdin.on("end", onEnd);
142
+ });
143
+ }
103
144
  // ─── Command Definitions ────────────────────────────────────────────────────
104
145
  /**
105
146
  * All CLI commands exposed by the Ravi plugin.
@@ -125,14 +166,16 @@ export const cliCommands = [
125
166
  }
126
167
  const data = (await response.json());
127
168
  // Step 2: Open browser and display user code
169
+ // Write the URL immediately so the user can copy-paste it (critical for headless VMs)
128
170
  const url = new URL(data.verification_uri);
129
171
  url.searchParams.set("user_code", data.user_code);
130
172
  const verifyUrl = url.toString();
131
173
  openBrowser(verifyUrl);
132
- let output = `\nTo authenticate, visit: ${verifyUrl}\n`;
133
- output += `Code: ${data.user_code}\n`;
134
- output += `(Attempting to open browser automatically)\n\n`;
135
- output += `Waiting for authorization...\n`;
174
+ process.stderr.write(`\nTo authenticate, visit: ${verifyUrl}\n`);
175
+ process.stderr.write(`Code: ${data.user_code}\n`);
176
+ process.stderr.write(`(Attempting to open browser automatically)\n\n`);
177
+ process.stderr.write(`Waiting for authorization...\n`);
178
+ let output = "";
136
179
  // Step 3: Poll for token until authorized or expired
137
180
  const intervalMs = (data.interval || 5) * 1000;
138
181
  const deadline = Date.now() + data.expires_in * 1000;
@@ -159,7 +202,7 @@ export const cliCommands = [
159
202
  if (tokenResponse.ok) {
160
203
  const tokenData = (await tokenResponse.json());
161
204
  const client = new RaviClient({ apiUrl, token: tokenData.access });
162
- output += `\nAuthenticated as ${tokenData.user.email}\n\n`;
205
+ process.stderr.write(`\nAuthenticated as ${tokenData.user.email}\n\n`);
163
206
  // Build auth.json — tokens first, encryption keys added below
164
207
  const authData = {
165
208
  access_token: tokenData.access,
@@ -173,7 +216,7 @@ export const cliCommands = [
173
216
  }
174
217
  catch (err) {
175
218
  const msg = err instanceof Error ? err.message : String(err);
176
- output += `WARNING: Could not check encryption status: ${msg}\n\n`;
219
+ process.stderr.write(`WARNING: Could not check encryption status: ${msg}\n\n`);
177
220
  }
178
221
  if (meta && !meta.public_key) {
179
222
  // First-time setup — prompt for PIN, derive keypair, store keys
@@ -192,46 +235,65 @@ export const cliCommands = [
192
235
  authData.pin_salt = setup.salt;
193
236
  authData.public_key = setup.publicKey;
194
237
  authData.private_key = bytesToBase64(setup.keyPair.secretKey);
195
- output += `E2E encryption set up successfully!\n`;
196
- output += `Recovery key saved to ${recoveryPath} — back this up!\n\n`;
238
+ process.stderr.write(`E2E encryption set up successfully!\n`);
239
+ process.stderr.write(`Recovery key saved to ${recoveryPath} — back this up!\n\n`);
197
240
  }
198
241
  catch (err) {
199
242
  if (err instanceof Error && err.message === "Cancelled")
200
243
  throw err;
201
244
  const msg = err instanceof Error ? err.message : String(err);
202
- output += `PIN setup skipped: ${msg}\n`;
203
- output += `Run 'openclaw ravi login' again to set up encryption.\n\n`;
245
+ process.stderr.write(`PIN setup skipped: ${msg}\n`);
246
+ process.stderr.write(`Run 'openclaw ravi login' again to set up encryption.\n\n`);
204
247
  }
205
248
  }
206
249
  else if (meta && meta.public_key) {
207
- // Existing encryption — verify PIN, derive and store keypair
208
- try {
209
- const pin = await promptExistingPIN();
210
- const { deriveKeyPair, verify } = await import("./crypto.js");
211
- const kp = await deriveKeyPair(pin, meta.salt);
212
- const valid = await verify(kp, meta.verifier);
213
- if (valid) {
214
- const { bytesToBase64 } = await import("./crypto.js");
250
+ // Existing encryption — verify PIN, derive and store keypair (up to 3 attempts)
251
+ const { deriveKeyPair, verify, bytesToBase64 } = await import("./crypto.js");
252
+ let pinVerified = false;
253
+ for (let attempt = 1; attempt <= 3; attempt++) {
254
+ try {
255
+ const pin = await promptExistingPIN();
256
+ const kp = await deriveKeyPair(pin, meta.salt);
257
+ const valid = await verify(kp, meta.verifier);
258
+ if (!valid) {
259
+ const remaining = 3 - attempt;
260
+ if (remaining > 0) {
261
+ process.stderr.write(`Incorrect PIN. ${remaining} attempt${remaining === 1 ? "" : "s"} remaining.\n`);
262
+ }
263
+ else {
264
+ process.stderr.write(`Incorrect PIN. No attempts remaining.\n`);
265
+ }
266
+ continue;
267
+ }
268
+ // Extra safety: verify derived public key matches server's stored key
269
+ const derivedPubB64 = bytesToBase64(kp.publicKey);
270
+ if (derivedPubB64 !== meta.public_key) {
271
+ process.stderr.write(`WARNING: Derived public key does not match server record — possible data corruption.\n`);
272
+ process.stderr.write(`Run 'openclaw ravi login' again or contact support.\n\n`);
273
+ break;
274
+ }
215
275
  authData.pin_salt = meta.salt;
216
276
  authData.public_key = meta.public_key;
217
277
  authData.private_key = bytesToBase64(kp.secretKey);
218
- output += `PIN verified — E2E encryption is ready.\n\n`;
278
+ pinVerified = true;
279
+ process.stderr.write(`PIN verified — E2E encryption is ready.\n\n`);
280
+ break;
219
281
  }
220
- else {
221
- output += `WARNING: PIN does not match! Encryption keys not saved.\n`;
222
- output += `Run 'openclaw ravi login' again with the correct PIN.\n\n`;
282
+ catch (err) {
283
+ if (err instanceof Error && err.message === "Cancelled")
284
+ throw err;
285
+ const msg = err instanceof Error ? err.message : String(err);
286
+ process.stderr.write(`PIN entry failed: ${msg}\n\n`);
287
+ break;
223
288
  }
224
289
  }
225
- catch (err) {
226
- if (err instanceof Error && err.message === "Cancelled")
227
- throw err;
228
- const msg = err instanceof Error ? err.message : String(err);
229
- output += `PIN entry skipped: ${msg}\n\n`;
290
+ if (!pinVerified) {
291
+ process.stderr.write(`Encryption keys not saved. Run 'openclaw ravi login' to try again.\n\n`);
230
292
  }
231
293
  }
232
294
  // Save auth to ~/.ravi/auth.json (like CLI)
233
295
  saveAuth(authData);
234
- output += `Credentials saved to ~/.ravi/auth.json\n\n`;
296
+ process.stderr.write(`Credentials saved to ~/.ravi/auth.json\n\n`);
235
297
  // Step 5: Identity selection + OpenClaw config update
236
298
  try {
237
299
  const identities = await client.listIdentities();
@@ -242,42 +304,57 @@ export const cliCommands = [
242
304
  identity_uuid: identities[0].uuid,
243
305
  identity_name: identities[0].name,
244
306
  });
245
- output += `Auto-selected identity: ${identities[0].name}\n\n`;
307
+ process.stderr.write(`Auto-selected identity: ${identities[0].name}\n\n`);
246
308
  }
247
309
  else if (identities.length > 1) {
248
- // Default to first identity; user can change later
249
- selectedUuid = identities[0].uuid;
250
- saveConfig({
251
- identity_uuid: identities[0].uuid,
252
- identity_name: identities[0].name,
253
- });
254
- output += `Identities:\n`;
255
- for (const identity of identities) {
256
- output += ` ${identity.name}: ${identity.uuid}\n`;
310
+ // Interactive identity selection (matches Go CLI behavior)
311
+ process.stderr.write(`Select an identity:\n`);
312
+ for (let i = 0; i < identities.length; i++) {
313
+ const id = identities[i];
314
+ const details = [id.email, id.phone].filter(Boolean).join(", ");
315
+ process.stderr.write(` ${i + 1}. ${id.name}${details ? ` (${details})` : ""}\n`);
316
+ }
317
+ try {
318
+ const idx = await promptChoice(`Enter number [1-${identities.length}]: `, identities.length);
319
+ const selected = identities[idx];
320
+ selectedUuid = selected.uuid;
321
+ saveConfig({
322
+ identity_uuid: selected.uuid,
323
+ identity_name: selected.name,
324
+ });
325
+ process.stderr.write(`Selected: ${selected.name}\n\n`);
326
+ }
327
+ catch {
328
+ // Fallback to first if prompt fails (non-interactive)
329
+ selectedUuid = identities[0].uuid;
330
+ saveConfig({
331
+ identity_uuid: identities[0].uuid,
332
+ identity_name: identities[0].name,
333
+ });
334
+ process.stderr.write(`Defaulting to: ${identities[0].name}\n\n`);
257
335
  }
258
- output += `\nUsing: ${identities[0].name} (first identity)\n\n`;
259
336
  }
260
337
  else {
261
- output += `No identities found. Create one with the ravi_identity_create tool.\n`;
338
+ process.stderr.write(`No identities found. Create one with the ravi_identity_create tool.\n`);
262
339
  }
263
340
  // Try to auto-configure OpenClaw with the selected identity
264
341
  if (selectedUuid) {
265
342
  const configPath = "plugins.entries.ravi.config.identityUuid";
266
343
  const ok = await openclawConfigSet(configPath, selectedUuid);
267
344
  if (ok) {
268
- output += `OpenClaw config updated automatically (identityUuid set).\n`;
345
+ process.stderr.write(`OpenClaw config updated automatically (identityUuid set).\n`);
269
346
  }
270
347
  else {
271
- output += `To complete setup, run:\n\n`;
272
- output += ` openclaw config set ${configPath} "${selectedUuid}"\n`;
348
+ process.stderr.write(`To complete setup, run:\n\n`);
349
+ process.stderr.write(` openclaw config set ${configPath} "${selectedUuid}"\n`);
273
350
  }
274
351
  }
275
352
  }
276
353
  catch (err) {
277
354
  const detail = err instanceof Error ? err.message : String(err);
278
- output += `Could not list identities: ${detail}\nAdd identityUuid to your config manually.\n`;
355
+ process.stderr.write(`Could not list identities: ${detail}\nAdd identityUuid to your config manually.\n`);
279
356
  }
280
- return output;
357
+ return output || "Login complete.";
281
358
  }
282
359
  // Check whether the error is "still waiting" or a terminal failure
283
360
  const error = (await tokenResponse.json().catch(() => ({})));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ravi-hq/ravi",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "OpenClaw plugin for Ravi — identity provider for AI agents. Email & SMS channels + full agent toolbox.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",