dsh-vault 1.10.67 → 1.10.68

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-zh.md CHANGED
@@ -278,7 +278,7 @@ dsh-vault export-env .env && set -a && . ./.env && set +a
278
278
 
279
279
  ### 4. 主密码
280
280
 
281
- 依次取 `--password-stdin` → `$DSH_VAULT_MASTER_PASSWORD`(或 `$DSH_VAULT_PASSWORD`)→ 交互式提示;它**不会**去读插件配置文件里的密码,所以 CLI 既不依赖、也不会泄露 profile patch 里那份:
281
+ 依次取 `--password-stdin` → `$DSH_VAULT_MASTER_PASSWORD`(或 `$DSH_VAULT_PASSWORD`)→ 交互式提示(**输入不回显**,终端会切到 raw mode;`tests/e2e/cli-prompt.mjs` 会验证这一点);它**不会**去读插件配置文件里的密码,所以 CLI 既不依赖、也不会泄露 profile patch 里那份:
282
282
 
283
283
  ```sh
284
284
  DSH_VAULT_MASTER_PASSWORD=… pnpm vault list
package/README.md CHANGED
@@ -300,7 +300,8 @@ dsh-vault export-env .env && set -a && . ./.env && set +a
300
300
  ### 4. The master password
301
301
 
302
302
  `--password-stdin`, then `$DSH_VAULT_MASTER_PASSWORD` (or `$DSH_VAULT_PASSWORD`),
303
- then an interactive prompt. It is **not** read from the plugin's config file, so
303
+ then an interactive prompt that **hides what you type** (the terminal is switched
304
+ to raw mode; verify with `tests/e2e/cli-prompt.mjs`). It is **not** read from the plugin's config file, so
304
305
  the CLI never depends on (or leaks) whatever the profile patch holds:
305
306
 
306
307
  ```sh
package/lib/cli.js CHANGED
@@ -17,11 +17,12 @@
17
17
  * The core is `runCli(argv, io)`, which tests drive directly without spawning.
18
18
  */
19
19
  import { chmod, mkdir, writeFile } from 'node:fs/promises';
20
- import { existsSync, realpathSync } from 'node:fs';
20
+ import { existsSync, openSync, realpathSync, writeSync } from 'node:fs';
21
21
  import { createRequire } from 'node:module';
22
22
  import { dirname, resolve } from 'node:path';
23
23
  import { fileURLToPath, pathToFileURL } from 'node:url';
24
24
  import { createInterface } from 'node:readline';
25
+ import { ReadStream } from 'node:tty';
25
26
  import { openVault, defaultVaultPath } from "./store.js";
26
27
  import { envLinesFor, envPairsForEntry, maskSecret, primarySecret } from "./env-export.js";
