dsh-vault 1.10.74-rc.3 → 1.10.74

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
@@ -470,7 +470,7 @@ git clone git@github.com:Ox0400/dsh-vault.git
470
470
  cd dsh-vault
471
471
  pnpm install # 安装 devDependencies(typescript/tsdown/vitest 等)
472
472
  pnpm build # 构建 host 侧 lib/*.js 与浏览器 bundle lib/client.js
473
- pnpm test # 运行 492 项 vitest 测试
473
+ pnpm test # 运行 496 项 vitest 测试
474
474
  ```
475
475
 
476
476
  > 测试需要 harness 的 `dsh-llm`/`dsh-system-prompt` 等 peer 包,在 harness monorepo 内开发时由 workspace 链接提供。
@@ -478,7 +478,7 @@ pnpm test # 运行 492 项 vitest 测试
478
478
  常用命令:
479
479
 
480
480
  ```sh
481
- # 单元 + 集成测试(vitest,492 项)
481
+ # 单元 + 集成测试(vitest,496 项)
482
482
  pnpm test # 或 npx vitest run
483
483
 
484
484
  # 类型检查
@@ -491,7 +491,7 @@ pnpm build # = build:host (tsc) + build:client (tsdown)
491
491
  npm pack
492
492
  ```
493
493
 
494
- 仓库内所有测试通过:492/492(crypto/TOTP/密码生成/store CRUD/网关/集成)。
494
+ 仓库内所有测试通过:496/496(crypto/TOTP/密码生成/store CRUD/网关/集成)。
495
495
 
496
496
  浏览器侧检查跑在真实 `dsh web` 上(不属于 vitest),且**一律拒绝在 default 库上运行**:
497
497
 
package/README.md CHANGED
@@ -539,7 +539,7 @@ git clone git@github.com:Ox0400/dsh-vault.git
539
539
  cd dsh-vault
540
540
  pnpm install # installs devDependencies (typescript/tsdown/vitest, …)
541
541
  pnpm build # builds host lib/*.js and the browser bundle lib/client.js
542
- pnpm test # runs the 492 vitest tests
542
+ pnpm test # runs the 496 vitest tests
543
543
  ```
544
544
 
545
545
  > Tests need harness peer packages such as `dsh-llm`/`dsh-system-prompt`; inside the harness monorepo these resolve via workspace links.
@@ -547,13 +547,13 @@ pnpm test # runs the 492 vitest tests
547
547
  Common commands:
548
548
 
549
549
  ```sh
550
- pnpm test # unit + integration tests (vitest, 492)
550
+ pnpm test # unit + integration tests (vitest, 496)
551
551
  pnpm typecheck # tsc -p tsconfig.json --noEmit
552
552
  pnpm build # = build:host (tsc) + build:client (tsdown)
553
553
  npm pack # optional: tarball for `dsh plugin add ./dsh-vault-0.1.1.tgz`
554
554
  ```
555
555
 
556
- All 492 tests pass (crypto / TOTP / password generation / store CRUD / gateway / integration).
556
+ All 496 tests pass (crypto / TOTP / password generation / store CRUD / gateway / integration).
557
557
 
558
558
  Browser checks run against a real `dsh web` instead of vitest, and every one of
559
559
  them refuses to operate on the default vault:
package/lib/breach.js CHANGED
@@ -100,10 +100,6 @@ export async function checkPassword(password, now = Date.now()) {
100
100
  return { breached: false, count: 0, source: 'local' };
101
101
  }
102
102
  }
103
- /** Number of prefix ranges currently cached (for diagnostics/tests). */
104
- export function cacheSize() {
105
- return rangeCache.size;
106
- }
107
103
  /** Clear the in-memory range cache (exposed for tests and diagnostics). */
