@dotrino/vaultd 0.7.5 → 0.7.6
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 +6 -3
- package/package.json +1 -1
- package/src/tui/app.js +17 -3
- package/src/tui/i18n.js +2 -2
package/README.md
CHANGED
|
@@ -100,8 +100,10 @@ raw mode).
|
|
|
100
100
|
los dispositivos/variables que estás viendo:
|
|
101
101
|
|
|
102
102
|
1. **Bóvedas** es la pantalla de entrada: lista tus perfiles (`↑↓` mover, `Enter`
|
|
103
|
-
**entrar** a uno — lo activa si no lo estaba). Ahí también
|
|
104
|
-
|
|
103
|
+
**entrar** a uno — lo activa si no lo estaba). Ahí también **conectas un
|
|
104
|
+
dispositivo** con `p` (sin entrar: activa la bóveda elegida y abre la pregunta
|
|
105
|
+
de a qué cuenta entra), creas una bóveda nueva, renombras, borras y
|
|
106
|
+
pones/quitas/usas la contraseña (candado).
|
|
105
107
|
2. Al entrar caes en sus **pestañas horizontales**, que cambias con `←→`:
|
|
106
108
|
- **Dispositivos (pares):** verlos, **emparejar** uno nuevo, **aprobar** con el
|
|
107
109
|
código que muestra el dispositivo, **rechazar** y **revocar**. Al emparejar, la
|
|
@@ -132,7 +134,8 @@ en español (solo se traduce la palabra que las explica en la barra de ayuda).
|
|
|
132
134
|
| `n` | new — bóveda nueva / variable nueva | Bóvedas · Scopes |
|
|
133
135
|
| `r` | rename (Bóvedas) · refresh (Dispositivos/Scopes) · restart (Emparejar) | — |
|
|
134
136
|
| `d` | delete — borrar la bóveda | Bóvedas |
|
|
135
|
-
| `p` |
|
|
137
|
+
| `p` | **pair — conectar un dispositivo** (desde Bóvedas entra directo, sin `Enter`) | Bóvedas · Dispositivos |
|
|
138
|
+
| `c` | change password — poner/cambiar la contraseña | Bóvedas |
|
|
136
139
|
| `x` | quitar: contraseña · dispositivo pendiente · variable/scope | todas |
|
|
137
140
|
| `u` / `k` | unlock / locK — candado de la bóveda | Bóvedas |
|
|
138
141
|
| `a` | approve — aprobar el dispositivo | Dispositivos · Emparejar |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Certificador personal de Dotrino: daemon headless que custodia la clave maestra y delega capacidades a tus dispositivos por el proxy. Tu CA propia.",
|
|
6
6
|
"bin": {
|
package/src/tui/app.js
CHANGED
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
* LAS TECLAS NO CAMBIAN CON EL IDIOMA: son mnemónicos en INGLÉS y son las mismas
|
|
19
19
|
* en español (lo que se traduce es la palabra que las explica en la barra de
|
|
20
20
|
* ayuda). new · rename · delete · password · unlock · locK · pair · approve ·
|
|
21
|
-
* reject · reVoke · refresh · back · language · quit.
|
|
22
|
-
*
|
|
21
|
+
* reject · reVoke · refresh · back · language · quit. Una tecla significa LO MISMO
|
|
22
|
+
* en todas las pantallas: `p` es SIEMPRE emparejar (también en Bóvedas, sin tener
|
|
23
|
+
* que entrar antes), el candado es `k` (la `l` es el idioma) y la contraseña `c`.
|
|
23
24
|
*/
|
|
24
25
|
import { execFile } from 'node:child_process'
|
|
25
26
|
import { createTerm, widthOf } from './term.js'
|
|
@@ -318,6 +319,19 @@ async function onKeyProfiles (term, st, key) {
|
|
|
318
319
|
}
|
|
319
320
|
st.screen = 'devices'
|
|
320
321
|
await refreshDevices(term, st)
|
|
322
|
+
} else if (ch === 'p' && cur) {
|
|
323
|
+
// Emparejar SIN tener que entrar antes: `p` significa lo mismo aquí que en la
|
|
324
|
+
// pestaña Dispositivos. Se activa la bóveda elegida (el QR sale de UNA, y las
|
|
325
|
+
// acciones siguientes —aprobar, revocar— miran a la activa) y se abre la
|
|
326
|
+
// pregunta de a qué cuenta entra el dispositivo.
|
|
327
|
+
if (!cur.current) {
|
|
328
|
+
const r = await guard(term, st, i.switchingVault, () => vc.useProfile(cur.id))
|
|
329
|
+
if (!r.ok) return true
|
|
330
|
+
await refreshAll(term, st)
|
|
331
|
+
}
|
|
332
|
+
st.sel.pairmode = 0
|
|
333
|
+
st.scroll.pairmode = { value: 0 }
|
|
334
|
+
st.screen = 'pairmode'
|
|
321
335
|
} else if (ch === 'n') {
|
|
322
336
|
setInput(st, {
|
|
323
337
|
label: i.newVaultLabel,
|
|
@@ -355,7 +369,7 @@ async function onKeyProfiles (term, st, key) {
|
|
|
355
369
|
},
|
|
356
370
|
onCancel: () => { st.input = null }
|
|
357
371
|
}))
|
|
358
|
-
} else if (ch === '
|
|
372
|
+
} else if (ch === 'c' && cur) { // change password (la `p` es emparejar, igual que en Dispositivos)
|
|
359
373
|
await ensureUnlocked(term, st, cur, (p = cur) => setInput(st, {
|
|
360
374
|
label: i.newPasswordLabel(p.name || p.id),
|
|
361
375
|
mask: true,
|
package/src/tui/i18n.js
CHANGED
|
@@ -151,7 +151,7 @@ const es = {
|
|
|
151
151
|
// INGLÉS: new/rename/delete/password/unlock/locK/pair/approve/revoke/refresh/
|
|
152
152
|
// language/quit); lo único que se traduce es la palabra que las explica.
|
|
153
153
|
// Segmentos, no una línea: el render recorta del medio si no caben.
|
|
154
|
-
helpProfiles: ['↑↓', 'Enter entrar', 'n nueva', 'r renombrar', 'd borrar', '
|
|
154
|
+
helpProfiles: ['↑↓', 'Enter entrar', 'p emparejar', 'n nueva', 'r renombrar', 'd borrar', 'c clave', 'x quitar-clave', 'u desbloq', 'k bloquear', 'l English', 'q salir'],
|
|
155
155
|
helpDevices: ['←→ pestaña', '↑↓', 'p emparejar', 'a aprobar', 'x rechazar', 'v revocar', 'r refrescar', 'Esc bóvedas', 'l English', 'q salir'],
|
|
156
156
|
helpSecrets: ['←→ pestaña', '↑↓', 'n nueva variable', 'x quitar (variable/scope)', 'r refrescar', 'Esc bóvedas', 'l English', 'q salir'],
|
|
157
157
|
helpPairing: ['a aprobar', 'x rechazar', 'r reiniciar', 'Esc atrás', 'l English'],
|
|
@@ -308,7 +308,7 @@ const en = {
|
|
|
308
308
|
helpInput: 'Enter confirm · Esc cancel · Ctrl-U clear',
|
|
309
309
|
helpConfirm: 'y confirm · n/Esc cancel',
|
|
310
310
|
|
|
311
|
-
helpProfiles: ['↑↓', 'Enter open', 'n new', 'r rename', 'd delete', '
|
|
311
|
+
helpProfiles: ['↑↓', 'Enter open', 'p pair', 'n new', 'r rename', 'd delete', 'c password', 'x drop-password', 'u unlock', 'k lock', 'l Español', 'q quit'],
|
|
312
312
|
helpDevices: ['←→ tab', '↑↓', 'p pair', 'a approve', 'x reject', 'v revoke', 'r refresh', 'Esc vaults', 'l Español', 'q quit'],
|
|
313
313
|
helpSecrets: ['←→ tab', '↑↓', 'n new variable', 'x remove (variable/scope)', 'r refresh', 'Esc vaults', 'l Español', 'q quit'],
|
|
314
314
|
helpPairing: ['a approve', 'x reject', 'r restart', 'Esc back', 'l Español'],
|