27
28
  function packageVersion() {
@@ -156,50 +157,63 @@ export function resolveCliVaultPath(parsed, env) {
156
157
  }
157
158
  /** Interactive prompt with echo off, read from the terminal rather than stdin. */
158
159
  async function promptHidden(prompt) {
159
- const { open } = await import('node:fs/promises');
160
- let handle;
160
+ // The terminal echoes what you type unless it is switched to raw mode: the
161
+ // first version of this opened /dev/tty but left echo on, so the master
162
+ // password appeared in clear text. Raw mode also means we handle Enter,
163
+ // backspace and Ctrl-C ourselves (below).
164
+ let fd;
161
165
  try {
162
- handle = await open('/dev/tty', 'r+');
166
+ fd = openSync('/dev/tty', 'r+');
163
167
  }
164
168
  catch {
169
+ // No controlling terminal (piped input): read a plain line from stdin.
165
170
  const rl = createInterface({ input: process.stdin, output: process.stderr });
166
171
  const answer = await new Promise(res => rl.question(prompt, res));
167
172
  rl.close();
168
173
  return answer;
169
174
  }
170
- const reader = handle.createReadStream();
171
- const writer = handle.createWriteStream();
172
- writer.write(prompt);
173
- reader.setEncoding('utf8');
174
- return await new Promise((res, rej) => {
175
- let value = '';
176
- const finish = (result) => {
177
- reader.destroy();
178
- void handle?.close();
179
- res(result);
180
- };
181
- reader.on('data', (chunk) => {
182
- for (const ch of String(chunk)) {
183
- if (ch === '\n' || ch === '\r') {
184
- writer.write('\n');
185
- finish(value);
186
- return;
187
- }
188
- if (ch === '\u0003') {
189
- reader.destroy();
190
- void handle?.close();
191
- rej(new Error('aborted'));
192
- return;
193
- }
194
- if (ch === '\u007f' || ch === '\b') {
195
- value = value.slice(0, -1);
196
- continue;
175
+ const input = new ReadStream(fd);
176
+ input.setRawMode(true);
177
+ input.setEncoding('utf8');
178
+ writeSync(fd, prompt);
179
+ try {
180
+ return await new Promise((resolve, reject) => {
181
+ let value = '';
182
+ const finish = (result) => {
183
+ writeSync(fd, '\n');
184
+ resolve(result);
185
+ };
186
+ input.on('data', (chunk) => {
187
+ for (const ch of String(chunk)) {
188
+ if (ch === '\n' || ch === '\r') {
189
+ finish(value);
190
+ return;
191
+ }
192
+ if (ch === '\u0003') { // Ctrl-C
193
+ writeSync(fd, '\n');
194
+ reject(new Error('aborted'));
195
+ return;
196
+ }
197
+ if (ch === '\u007f' || ch === '\b') {
198
+ value = value.slice(0, -1);
199
+ continue;
200
+ }
201
+ if (ch === '\u0015') {
202
+ value = '';
203
+ continue;
204
+ } // Ctrl-U clears the line
205
+ if (ch < ' ')
206
+ continue; // ignore other control characters
207
+ value += ch;
197
208
  }
198
- value += ch;
199
- }
209
+ });
210
+ input.on('error', err => reject(err instanceof Error ? err : new Error(String(err))));
200
211
  });
201
- reader.on('error', rej);
202
- });
212
+ }
213
+ finally {
214
+ input.setRawMode(false);
215
+ input.destroy(); // owns the fd
216
+ }
203
217
  }
204
218
  async function readStdinLine() {
205
219
  const rl = createInterface({ input: process.stdin });
package/lib/client.js CHANGED
@@ -495,191 +495,191 @@ window.__ModuleLoader__.load({
495
495
  document.head.appendChild(tag);
496
496
  }
497
497
  var VaultSection_module_css_default = {
498
- "revealButton": "t_j5va_revealButton",
499
- "toolbarMain": "t_j5va_toolbarMain",
498
+ "reportLine": "t_j5va_reportLine",
499
+ "genOptRow": "t_j5va_genOptRow",
500
+ "genHistItem": "t_j5va_genHistItem",
501
+ "healthBar": "t_j5va_healthBar",
502
+ "title": "t_j5va_title",
503
+ "histDanger": "t_j5va_histDanger",
504
+ "policyField": "t_j5va_policyField",
505
+ "pinStar": "t_j5va_pinStar",
506
+ "moreMenu": "t_j5va_moreMenu",
507
+ "retryButton": "t_j5va_retryButton",
508
+ "iconFieldWrap": "t_j5va_iconFieldWrap",
509
+ "dupNames": "t_j5va_dupNames",
510
+ "badgeLink": "t_j5va_badgeLink",
511
+ "totpCopy": "t_j5va_totpCopy",
512
+ "customFieldRows": "t_j5va_customFieldRows",
513
+ "detailActions": "t_j5va_detailActions",
514
+ "pwHistBox": "t_j5va_pwHistBox",
515
+ "importRow": "t_j5va_importRow",
516
+ "riskBanner": "t_j5va_riskBanner",
517
+ "recentClear": "t_j5va_recentClear",
518
+ "toolbarFilters": "t_j5va_toolbarFilters",
519
+ "detailDeleteBtn": "t_j5va_detailDeleteBtn",
520
+ "lenChipActive": "t_j5va_lenChipActive",
521
+ "editorBody": "t_j5va_editorBody",
522
+ "kindChip": "t_j5va_kindChip",
523
+ "section": "t_j5va_section",
524
+ "checkField": "t_j5va_checkField",
525
+ "secretField": "t_j5va_secretField",
526
+ "brandGlyph": "t_j5va_brandGlyph",
527
+ "urlGlyph": "t_j5va_urlGlyph",
528
+ "bulkBar": "t_j5va_bulkBar",
529
+ "reportJump": "t_j5va_reportJump",
530
+ "auditIssues": "t_j5va_auditIssues",
531
+ "genOpts": "t_j5va_genOpts",
532
+ "pwWeak": "t_j5va_pwWeak",
533
+ "colorFieldWrap": "t_j5va_colorFieldWrap",
534
+ "actionGroups": "t_j5va_actionGroups",
535
+ "inlineField": "t_j5va_inlineField",
536
+ "totpRing": "t_j5va_totpRing",
537
+ "inlineInput": "t_j5va_inlineInput",
500
538
  "vaultTarget": "t_j5va_vaultTarget",
501
- "lockedBanner": "t_j5va_lockedBanner",
502
- "deleteButton": "t_j5va_deleteButton",
503
- "dupMerge": "t_j5va_dupMerge",
539
+ "searchKbd": "t_j5va_searchKbd",
540
+ "gridName": "t_j5va_gridName",
504
541
  "kindIcon": "t_j5va_kindIcon",
542
+ "lenChip": "t_j5va_lenChip",
543
+ "tagManager": "t_j5va_tagManager",
544
+ "editorActions": "t_j5va_editorActions",
545
+ "error": "t_j5va_error",
546
+ "tabPane": "t_j5va_tabPane",
547
+ "modeReadonly": "t_j5va_modeReadonly",
548
+ "exportChips": "t_j5va_exportChips",
549
+ "actionBtn": "t_j5va_actionBtn",
550
+ "toolbarDivider": "t_j5va_toolbarDivider",
551
+ "pwHistPwd": "t_j5va_pwHistPwd",
552
+ "intro": "t_j5va_intro",
553
+ "badgeDanger": "t_j5va_badgeDanger",
554
+ "importList": "t_j5va_importList",
555
+ "importName": "t_j5va_importName",
556
+ "actionGroup": "t_j5va_actionGroup",
557
+ "healthSummary": "t_j5va_healthSummary",
558
+ "importActions": "t_j5va_importActions",
559
+ "histLink": "t_j5va_histLink",
560
+ "headerMessage": "t_j5va_headerMessage",
561
+ "attachBox": "t_j5va_attachBox",
505
562
  "addButton": "t_j5va_addButton",
506
- "searchKbd": "t_j5va_searchKbd",
507
- "histNeutral": "t_j5va_histNeutral",
563
+ "rowActions": "t_j5va_rowActions",
564
+ "importDesc": "t_j5va_importDesc",
508
565
  "pwHistRow": "t_j5va_pwHistRow",
509
- "resultCount": "t_j5va_resultCount",
510
- "editor": "t_j5va_editor",
511
- "customEq": "t_j5va_customEq",
566
+ "backupButton": "t_j5va_backupButton",
567
+ "pinOn": "t_j5va_pinOn",
568
+ "lenChips": "t_j5va_lenChips",
569
+ "tabs": "t_j5va_tabs",
570
+ "tagName": "t_j5va_tagName",
571
+ "recentChip": "t_j5va_recentChip",
572
+ "empty": "t_j5va_empty",
573
+ "tagCount": "t_j5va_tagCount",
512
574
  "detailTotp": "t_j5va_detailTotp",
513
- "bulkBar": "t_j5va_bulkBar",
514
- "actionGroupLabel": "t_j5va_actionGroupLabel",
575
+ "identity": "t_j5va_identity",
576
+ "toolbar": "t_j5va_toolbar",
577
+ "badgeBtn": "t_j5va_badgeBtn",
578
+ "dueBadge": "t_j5va_dueBadge",
515
579
  "auditChip": "t_j5va_auditChip",
516
- "badgeOk": "t_j5va_badgeOk",
580
+ "customEq": "t_j5va_customEq",
517
581
  "detailItem": "t_j5va_detailItem",
518
- "reportLine": "t_j5va_reportLine",
519
- "detailBox": "t_j5va_detailBox",
520
- "importRow": "t_j5va_importRow",
521
- "detailActions": "t_j5va_detailActions",
522
- "bulkCount": "t_j5va_bulkCount",
523
- "pwHistBox": "t_j5va_pwHistBox",
524
- "moreMenu": "t_j5va_moreMenu",
525
- "backupButton": "t_j5va_backupButton",
526
- "editorBody": "t_j5va_editorBody",
582
+ "scoreRing": "t_j5va_scoreRing",
583
+ "lockedTag": "t_j5va_lockedTag",
584
+ "list": "t_j5va_list",
585
+ "field": "t_j5va_field",
586
+ "clearButton": "t_j5va_clearButton",
527
587
  "detailRemain": "t_j5va_detailRemain",
528
- "srOnly": "t_j5va_srOnly",
529
- "saveButton": "t_j5va_saveButton",
530
- "moreWrap": "t_j5va_moreWrap",
531
- "emptyHint": "t_j5va_emptyHint",
532
- "modeAsk": "t_j5va_modeAsk",
533
- "auditChipActive": "t_j5va_auditChipActive",
534
- "badgeLink": "t_j5va_badgeLink",
535
- "selectActive": "t_j5va_selectActive",
536
- "pwHistPwd": "t_j5va_pwHistPwd",
537
- "trashButton": "t_j5va_trashButton",
538
- "rowSelected": "t_j5va_rowSelected",
588
+ "tagManagerHead": "t_j5va_tagManagerHead",
539
589
  "policyBar": "t_j5va_policyBar",
540
- "brandGlyphSm": "t_j5va_brandGlyphSm",
541
- "dupGroup": "t_j5va_dupGroup",
542
- "dangerButton": "t_j5va_dangerButton",
543
- "healthSummary": "t_j5va_healthSummary",
544
- "secretField": "t_j5va_secretField",
545
- "pinOff": "t_j5va_pinOff",
546
- "empty": "t_j5va_empty",
547
- "emojiPicker": "t_j5va_emojiPicker",
548
- "customFieldRow": "t_j5va_customFieldRow",
549
- "kindChipActive": "t_j5va_kindChipActive",
550
- "tabPane": "t_j5va_tabPane",
551
590
  "favActive": "t_j5va_favActive",
552
- "gridActions": "t_j5va_gridActions",
591
+ "badgeWarn": "t_j5va_badgeWarn",
592
+ "editor": "t_j5va_editor",
593
+ "riskWarn": "t_j5va_riskWarn",
594
+ "badge": "t_j5va_badge",
595
+ "highBadge": "t_j5va_highBadge",
596
+ "exportChip": "t_j5va_exportChip",
597
+ "recentSearch": "t_j5va_recentSearch",
553
598
  "gridDetail": "t_j5va_gridDetail",
554
- "totpRing": "t_j5va_totpRing",
555
- "recentLabel": "t_j5va_recentLabel",
556
- "clearButton": "t_j5va_clearButton",
557
- "pwBar": "t_j5va_pwBar",
558
- "moreButton": "t_j5va_moreButton",
559
- "colorPalette": "t_j5va_colorPalette",
560
- "importList": "t_j5va_importList",
561
- "lockedTag": "t_j5va_lockedTag",
562
- "tagCount": "t_j5va_tagCount",
563
- "field": "t_j5va_field",
564
- "importActions": "t_j5va_importActions",
565
- "riskBanner": "t_j5va_riskBanner",
566
- "colorFieldWrap": "t_j5va_colorFieldWrap",
567
- "list": "t_j5va_list",
599
+ "modeAuto": "t_j5va_modeAuto",
600
+ "tagActions": "t_j5va_tagActions",
601
+ "customValueInput": "t_j5va_customValueInput",
568
602
  "reportSub": "t_j5va_reportSub",
569
- "auditRow": "t_j5va_auditRow",
570
- "totp": "t_j5va_totp",
571
- "tab": "t_j5va_tab",
572
- "recentChip": "t_j5va_recentChip",
573
- "badgeActive": "t_j5va_badgeActive",
574
- "actionBtn": "t_j5va_actionBtn",
575
- "copied": "t_j5va_copied",
576
- "histLink": "t_j5va_histLink",
577
- "vaultHeader": "t_j5va_vaultHeader",
578
- "customKeyInput": "t_j5va_customKeyInput",
579
- "healthBar": "t_j5va_healthBar",
580
- "pwLabel": "t_j5va_pwLabel",
581
- "inlineField": "t_j5va_inlineField",
582
- "retryButton": "t_j5va_retryButton",
583
- "lenChipActive": "t_j5va_lenChipActive",
584
- "genOptRow": "t_j5va_genOptRow",
585
- "vaultSwitch": "t_j5va_vaultSwitch",
603
+ "copyAllBtn": "t_j5va_copyAllBtn",
604
+ "customFieldRow": "t_j5va_customFieldRow",
605
+ "detailBox": "t_j5va_detailBox",
606
+ "modeAsk": "t_j5va_modeAsk",
586
607
  "tagRow": "t_j5va_tagRow",
587
- "exportChip": "t_j5va_exportChip",
588
- "title": "t_j5va_title",
589
- "totpCopy": "t_j5va_totpCopy",
590
- "brandGlyph": "t_j5va_brandGlyph",
591
- "pwWeak": "t_j5va_pwWeak",
592
- "hit": "t_j5va_hit",
593
- "vaultManageRow": "t_j5va_vaultManageRow",
594
- "pwHistTime": "t_j5va_pwHistTime",
608
+ "customKeyInput": "t_j5va_customKeyInput",
609
+ "revealButton": "t_j5va_revealButton",
610
+ "reportLineLink": "t_j5va_reportLineLink",
611
+ "listCompact": "t_j5va_listCompact",
612
+ "moreWrap": "t_j5va_moreWrap",
613
+ "kindFilter": "t_j5va_kindFilter",
614
+ "colorPalette": "t_j5va_colorPalette",
615
+ "rowSelected": "t_j5va_rowSelected",
616
+ "rowDue": "t_j5va_rowDue",
595
617
  "bulkItem": "t_j5va_bulkItem",
618
+ "selectActive": "t_j5va_selectActive",
619
+ "rowCheck": "t_j5va_rowCheck",
620
+ "gridInput": "t_j5va_gridInput",
621
+ "emptyBox": "t_j5va_emptyBox",
622
+ "dangerButton": "t_j5va_dangerButton",
623
+ "resultCount": "t_j5va_resultCount",
624
+ "uriCode": "t_j5va_uriCode",
596
625
  "row": "t_j5va_row",
597
- "pwStrong": "t_j5va_pwStrong",
598
- "rowDue": "t_j5va_rowDue",
599
- "tabs": "t_j5va_tabs",
600
- "urlGlyph": "t_j5va_urlGlyph",
601
- "highBadge": "t_j5va_highBadge",
602
- "tabActive": "t_j5va_tabActive",
603
- "recentClear": "t_j5va_recentClear",
604
- "histUpdate": "t_j5va_histUpdate",
605
- "genHistItem": "t_j5va_genHistItem",
606
- "toolbar": "t_j5va_toolbar",
607
- "policyField": "t_j5va_policyField",
608
- "actionGroup": "t_j5va_actionGroup",
609
- "iconFieldWrap": "t_j5va_iconFieldWrap",
610
- "attachAdd": "t_j5va_attachAdd",
611
626
  "sortButton": "t_j5va_sortButton",
612
- "lenChip": "t_j5va_lenChip",
613
- "badgeWarn": "t_j5va_badgeWarn",
614
- "auditIssues": "t_j5va_auditIssues",
615
- "auditWhen": "t_j5va_auditWhen",
616
- "exportChips": "t_j5va_exportChips",
617
- "error": "t_j5va_error",
618
- "kindFilter": "t_j5va_kindFilter",
619
- "gridRow": "t_j5va_gridRow",
620
- "dueBadge": "t_j5va_dueBadge",
621
- "badgeDanger": "t_j5va_badgeDanger",
627
+ "actionGroupLabel": "t_j5va_actionGroupLabel",
628
+ "gridActions": "t_j5va_gridActions",
629
+ "reportBox": "t_j5va_reportBox",
630
+ "hit": "t_j5va_hit",
631
+ "detailCode": "t_j5va_detailCode",
632
+ "emojiPicker": "t_j5va_emojiPicker",
622
633
  "pwFair": "t_j5va_pwFair",
623
- "copyAllBtn": "t_j5va_copyAllBtn",
624
- "colorSwatch": "t_j5va_colorSwatch",
625
- "tagName": "t_j5va_tagName",
626
- "customValueInput": "t_j5va_customValueInput",
627
- "rowExpired": "t_j5va_rowExpired",
628
- "reportJump": "t_j5va_reportJump",
629
- "scoreRing": "t_j5va_scoreRing",
634
+ "tabActive": "t_j5va_tabActive",
630
635
  "genHist": "t_j5va_genHist",
631
- "inlineInput": "t_j5va_inlineInput",
632
- "editorActions": "t_j5va_editorActions",
633
- "checkField": "t_j5va_checkField",
634
- "auditChips": "t_j5va_auditChips",
635
- "intro": "t_j5va_intro",
636
- "lenChips": "t_j5va_lenChips",
637
- "attachBox": "t_j5va_attachBox",
638
- "tagManagerHead": "t_j5va_tagManagerHead",
639
- "detailCode": "t_j5va_detailCode",
640
- "kindChip": "t_j5va_kindChip",
641
- "toolbarFilters": "t_j5va_toolbarFilters",
642
- "toolbarDivider": "t_j5va_toolbarDivider",
643
- "emojiBtn": "t_j5va_emojiBtn",
644
- "customFieldRows": "t_j5va_customFieldRows",
645
- "emptyBox": "t_j5va_emptyBox",
646
- "pinStar": "t_j5va_pinStar",
647
- "identity": "t_j5va_identity",
648
- "status": "t_j5va_status",
649
- "uriCode": "t_j5va_uriCode",
650
- "reportBox": "t_j5va_reportBox",
651
- "headerMessage": "t_j5va_headerMessage",
652
- "importName": "t_j5va_importName",
653
- "riskDanger": "t_j5va_riskDanger",
636
+ "actionPrimary": "t_j5va_actionPrimary",
654
637
  "favToggle": "t_j5va_favToggle",
655
- "importDesc": "t_j5va_importDesc",
656
- "riskWarn": "t_j5va_riskWarn",
657
- "genOpts": "t_j5va_genOpts",
658
- "reportLineLink": "t_j5va_reportLineLink",
638
+ "badgeOk": "t_j5va_badgeOk",
639
+ "deleteButton": "t_j5va_deleteButton",
640
+ "dupGroup": "t_j5va_dupGroup",
641
+ "attachAdd": "t_j5va_attachAdd",
642
+ "kindChipActive": "t_j5va_kindChipActive",
643
+ "tab": "t_j5va_tab",
644
+ "vaultSwitch": "t_j5va_vaultSwitch",
645
+ "pwStrong": "t_j5va_pwStrong",
646
+ "reportTitle": "t_j5va_reportTitle",
647
+ "saveButton": "t_j5va_saveButton",
648
+ "lockedBanner": "t_j5va_lockedBanner",
649
+ "auditChips": "t_j5va_auditChips",
650
+ "pwMeter": "t_j5va_pwMeter",
651
+ "emptyHint": "t_j5va_emptyHint",
652
+ "brandGlyphSm": "t_j5va_brandGlyphSm",
653
+ "recentLabel": "t_j5va_recentLabel",
654
+ "trashButton": "t_j5va_trashButton",
655
+ "vaultManageRow": "t_j5va_vaultManageRow",
656
+ "rowExpired": "t_j5va_rowExpired",
657
+ "histUpdate": "t_j5va_histUpdate",
658
+ "auditChipActive": "t_j5va_auditChipActive",
659
+ "pwBar": "t_j5va_pwBar",
660
+ "vaultHeader": "t_j5va_vaultHeader",
659
661
  "rowMain": "t_j5va_rowMain",
660
- "gridName": "t_j5va_gridName",
661
- "tagActions": "t_j5va_tagActions",
662
- "modeAuto": "t_j5va_modeAuto",
663
- "modeReadonly": "t_j5va_modeReadonly",
662
+ "copied": "t_j5va_copied",
663
+ "riskDanger": "t_j5va_riskDanger",
664
+ "histNeutral": "t_j5va_histNeutral",
665
+ "status": "t_j5va_status",
664
666
  "searchBox": "t_j5va_searchBox",
665
- "rowActions": "t_j5va_rowActions",
666
- "section": "t_j5va_section",
667
- "gridInput": "t_j5va_gridInput",
668
- "recentSearch": "t_j5va_recentSearch",
669
- "tagManager": "t_j5va_tagManager",
670
- "actionGroups": "t_j5va_actionGroups",
671
- "badge": "t_j5va_badge",
672
- "dupNames": "t_j5va_dupNames",
673
- "pwMeter": "t_j5va_pwMeter",
674
- "listCompact": "t_j5va_listCompact",
675
- "detailDeleteBtn": "t_j5va_detailDeleteBtn",
676
- "badgeBtn": "t_j5va_badgeBtn",
677
- "rowCheck": "t_j5va_rowCheck",
667
+ "auditRow": "t_j5va_auditRow",
668
+ "totp": "t_j5va_totp",
669
+ "colorSwatch": "t_j5va_colorSwatch",
670
+ "gridRow": "t_j5va_gridRow",
671
+ "moreButton": "t_j5va_moreButton",
672
+ "bulkCount": "t_j5va_bulkCount",
673
+ "pinOff": "t_j5va_pinOff",
674
+ "pwLabel": "t_j5va_pwLabel",
675
+ "pwHistTime": "t_j5va_pwHistTime",
676
+ "srOnly": "t_j5va_srOnly",
677
+ "dupMerge": "t_j5va_dupMerge",
678
+ "emojiBtn": "t_j5va_emojiBtn",
679
+ "toolbarMain": "t_j5va_toolbarMain",
678
680
  "histAdd": "t_j5va_histAdd",
679
- "histDanger": "t_j5va_histDanger",
680
- "pinOn": "t_j5va_pinOn",
681
- "actionPrimary": "t_j5va_actionPrimary",
682
- "reportTitle": "t_j5va_reportTitle"
681
+ "auditWhen": "t_j5va_auditWhen",
682
+ "badgeActive": "t_j5va_badgeActive"
683
683
  };
684
684
  //#endregion
685
685
  //#region src/client/VaultSection.tsx
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-vault",
3
- "version": "1.10.67",
3
+ "version": "1.10.68",
4
4
  "bin": {
5
5
  "dsh-vault": "./lib/cli.js"
6
6
  },
@@ -87,6 +87,7 @@
87
87
  "scan:public": "node scripts/secret-scan.mjs --public",
88
88
  "e2e:theme": "node tests/e2e/theme-check.mjs",
89
89
  "e2e:polish": "node tests/e2e/polish-check.mjs",
90
- "e2e:contrast": "node tests/e2e/contrast-audit.mjs"
90
+ "e2e:contrast": "node tests/e2e/contrast-audit.mjs",
91
+ "e2e:prompt": "node tests/e2e/cli-prompt.mjs"
91
92
  }
92
93
  }