108
104
  export function clearCache() {
109
105
  rangeCache.clear();
package/lib/client.js CHANGED
@@ -510,197 +510,197 @@ window.__ModuleLoader__.load({
510
510
  document.head.appendChild(tag);
511
511
  }
512
512
  var VaultSection_module_css_default = {
513
- "bulkItem": "t_j5va_bulkItem",
514
- "moreButton": "t_j5va_moreButton",
515
- "histUpdate": "t_j5va_histUpdate",
516
- "customValueInput": "t_j5va_customValueInput",
517
- "detailActions": "t_j5va_detailActions",
518
- "pwHistPwd": "t_j5va_pwHistPwd",
519
- "highBadge": "t_j5va_highBadge",
520
- "detailTotp": "t_j5va_detailTotp",
521
- "healthSummary": "t_j5va_healthSummary",
513
+ "pwBar": "t_j5va_pwBar",
522
514
  "riskWarn": "t_j5va_riskWarn",
523
- "actionGroups": "t_j5va_actionGroups",
524
- "importName": "t_j5va_importName",
525
- "vaultManageRow": "t_j5va_vaultManageRow",
526
- "lenChips": "t_j5va_lenChips",
515
+ "field": "t_j5va_field",
516
+ "rowCheck": "t_j5va_rowCheck",
517
+ "colorSwatch": "t_j5va_colorSwatch",
527
518
  "listCompact": "t_j5va_listCompact",
528
- "vaultSwitch": "t_j5va_vaultSwitch",
529
- "emojiBtn": "t_j5va_emojiBtn",
530
- "emojiPicker": "t_j5va_emojiPicker",
519
+ "brandGlyph": "t_j5va_brandGlyph",
520
+ "sortButton": "t_j5va_sortButton",
521
+ "badgeLink": "t_j5va_badgeLink",
522
+ "vaultManageRow": "t_j5va_vaultManageRow",
523
+ "strengthTrack": "t_j5va_strengthTrack",
524
+ "detailDeleteBtn": "t_j5va_detailDeleteBtn",
525
+ "genHistItem": "t_j5va_genHistItem",
526
+ "headerMessage": "t_j5va_headerMessage",
527
+ "gridRow": "t_j5va_gridRow",
528
+ "recentChip": "t_j5va_recentChip",
529
+ "favActive": "t_j5va_favActive",
530
+ "rowSelected": "t_j5va_rowSelected",
531
+ "recentLabel": "t_j5va_recentLabel",
532
+ "importRow": "t_j5va_importRow",
533
+ "gridName": "t_j5va_gridName",
531
534
  "brandGlyphSm": "t_j5va_brandGlyphSm",
532
- "editor": "t_j5va_editor",
535
+ "detailRemain": "t_j5va_detailRemain",
536
+ "inlineInput": "t_j5va_inlineInput",
533
537
  "tabPane": "t_j5va_tabPane",
534
- "selectActive": "t_j5va_selectActive",
535
- "moreMenu": "t_j5va_moreMenu",
536
- "pwHistBox": "t_j5va_pwHistBox",
537
- "importDesc": "t_j5va_importDesc",
538
- "inlineField": "t_j5va_inlineField",
538
+ "secretField": "t_j5va_secretField",
539
+ "reportLineLink": "t_j5va_reportLineLink",
540
+ "tabActive": "t_j5va_tabActive",
539
541
  "tagName": "t_j5va_tagName",
540
- "toolbarMain": "t_j5va_toolbarMain",
541
- "detailBox": "t_j5va_detailBox",
542
- "vaultHeader": "t_j5va_vaultHeader",
543
- "auditChip": "t_j5va_auditChip",
544
- "tagCount": "t_j5va_tagCount",
545
- "sortButton": "t_j5va_sortButton",
546
- "genOptRow": "t_j5va_genOptRow",
547
- "resultCount": "t_j5va_resultCount",
542
+ "colorPalette": "t_j5va_colorPalette",
543
+ "lenChipActive": "t_j5va_lenChipActive",
544
+ "healthBar": "t_j5va_healthBar",
545
+ "policyField": "t_j5va_policyField",
546
+ "uriCode": "t_j5va_uriCode",
547
+ "retryButton": "t_j5va_retryButton",
548
+ "modeAuto": "t_j5va_modeAuto",
549
+ "urlGlyph": "t_j5va_urlGlyph",
550
+ "badgeOk": "t_j5va_badgeOk",
551
+ "auditChips": "t_j5va_auditChips",
552
+ "badgeWarn": "t_j5va_badgeWarn",
553
+ "pwWeak": "t_j5va_pwWeak",
554
+ "pwFair": "t_j5va_pwFair",
555
+ "revealButton": "t_j5va_revealButton",
556
+ "genHist": "t_j5va_genHist",
548
557
  "dupMerge": "t_j5va_dupMerge",
549
- "modeAsk": "t_j5va_modeAsk",
550
- "badgeBtn": "t_j5va_badgeBtn",
551
- "rowDue": "t_j5va_rowDue",
552
- "histAdd": "t_j5va_histAdd",
553
- "iconFieldWrap": "t_j5va_iconFieldWrap",
554
- "tagManagerHead": "t_j5va_tagManagerHead",
555
- "saveButton": "t_j5va_saveButton",
556
- "backupButton": "t_j5va_backupButton",
557
- "modeReadonly": "t_j5va_modeReadonly",
558
- "badge": "t_j5va_badge",
559
- "auditRow": "t_j5va_auditRow",
560
- "detailItem": "t_j5va_detailItem",
561
- "searchBox": "t_j5va_searchBox",
562
- "bulkCount": "t_j5va_bulkCount",
558
+ "hit": "t_j5va_hit",
559
+ "customValueInput": "t_j5va_customValueInput",
560
+ "strengthStars": "t_j5va_strengthStars",
563
561
  "intro": "t_j5va_intro",
562
+ "tagManagerHead": "t_j5va_tagManagerHead",
563
+ "rowMain": "t_j5va_rowMain",
564
+ "exportChip": "t_j5va_exportChip",
565
+ "modeAsk": "t_j5va_modeAsk",
566
+ "trashButton": "t_j5va_trashButton",
567
+ "dueBadge": "t_j5va_dueBadge",
568
+ "moreMenu": "t_j5va_moreMenu",
569
+ "detailBox": "t_j5va_detailBox",
570
+ "error": "t_j5va_error",
571
+ "rowExpired": "t_j5va_rowExpired",
572
+ "emojiPicker": "t_j5va_emojiPicker",
573
+ "importList": "t_j5va_importList",
574
+ "pwStrong": "t_j5va_pwStrong",
575
+ "vaultSwitch": "t_j5va_vaultSwitch",
576
+ "pwMeter": "t_j5va_pwMeter",
564
577
  "reportTitle": "t_j5va_reportTitle",
565
- "lenChipActive": "t_j5va_lenChipActive",
578
+ "strengthStrong": "t_j5va_strengthStrong",
579
+ "customFieldRow": "t_j5va_customFieldRow",
580
+ "genOptRow": "t_j5va_genOptRow",
581
+ "searchBox": "t_j5va_searchBox",
582
+ "recentClear": "t_j5va_recentClear",
583
+ "tagCount": "t_j5va_tagCount",
584
+ "policyBar": "t_j5va_policyBar",
585
+ "tagActions": "t_j5va_tagActions",
586
+ "lockedBanner": "t_j5va_lockedBanner",
587
+ "row": "t_j5va_row",
588
+ "badgeActive": "t_j5va_badgeActive",
589
+ "gridInput": "t_j5va_gridInput",
590
+ "exportChips": "t_j5va_exportChips",
591
+ "reportBox": "t_j5va_reportBox",
592
+ "editorActions": "t_j5va_editorActions",
593
+ "totpRing": "t_j5va_totpRing",
594
+ "histNeutral": "t_j5va_histNeutral",
595
+ "recentSearch": "t_j5va_recentSearch",
596
+ "histLink": "t_j5va_histLink",
597
+ "actionGroup": "t_j5va_actionGroup",
566
598
  "actionBtn": "t_j5va_actionBtn",
567
- "retryButton": "t_j5va_retryButton",
599
+ "detailTotp": "t_j5va_detailTotp",
568
600
  "reportSub": "t_j5va_reportSub",
569
- "tab": "t_j5va_tab",
570
- "attachAdd": "t_j5va_attachAdd",
571
- "riskDanger": "t_j5va_riskDanger",
572
- "histLink": "t_j5va_histLink",
573
- "recentLabel": "t_j5va_recentLabel",
574
- "pwWeak": "t_j5va_pwWeak",
575
- "brandGlyph": "t_j5va_brandGlyph",
576
- "genOpts": "t_j5va_genOpts",
601
+ "emptyBox": "t_j5va_emptyBox",
577
602
  "favToggle": "t_j5va_favToggle",
578
- "identity": "t_j5va_identity",
579
- "field": "t_j5va_field",
580
- "riskBanner": "t_j5va_riskBanner",
581
- "tagRow": "t_j5va_tagRow",
582
- "customKeyInput": "t_j5va_customKeyInput",
583
- "hit": "t_j5va_hit",
584
- "kindChip": "t_j5va_kindChip",
585
- "genHistItem": "t_j5va_genHistItem",
586
- "checkField": "t_j5va_checkField",
587
- "empty": "t_j5va_empty",
588
- "strengthTrack": "t_j5va_strengthTrack",
589
- "strengthFill": "t_j5va_strengthFill",
590
- "rowExpired": "t_j5va_rowExpired",
591
- "pwHistRow": "t_j5va_pwHistRow",
592
603
  "attachBox": "t_j5va_attachBox",
604
+ "tagManager": "t_j5va_tagManager",
605
+ "gridActions": "t_j5va_gridActions",
606
+ "healthSummary": "t_j5va_healthSummary",
607
+ "kindChip": "t_j5va_kindChip",
608
+ "moreWrap": "t_j5va_moreWrap",
609
+ "auditChip": "t_j5va_auditChip",
610
+ "highBadge": "t_j5va_highBadge",
611
+ "pinStar": "t_j5va_pinStar",
593
612
  "colorFieldWrap": "t_j5va_colorFieldWrap",
594
- "dueBadge": "t_j5va_dueBadge",
595
- "importRow": "t_j5va_importRow",
596
- "reportLine": "t_j5va_reportLine",
597
- "lenChip": "t_j5va_lenChip",
598
- "totpRing": "t_j5va_totpRing",
599
- "inlineInput": "t_j5va_inlineInput",
600
- "urlGlyph": "t_j5va_urlGlyph",
601
- "pinOn": "t_j5va_pinOn",
602
- "gridDetail": "t_j5va_gridDetail",
613
+ "toolbar": "t_j5va_toolbar",
603
614
  "totp": "t_j5va_totp",
604
- "reportLineLink": "t_j5va_reportLineLink",
605
- "strengthWeak": "t_j5va_strengthWeak",
606
- "rowMain": "t_j5va_rowMain",
607
- "auditIssues": "t_j5va_auditIssues",
615
+ "badgeDanger": "t_j5va_badgeDanger",
616
+ "bulkItem": "t_j5va_bulkItem",
617
+ "selectActive": "t_j5va_selectActive",
618
+ "auditChipActive": "t_j5va_auditChipActive",
619
+ "section": "t_j5va_section",
620
+ "dangerButton": "t_j5va_dangerButton",
621
+ "auditRow": "t_j5va_auditRow",
622
+ "pinOff": "t_j5va_pinOff",
623
+ "lenChips": "t_j5va_lenChips",
624
+ "kindChipActive": "t_j5va_kindChipActive",
625
+ "modeReadonly": "t_j5va_modeReadonly",
626
+ "pwLabel": "t_j5va_pwLabel",
627
+ "title": "t_j5va_title",
628
+ "emojiBtn": "t_j5va_emojiBtn",
629
+ "editorBody": "t_j5va_editorBody",
630
+ "riskDanger": "t_j5va_riskDanger",
631
+ "vaultTarget": "t_j5va_vaultTarget",
632
+ "inlineField": "t_j5va_inlineField",
633
+ "bulkBar": "t_j5va_bulkBar",
634
+ "reportLine": "t_j5va_reportLine",
635
+ "dupNames": "t_j5va_dupNames",
636
+ "pwHistTime": "t_j5va_pwHistTime",
637
+ "kindIcon": "t_j5va_kindIcon",
638
+ "customKeyInput": "t_j5va_customKeyInput",
639
+ "searchKbd": "t_j5va_searchKbd",
608
640
  "toolbarFilters": "t_j5va_toolbarFilters",
641
+ "importDesc": "t_j5va_importDesc",
642
+ "histAdd": "t_j5va_histAdd",
643
+ "iconFieldWrap": "t_j5va_iconFieldWrap",
644
+ "strengthWeak": "t_j5va_strengthWeak",
645
+ "srOnly": "t_j5va_srOnly",
646
+ "tab": "t_j5va_tab",
647
+ "tagRow": "t_j5va_tagRow",
648
+ "scoreRing": "t_j5va_scoreRing",
649
+ "vaultHeader": "t_j5va_vaultHeader",
650
+ "saveButton": "t_j5va_saveButton",
609
651
  "kindFilter": "t_j5va_kindFilter",
610
- "gridRow": "t_j5va_gridRow",
611
- "policyField": "t_j5va_policyField",
612
- "rowCheck": "t_j5va_rowCheck",
613
- "customEq": "t_j5va_customEq",
614
- "tagManager": "t_j5va_tagManager",
615
- "clearButton": "t_j5va_clearButton",
652
+ "histDanger": "t_j5va_histDanger",
653
+ "genOpts": "t_j5va_genOpts",
654
+ "lockedTag": "t_j5va_lockedTag",
616
655
  "list": "t_j5va_list",
617
- "searchKbd": "t_j5va_searchKbd",
618
- "tabActive": "t_j5va_tabActive",
619
- "addButton": "t_j5va_addButton",
620
- "copied": "t_j5va_copied",
656
+ "attachAdd": "t_j5va_attachAdd",
657
+ "detailCode": "t_j5va_detailCode",
621
658
  "copyAllBtn": "t_j5va_copyAllBtn",
622
- "actionGroup": "t_j5va_actionGroup",
623
- "dupGroup": "t_j5va_dupGroup",
624
- "dangerButton": "t_j5va_dangerButton",
625
- "uriCode": "t_j5va_uriCode",
626
- "strengthStars": "t_j5va_strengthStars",
627
- "actionGroupLabel": "t_j5va_actionGroupLabel",
628
- "vaultTarget": "t_j5va_vaultTarget",
629
- "modeAuto": "t_j5va_modeAuto",
630
- "auditChips": "t_j5va_auditChips",
631
- "editorActions": "t_j5va_editorActions",
632
- "colorPalette": "t_j5va_colorPalette",
633
- "kindChipActive": "t_j5va_kindChipActive",
659
+ "toolbarMain": "t_j5va_toolbarMain",
660
+ "riskBanner": "t_j5va_riskBanner",
661
+ "importName": "t_j5va_importName",
662
+ "bulkCount": "t_j5va_bulkCount",
663
+ "backupButton": "t_j5va_backupButton",
664
+ "rowActions": "t_j5va_rowActions",
634
665
  "totpCopy": "t_j5va_totpCopy",
635
- "healthBar": "t_j5va_healthBar",
636
- "recentSearch": "t_j5va_recentSearch",
637
- "trashButton": "t_j5va_trashButton",
638
- "genHist": "t_j5va_genHist",
639
- "rowSelected": "t_j5va_rowSelected",
640
- "emptyBox": "t_j5va_emptyBox",
666
+ "rowDue": "t_j5va_rowDue",
667
+ "resultCount": "t_j5va_resultCount",
668
+ "addButton": "t_j5va_addButton",
669
+ "customEq": "t_j5va_customEq",
670
+ "gridDetail": "t_j5va_gridDetail",
671
+ "detailItem": "t_j5va_detailItem",
672
+ "strengthFill": "t_j5va_strengthFill",
673
+ "checkField": "t_j5va_checkField",
674
+ "strengthFair": "t_j5va_strengthFair",
641
675
  "customFieldRows": "t_j5va_customFieldRows",
642
- "gridName": "t_j5va_gridName",
643
- "policyBar": "t_j5va_policyBar",
644
- "rowActions": "t_j5va_rowActions",
676
+ "empty": "t_j5va_empty",
677
+ "auditIssues": "t_j5va_auditIssues",
645
678
  "status": "t_j5va_status",
646
- "pwMeter": "t_j5va_pwMeter",
647
- "scoreRing": "t_j5va_scoreRing",
648
- "tagActions": "t_j5va_tagActions",
649
- "deleteButton": "t_j5va_deleteButton",
650
- "strengthFair": "t_j5va_strengthFair",
651
- "actionPrimary": "t_j5va_actionPrimary",
652
- "strengthStrong": "t_j5va_strengthStrong",
653
- "pinStar": "t_j5va_pinStar",
654
- "importActions": "t_j5va_importActions",
655
- "gridInput": "t_j5va_gridInput",
656
- "lockedTag": "t_j5va_lockedTag",
657
- "pinOff": "t_j5va_pinOff",
658
- "detailDeleteBtn": "t_j5va_detailDeleteBtn",
659
- "badgeLink": "t_j5va_badgeLink",
660
- "title": "t_j5va_title",
661
- "histDanger": "t_j5va_histDanger",
662
- "lockedBanner": "t_j5va_lockedBanner",
663
- "favActive": "t_j5va_favActive",
664
- "detailCode": "t_j5va_detailCode",
665
- "badgeActive": "t_j5va_badgeActive",
666
- "colorSwatch": "t_j5va_colorSwatch",
667
- "revealButton": "t_j5va_revealButton",
668
- "badgeOk": "t_j5va_badgeOk",
669
- "badgeDanger": "t_j5va_badgeDanger",
670
- "pwStrong": "t_j5va_pwStrong",
671
- "exportChip": "t_j5va_exportChip",
672
- "headerMessage": "t_j5va_headerMessage",
673
- "histNeutral": "t_j5va_histNeutral",
674
- "editorBody": "t_j5va_editorBody",
679
+ "pinOn": "t_j5va_pinOn",
680
+ "badgeBtn": "t_j5va_badgeBtn",
675
681
  "auditWhen": "t_j5va_auditWhen",
676
- "bulkBar": "t_j5va_bulkBar",
677
- "reportBox": "t_j5va_reportBox",
678
- "toolbarDivider": "t_j5va_toolbarDivider",
682
+ "pwHistPwd": "t_j5va_pwHistPwd",
679
683
  "emptyHint": "t_j5va_emptyHint",
680
- "toolbar": "t_j5va_toolbar",
681
- "recentChip": "t_j5va_recentChip",
682
- "pwHistTime": "t_j5va_pwHistTime",
683
- "error": "t_j5va_error",
684
- "tabs": "t_j5va_tabs",
685
- "moreWrap": "t_j5va_moreWrap",
686
- "row": "t_j5va_row",
687
- "kindIcon": "t_j5va_kindIcon",
688
- "srOnly": "t_j5va_srOnly",
684
+ "dupGroup": "t_j5va_dupGroup",
685
+ "moreButton": "t_j5va_moreButton",
686
+ "lenChip": "t_j5va_lenChip",
687
+ "deleteButton": "t_j5va_deleteButton",
688
+ "toolbarDivider": "t_j5va_toolbarDivider",
689
689
  "reportJump": "t_j5va_reportJump",
690
- "pwLabel": "t_j5va_pwLabel",
691
- "exportChips": "t_j5va_exportChips",
692
- "gridActions": "t_j5va_gridActions",
693
- "pwFair": "t_j5va_pwFair",
694
- "detailRemain": "t_j5va_detailRemain",
695
- "recentClear": "t_j5va_recentClear",
696
- "importList": "t_j5va_importList",
697
- "customFieldRow": "t_j5va_customFieldRow",
698
- "pwBar": "t_j5va_pwBar",
699
- "section": "t_j5va_section",
700
- "auditChipActive": "t_j5va_auditChipActive",
701
- "secretField": "t_j5va_secretField",
702
- "dupNames": "t_j5va_dupNames",
703
- "badgeWarn": "t_j5va_badgeWarn"
690
+ "tabs": "t_j5va_tabs",
691
+ "actionGroupLabel": "t_j5va_actionGroupLabel",
692
+ "editor": "t_j5va_editor",
693
+ "histUpdate": "t_j5va_histUpdate",
694
+ "copied": "t_j5va_copied",
695
+ "importActions": "t_j5va_importActions",
696
+ "identity": "t_j5va_identity",
697
+ "pwHistBox": "t_j5va_pwHistBox",
698
+ "detailActions": "t_j5va_detailActions",
699
+ "actionGroups": "t_j5va_actionGroups",
700
+ "badge": "t_j5va_badge",
701
+ "pwHistRow": "t_j5va_pwHistRow",
702
+ "actionPrimary": "t_j5va_actionPrimary",
703
+ "clearButton": "t_j5va_clearButton"
704
704
  };
705
705
  //#endregion
706
706
  //#region src/client/VaultSection.tsx
package/lib/crypto.js CHANGED
@@ -15,8 +15,6 @@ const scrypt = promisify(scryptCallback);
15
15
  export const KEY_LENGTH = 32;
16
16
  /** GCM nonce length in bytes (the recommended 96-bit default). */
17
17
  export const IV_LENGTH = 12;
18
- /** GCM authentication tag length in bytes. */
19
- export const TAG_LENGTH = 16;
20
18
  /** scrypt CPU/memory cost (2^15). Chosen to make offline brute force of a
21
19
  * master password expensive while staying snappy on laptops. */
22
20
  export const SCRYPT_N = 2 ** 15;
@@ -81,7 +79,3 @@ export function decrypt(blob, key) {
81
79
  export function safeEqual(a, b) {
82
80
  return a.length === b.length && timingSafeEqual(a, b);
83
81
  }
84
- /** Generate `bytes` cryptographically strong random bytes as hex. */
85
- export function randomHex(bytes) {
86
- return randomBytes(bytes).toString('hex');
87
- }
package/lib/der.js CHANGED
@@ -8,10 +8,7 @@
8
8
  * @module dsh-vault/der
9
9
  */
10
10
  /** DER universal tag numbers used by NSS blobs. */
11
- export const TAG_INTEGER = 0x02;
12
11
  export const TAG_OCTET_STRING = 0x04;
13
- export const TAG_NULL = 0x05;
14
- export const TAG_OID = 0x06;
15
12
  export const TAG_SEQUENCE = 0x30;
16
13
  function readLength(buf, offset) {
17
14
  const first = buf[offset];
package/lib/index.js CHANGED
@@ -4734,10 +4734,6 @@ export async function apply(ctx, config) {
4734
4734
  /** Lets the UI switch the tool profile at runtime (set by apply(); one plugin
4735
4735
  * instance per process). Returns the number of registered tools. */
4736
4736
  let reapplyToolProfile;
4737
- /** Set by tests to observe profile switches outside a gateway. */
4738
- export function __getToolProfileApplier() {
4739
- return reapplyToolProfile;
4740
- }
4741
4737
  let VaultGateway = (() => {
4742
4738
  let _classSuper = TypertRemoteService;
4743
4739
  let _instanceExtraInitializers = [];
package/lib/keychain.js CHANGED
@@ -27,14 +27,6 @@ import { execFileSync } from 'node:child_process';
27
27
  * (and worse, blocks the whole dump), so the only mitigations are this cache,
28
28
  * small batches, and the preview mode. */
29
29
  const fetchCache = new Map();
30
- /** Number of entries currently cached (diagnostics/tests). */
31
- export function keychainCacheSize() {
32
- return fetchCache.size;
33
- }
34
- /** Clear the session keychain cache. */
35
- export function clearKeychainCache() {
36
- fetchCache.clear();
37
- }
38
30
  const SYSTEM_PREFIXES = ['com.apple.', 'com.apple', 'AirPlay', 'Microsoft', 'iCloud', 'CloudKit', 'Wi-Fi', 'Bluetooth', 'AirDrop', 'App Store', 'iTunes', 'FaceTime', 'Messages', 'iMessage'];
39
31
  /** Parse a `security dump-keychain` listing into typed (class, service,
40
32
  * account, …) pairs. Both `genp` and `inet` classes are understood. */
package/lib/session.js CHANGED
@@ -183,19 +183,6 @@ export function parseNetscapeJar(text) {
183
183
  }
184
184
  return out;
185
185
  }
186
- /** Map a stored CookieData back into Playwright's addCookies shape. */
187
- export function toAddCookie(cookie) {
188
- return {
189
- name: cookie.name,
190
- value: cookie.value,
191
- domain: cookie.domain,
192
- path: cookie.path,
193
- expires: cookie.expires,
194
- httpOnly: cookie.httpOnly,
195
- secure: cookie.secure,
196
- ...(cookie.sameSite !== undefined ? { sameSite: cookie.sameSite } : {}),
197
- };
198
- }
199
186
  /** Live browser sessions opened by this process (never persisted). */
200
187
  const sessions = new Map();
201
188
  /** Open a headed browser session at the given URL. Returns a handle; the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-vault",
3
- "version": "1.10.74-rc.3",
3
+ "version": "1.10.74",
4
4
  "bin": {
5
5
  "dsh-vault": "lib/cli.js"
6
6
  },
@@ -84,6 +84,7 @@
84
84
  "typecheck": "tsc -p tsconfig.json --noEmit",
85
85
  "scan:secrets": "node scripts/secret-scan.mjs",
86
86
  "scan:public": "node scripts/secret-scan.mjs --public",
87
+ "scan:dead": "node scripts/dead-exports.mjs",
87
88
  "e2e:theme": "node tests/e2e/theme-check.mjs",
88
89
  "e2e:polish": "node tests/e2e/polish-check.mjs",
89
90
  "e2e:contrast": "node tests/e2e/contrast-audit.mjs",