vaulter 1.0.5 → 1.0.8

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
@@ -56,6 +56,8 @@ vaulter k8s:secret -e prd | kubectl apply -f -
56
56
  - [Why Vaulter?](#why-vaulter)
57
57
  - [Security](#security)
58
58
  - [Daily Use](#daily-use)
59
+ - [Audit & Compliance](#audit--compliance)
60
+ - [Secret Rotation](#secret-rotation)
59
61
  - [CI/CD](#cicd)
60
62
  - [Configuration](#configuration)
61
63
  - [Integrations](#integrations)
@@ -453,6 +455,22 @@ vaulter k8s:secret -e prd | kubectl apply -f -
453
455
  | `tf:vars` | Terraform .tfvars | `vaulter tf:vars -e prd` |
454
456
  | `scan` | Scan monorepo | `vaulter scan` |
455
457
 
458
+ #### Audit Commands
459
+
460
+ | Command | Description | Example |
461
+ |:--------|:------------|:--------|
462
+ | `audit list` | List audit entries | `vaulter audit list -e prd` |
463
+ | `audit show` | Show entry details | `vaulter audit show <id>` |
464
+ | `audit stats` | Show statistics | `vaulter audit stats -e prd` |
465
+ | `audit cleanup` | Delete old entries | `vaulter audit cleanup --retention 30` |
466
+
467
+ #### Rotation Commands
468
+
469
+ | Command | Description | Example |
470
+ |:--------|:------------|:--------|
471
+ | `rotation list` | Show rotation status | `vaulter rotation list -e prd` |
472
+ | `rotation run` | Run rotation check | `vaulter rotation run -e prd --clear` |
473
+
456
474
  ### Set Command Syntax
457
475
 
458
476
  ```bash
@@ -518,6 +536,401 @@ vaulter k8s:secret -e uat | kubectl apply -f -
518
536
 
519
537
  ---
520
538
 
539
+ ## Audit & Compliance
540
+
541
+ Vaulter includes built-in audit logging to track every change to your secrets. Essential for compliance (SOC2, HIPAA, PCI-DSS) and debugging "who changed what, when".
542
+
543
+ ### Why Audit?
544
+
545
+ ```
546
+ ┌─────────────────────────────────────────────────────────────────┐
547
+ │ Without Audit Logging │
548
+ │ │
549
+ │ Developer: "Who deleted the API_KEY in production?" │
550
+ │ Team: 🤷 "No idea, check git blame? It's not in the repo..." │
551
+ │ │
552
+ └─────────────────────────────────────────────────────────────────┘
553
+
554
+ ┌─────────────────────────────────────────────────────────────────┐
555
+ │ With Vaulter Audit │
556
+ │ │
557
+ │ $ vaulter audit list -e prd --pattern "API_KEY" │
558
+ │ │
559
+ │ TIMESTAMP USER OP KEY ENV SRC │
560
+ │ 2025-01-15 14:32:01 john delete API_KEY prd cli │
561
+ │ 2025-01-10 09:15:22 jane set API_KEY prd sync │
562
+ │ 2025-01-05 11:00:00 deploy set API_KEY prd ci │
563
+ │ │
564
+ └─────────────────────────────────────────────────────────────────┘
565
+ ```
566
+
567
+ ### Configuration
568
+
569
+ ```yaml
570
+ # .vaulter/config.yaml
571
+ audit:
572
+ enabled: true # Enable audit logging (default: true)
573
+ retention_days: 90 # Auto-cleanup entries older than N days
574
+ mask_values: true # Mask values in logs (show: sk-1234****5678)
575
+ include_values: false # Include actual values (⚠️ security risk)
576
+ ```
577
+
578
+ | Option | Default | Description |
579
+ |:-------|:--------|:------------|
580
+ | `enabled` | `true` | Enable/disable audit logging |
581
+ | `retention_days` | `90` | Auto-cleanup old entries |
582
+ | `mask_values` | `true` | Mask sensitive values in logs |
583
+ | `include_values` | `false` | Store full values (⚠️ use with caution) |
584
+
585
+ ### Commands
586
+
587
+ #### List Audit Entries
588
+
589
+ ```bash
590
+ # List recent entries (default: 50)
591
+ vaulter audit list -e prd
592
+
593
+ # Filter by user
594
+ vaulter audit list -e prd --user john
595
+
596
+ # Filter by operation
597
+ vaulter audit list -e prd --operation delete
598
+
599
+ # Filter by key pattern (supports wildcards)
600
+ vaulter audit list -e prd --pattern "DATABASE_*"
601
+
602
+ # Filter by date range
603
+ vaulter audit list -e prd --since "2025-01-01" --until "2025-01-15"
604
+
605
+ # Filter by source
606
+ vaulter audit list -e prd --source ci
607
+
608
+ # Show all environments
609
+ vaulter audit list --all-envs
610
+
611
+ # JSON output for scripting
612
+ vaulter audit list -e prd --json
613
+
614
+ # Combine filters
615
+ vaulter audit list -e prd --user deploy --operation set --limit 100
616
+ ```
617
+
618
+ **Output:**
619
+ ```
620
+ TIMESTAMP USER OP KEY ENV SRC
621
+ 2025-01-15 14:32:01 john delete API_KEY prd cli
622
+ 2025-01-15 14:30:00 jane set DATABASE_URL prd cli
623
+ 2025-01-15 10:00:00 github-ci push * prd ci
624
+ 2025-01-14 16:45:22 jane sync * prd cli
625
+
626
+ Showing 4 entries
627
+ ```
628
+
629
+ #### Show Entry Details
630
+
631
+ ```bash
632
+ # Get full details of a specific entry
633
+ vaulter audit show <entry-id>
634
+ ```
635
+
636
+ **Output:**
637
+ ```
638
+ ID: abc123def456
639
+ Timestamp: 2025-01-15 14:32:01
640
+ User: john
641
+ Operation: delete
642
+ Key: API_KEY
643
+ Project: my-project
644
+ Environment: prd
645
+ Source: cli
646
+ Previous: sk-1234****5678
647
+ Metadata: {"reason": "rotating key"}
648
+ ```
649
+
650
+ #### Audit Statistics
651
+
652
+ ```bash
653
+ # View summary statistics
654
+ vaulter audit stats -e prd
655
+ ```
656
+
657
+ **Output:**
658
+ ```
659
+ Audit Statistics for my-project/prd
660
+ ════════════════════════════════════════
661
+ Total entries: 1,247
662
+ Date range: 2024-10-15 09:00:00 to 2025-01-15 14:32:01
663
+
664
+ By Operation:
665
+ set 892
666
+ delete 124
667
+ sync 156
668
+ push 75
669
+
670
+ By User:
671
+ jane 456
672
+ john 321
673
+ github-ci 470
674
+
675
+ By Source:
676
+ cli 645
677
+ ci 470
678
+ sync 132
679
+ ```
680
+
681
+ #### Cleanup Old Entries
682
+
683
+ ```bash
684
+ # Cleanup entries older than retention_days (from config)
685
+ vaulter audit cleanup
686
+
687
+ # Override retention period
688
+ vaulter audit cleanup --retention 30
689
+
690
+ # Dry-run to see what would be deleted
691
+ vaulter audit cleanup --retention 30 --dry-run
692
+ ```
693
+
694
+ ### Automatic Audit Logging
695
+
696
+ Audit entries are created automatically for all write operations:
697
+
698
+ | Operation | Logged Info |
699
+ |:----------|:------------|
700
+ | `set` | Key, previous value (masked), new value (masked) |
701
+ | `delete` | Key, previous value (masked) |
702
+ | `sync` | Keys added, updated, deleted |
703
+ | `push` | Keys added, updated, deleted |
704
+ | `deleteAll` | All deleted keys |
705
+
706
+ ### Sources
707
+
708
+ The `source` field indicates where the operation originated:
709
+
710
+ | Source | Description |
711
+ |:-------|:------------|
712
+ | `cli` | Manual CLI command |
713
+ | `ci` | CI/CD pipeline |
714
+ | `sync` | Bidirectional sync operation |
715
+ | `api` | Programmatic API call |
716
+ | `mcp` | MCP server (AI assistant) |
717
+
718
+ ### Compliance Tips
719
+
720
+ ```bash
721
+ # Export audit log for compliance review
722
+ vaulter audit list --all-envs --json > audit-report-$(date +%Y%m).json
723
+
724
+ # Monitor production changes
725
+ vaulter audit list -e prd --since "$(date -d 'yesterday' +%Y-%m-%d)"
726
+
727
+ # Alert on deletions
728
+ vaulter audit list -e prd --operation delete --json | jq '.entries | length'
729
+ ```
730
+
731
+ ---
732
+
733
+ ## Secret Rotation
734
+
735
+ Regular secret rotation is a security best practice. Vaulter tracks rotation schedules and helps you identify secrets that need attention.
736
+
737
+ ### Why Rotate?
738
+
739
+ - **Limit exposure**: If a key is compromised, damage is time-limited
740
+ - **Compliance**: Many standards require periodic rotation (PCI-DSS: 90 days)
741
+ - **Access control**: Rotated keys invalidate old access
742
+ - **Audit trail**: Clear history of when credentials changed
743
+
744
+ ### How It Works
745
+
746
+ ```
747
+ ┌─────────────────────────────────────────────────────────────────┐
748
+ │ Rotation Workflow │
749
+ │ │
750
+ │ 1. vaulter rotation list → See what needs rotation │
751
+ │ │
752
+ │ KEY ENV LAST ROTATED ROTATE AFTER STATUS │
753
+ │ DATABASE_URL prd 45 days ago 90 days ✓ OK │
754
+ │ API_KEY prd 120 days ago 90 days ⚠ OVERDUE │
755
+ │ JWT_SECRET prd never 90 days ⚠ OVERDUE │
756
+ │ │
757
+ │ 2. Manually rotate the credential in the external service │
758
+ │ │
759
+ │ 3. vaulter set API_KEY="new-value" -e prd │
760
+ │ → Automatically updates rotatedAt timestamp │
761
+ │ │
762
+ │ 4. vaulter rotation run -e prd --clear │
763
+ │ → Clears rotateAfter for updated keys (fresh start) │
764
+ │ │
765
+ └─────────────────────────────────────────────────────────────────┘
766
+ ```
767
+
768
+ ### Configuration
769
+
770
+ ```yaml
771
+ # .vaulter/config.yaml
772
+ encryption:
773
+ rotation:
774
+ enabled: true # Enable rotation tracking
775
+ interval_days: 90 # Default rotation interval
776
+ patterns: # Keys that should be rotated
777
+ - "*_KEY"
778
+ - "*_SECRET"
779
+ - "*_TOKEN"
780
+ - "*_PASSWORD"
781
+ - "DATABASE_URL"
782
+ - "REDIS_URL"
783
+ ```
784
+
785
+ | Option | Default | Description |
786
+ |:-------|:--------|:------------|
787
+ | `enabled` | `true` | Enable rotation tracking |
788
+ | `interval_days` | `90` | Default rotation period |
789
+ | `patterns` | `["*_KEY", "*_SECRET", ...]` | Keys to track (glob patterns) |
790
+
791
+ ### Commands
792
+
793
+ #### List Rotation Status
794
+
795
+ ```bash
796
+ # Show rotation status for all secrets
797
+ vaulter rotation list -e prd
798
+
799
+ # Check all environments
800
+ vaulter rotation list --all-envs
801
+
802
+ # Filter overdue only
803
+ vaulter rotation list -e prd --overdue
804
+
805
+ # Custom interval check
806
+ vaulter rotation list -e prd --days 30
807
+
808
+ # JSON output
809
+ vaulter rotation list -e prd --json
810
+ ```
811
+
812
+ **Output:**
813
+ ```
814
+ Rotation Status for my-project/prd (default: 90 days)
815
+
816
+ KEY LAST ROTATED ROTATE AFTER STATUS
817
+ DATABASE_URL 2024-12-01 2025-03-01 ✓ OK (45 days)
818
+ API_KEY 2024-09-15 2024-12-14 ⚠ OVERDUE (32 days)
819
+ JWT_SECRET never — ⚠ NEVER ROTATED
820
+ REDIS_URL 2024-11-20 2025-02-18 ✓ OK (34 days)
821
+
822
+ Summary: 4 secrets, 2 overdue, 1 never rotated
823
+ ```
824
+
825
+ #### Run Rotation Check
826
+
827
+ ```bash
828
+ # Interactive rotation workflow
829
+ vaulter rotation run -e prd
830
+
831
+ # Clear rotation schedule for already-rotated keys
832
+ vaulter rotation run -e prd --clear
833
+
834
+ # Set new interval
835
+ vaulter rotation run -e prd --interval 60
836
+
837
+ # Dry-run
838
+ vaulter rotation run -e prd --dry-run
839
+ ```
840
+
841
+ **Interactive Output:**
842
+ ```
843
+ Checking rotation status for my-project/prd...
844
+
845
+ ⚠ Found 2 secrets needing rotation:
846
+
847
+ API_KEY (overdue by 32 days)
848
+ Last rotated: 2024-09-15
849
+ Rotate after: 2024-12-14
850
+
851
+ JWT_SECRET (never rotated)
852
+ Set a rotation schedule? [Y/n]: y
853
+ Rotation interval (days) [90]: 90
854
+ ✓ Scheduled rotation for 2025-04-15
855
+
856
+ To update a rotated secret:
857
+ vaulter set API_KEY="new-value" -e prd
858
+
859
+ After rotating, clear the schedule:
860
+ vaulter rotation run -e prd --clear
861
+ ```
862
+
863
+ #### Schedule Rotation
864
+
865
+ When you set a new value, Vaulter automatically tracks when it was last changed:
866
+
867
+ ```bash
868
+ # Set new value (automatically updates rotatedAt)
869
+ vaulter set API_KEY="sk-new-rotated-key" -e prd
870
+
871
+ # Verify rotation was tracked
872
+ vaulter rotation list -e prd --pattern "API_KEY"
873
+ ```
874
+
875
+ **Output:**
876
+ ```
877
+ KEY LAST ROTATED ROTATE AFTER STATUS
878
+ API_KEY just now 2025-04-15 ✓ OK (90 days)
879
+ ```
880
+
881
+ ### Rotation Metadata
882
+
883
+ Each secret tracks rotation metadata:
884
+
885
+ | Field | Description |
886
+ |:------|:------------|
887
+ | `rotatedAt` | ISO timestamp of last rotation |
888
+ | `rotateAfter` | ISO timestamp when rotation is due |
889
+
890
+ View with:
891
+ ```bash
892
+ vaulter get API_KEY -e prd --json | jq '.metadata'
893
+ ```
894
+
895
+ ### CI/CD Integration
896
+
897
+ ```yaml
898
+ # GitHub Actions - Weekly rotation check
899
+ name: Secret Rotation Check
900
+ on:
901
+ schedule:
902
+ - cron: '0 9 * * 1' # Every Monday at 9am
903
+
904
+ jobs:
905
+ check-rotation:
906
+ runs-on: ubuntu-latest
907
+ steps:
908
+ - uses: actions/checkout@v4
909
+
910
+ - name: Check for overdue secrets
911
+ env:
912
+ VAULTER_KEY: ${{ secrets.VAULTER_KEY }}
913
+ run: |
914
+ OVERDUE=$(npx vaulter rotation list -e prd --json | jq '.overdue')
915
+ if [ "$OVERDUE" -gt 0 ]; then
916
+ echo "::warning::$OVERDUE secrets are overdue for rotation!"
917
+ npx vaulter rotation list -e prd
918
+ exit 1
919
+ fi
920
+ echo "✓ All secrets are within rotation policy"
921
+ ```
922
+
923
+ ### Compliance Matrix
924
+
925
+ | Standard | Requirement | Vaulter Config |
926
+ |:---------|:------------|:---------------|
927
+ | PCI-DSS | 90 days | `interval_days: 90` |
928
+ | SOC2 | Regular rotation | `interval_days: 90` |
929
+ | HIPAA | Periodic | `interval_days: 180` |
930
+ | Internal | Custom | `interval_days: N` |
931
+
932
+ ---
933
+
521
934
  ## CI/CD
522
935
 
523
936
  ### GitHub Actions (Quick Start)
@@ -829,6 +1242,20 @@ encryption:
829
1242
  key_source:
830
1243
  - env: VAULTER_KEY
831
1244
  - file: .vaulter/.key
1245
+ # Secret rotation settings
1246
+ rotation:
1247
+ enabled: true
1248
+ interval_days: 90
1249
+ patterns:
1250
+ - "*_KEY"
1251
+ - "*_SECRET"
1252
+ - "*_TOKEN"
1253
+
1254
+ # Audit logging
1255
+ audit:
1256
+ enabled: true
1257
+ retention_days: 90
1258
+ mask_values: true
832
1259
 
833
1260
  environments:
834
1261
  - dev
@@ -1032,7 +1459,9 @@ npx @anthropic-ai/mcp-inspector vaulter mcp
1032
1459
  }
1033
1460
  ```
1034
1461
 
1035
- ### Available Tools (19)
1462
+ ### Available Tools (21)
1463
+
1464
+ #### Core Operations
1036
1465
 
1037
1466
  | Tool | Description |
1038
1467
  |:-----|:------------|
@@ -1040,33 +1469,51 @@ npx @anthropic-ai/mcp-inspector vaulter mcp
1040
1469
  | `vaulter_set` | Set a variable |
1041
1470
  | `vaulter_delete` | Delete a variable |
1042
1471
  | `vaulter_list` | List variables |
1043
- | `vaulter_export` | Export in various formats |
1472
+ | `vaulter_export` | Export in various formats (shell, env, json, yaml, tfvars, docker-args) |
1044
1473
  | `vaulter_sync` | Bidirectional sync |
1045
1474
  | `vaulter_pull` | Download from backend |
1046
1475
  | `vaulter_push` | Upload to backend |
1476
+
1477
+ #### Discovery & Analysis
1478
+
1479
+ | Tool | Description |
1480
+ |:-----|:------------|
1047
1481
  | `vaulter_compare` | Compare environments |
1048
1482
  | `vaulter_search` | Search by pattern |
1049
1483
  | `vaulter_scan` | Scan monorepo |
1050
1484
  | `vaulter_services` | List services |
1485
+ | `vaulter_init` | Initialize project |
1486
+
1487
+ #### Integrations
1488
+
1489
+ | Tool | Description |
1490
+ |:-----|:------------|
1051
1491
  | `vaulter_k8s_secret` | Generate K8s Secret |
1052
1492
  | `vaulter_k8s_configmap` | Generate K8s ConfigMap |
1053
- | `vaulter_init` | Initialize project |
1493
+ | `vaulter_helm_values` | Generate Helm values.yaml |
1494
+ | `vaulter_tf_vars` | Generate Terraform .tfvars |
1495
+
1496
+ #### Key Management
1497
+
1498
+ | Tool | Description |
1499
+ |:-----|:------------|
1054
1500
  | `vaulter_key_generate` | Generate encryption key (symmetric or asymmetric) |
1055
1501
  | `vaulter_key_list` | List all keys (project + global) |
1056
1502
  | `vaulter_key_show` | Show key details |
1057
1503
  | `vaulter_key_export` | Export key to encrypted bundle |
1058
- | `vaulter_key_import` | Import key from encrypted bundle |
1059
-
1060
- ### Resources (7)
1061
-
1062
- - `vaulter://config` — Project configuration
1063
- - `vaulter://services` Monorepo services
1064
- - `vaulter://keys` List all encryption keys (project + global)
1065
- - `vaulter://keys/<name>` Specific key details
1066
- - `vaulter://keys/global/<name>` Global key details
1067
- - `vaulter://project/env` Environment variables
1068
- - `vaulter://project/env/service` Service-specific vars
1069
- - `vaulter://compare/env1/env2` Environment diff
1504
+
1505
+ ### Resources (8)
1506
+
1507
+ | URI Pattern | Description |
1508
+ |:------------|:------------|
1509
+ | `vaulter://config` | Project configuration |
1510
+ | `vaulter://services` | Monorepo services |
1511
+ | `vaulter://keys` | List all encryption keys |
1512
+ | `vaulter://keys/<name>` | Specific key details |
1513
+ | `vaulter://keys/global/<name>` | Global key details |
1514
+ | `vaulter://project/env` | Environment variables |
1515
+ | `vaulter://project/env/service` | Service-specific vars |
1516
+ | `vaulter://compare/env1/env2` | Environment diff
1070
1517
 
1071
1518
  ### Prompts (5)
1072
1519
 
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAA;AAKrF,UAAU,YAAY;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAgDD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFvE;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDvE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDxE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC1E;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAA;AAKrF,UAAU,YAAY;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAgDD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEvE;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDvE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDxE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B1E;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnE"}
@@ -58,42 +58,19 @@ export async function runAuditList(context) {
58
58
  }
59
59
  const logger = await createAuditLogger(context);
60
60
  try {
61
- // Build query options from args
61
+ // Build query options from typed args
62
62
  const queryOptions = {
63
63
  project,
64
64
  environment: args['all-envs'] ? undefined : environment,
65
- service
65
+ service,
66
+ user: args.user,
67
+ operation: args.operation,
68
+ key: args.pattern, // --pattern maps to key filter in query
69
+ source: args.source,
70
+ since: args.since ? new Date(args.since) : undefined,
71
+ until: args.until ? new Date(args.until) : undefined,
72
+ limit: args.limit || 50
66
73
  };
67
- // Additional filters from CLI args
68
- const restArgs = args._ || [];
69
- for (let i = 0; i < restArgs.length; i++) {
70
- const arg = restArgs[i];
71
- if (arg === '--user' && restArgs[i + 1]) {
72
- queryOptions.user = restArgs[++i];
73
- }
74
- else if (arg === '--operation' && restArgs[i + 1]) {
75
- queryOptions.operation = restArgs[++i];
76
- }
77
- else if (arg === '--key' && restArgs[i + 1]) {
78
- queryOptions.key = restArgs[++i];
79
- }
80
- else if (arg === '--source' && restArgs[i + 1]) {
81
- queryOptions.source = restArgs[++i];
82
- }
83
- else if (arg === '--since' && restArgs[i + 1]) {
84
- queryOptions.since = new Date(restArgs[++i]);
85
- }
86
- else if (arg === '--until' && restArgs[i + 1]) {
87
- queryOptions.until = new Date(restArgs[++i]);
88
- }
89
- else if (arg === '--limit' && restArgs[i + 1]) {
90
- queryOptions.limit = parseInt(restArgs[++i], 10);
91
- }
92
- }
93
- // Default limit
94
- if (!queryOptions.limit) {
95
- queryOptions.limit = 50;
96
- }
97
74
  ui.verbose(`Querying audit log for ${project}/${service || '*'}/${environment}`, verbose);
98
75
  const entries = await ui.withSpinner('Fetching audit entries...', () => logger.query(queryOptions), { successText: 'Fetched' });
99
76
  if (jsonOutput) {
@@ -241,18 +218,12 @@ export async function runAuditStats(context) {
241
218
  */
242
219
  export async function runAuditCleanup(context) {
243
220
  const { args, config, verbose, jsonOutput } = context;
244
- // Get retention days from args or config
245
- const restArgs = args._ || [];
246
- let retentionDays = config?.audit?.retention_days || 90;
247
- for (let i = 0; i < restArgs.length; i++) {
248
- if (restArgs[i] === '--retention' && restArgs[i + 1]) {
249
- retentionDays = parseInt(restArgs[++i], 10);
250
- }
251
- }
221
+ // Get retention days from typed args or config
222
+ const retentionDays = args.retention || config?.audit?.retention_days || 90;
252
223
  const logger = await createAuditLogger(context);
253
224
  try {
254
225
  ui.verbose(`Cleaning up entries older than ${retentionDays} days`, verbose);
255
- const deleted = await ui.withSpinner(`Cleaning up entries older than ${retentionDays} days...`, () => logger.cleanup(), { successText: 'Done' });
226
+ const deleted = await ui.withSpinner(`Cleaning up entries older than ${retentionDays} days...`, () => logger.cleanup(retentionDays), { successText: 'Done' });
256
227
  if (jsonOutput) {
257
228
  ui.output(JSON.stringify({
258
229
  deleted,
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,UAAU,CAAA;AAY9B;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IACpD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;IAC/D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE5C,EAAE,CAAC,OAAO,CAAC,gCAAgC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC9F,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAEzC,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAmB;IAC1C,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAiB;IAC5C,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QACjC,EAAE,EAAE,KAAK,CAAC,SAAS;QACnB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/B,GAAG,EAAE,KAAK,CAAC,WAAW;QACtB,GAAG,EAAE,KAAK,CAAC,MAAM;KAClB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAE5E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACrD,EAAE,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,YAAY,GAA4B;YAC5C,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;YACvD,OAAO;SACR,CAAA;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,GAAG,KAAK,QAAQ,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxC,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,IAAI,GAAG,KAAK,aAAa,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpD,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACxC,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9C,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YAClC,CAAC;iBAAM,IAAI,GAAG,KAAK,UAAU,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjD,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChD,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,GAAG,EAAE,CAAA;QACzB,CAAC;QAED,EAAE,CAAC,OAAO,CAAC,0BAA0B,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,WAAW,EAAE,EAAE,OAAO,CAAC,CAAA;QAEzF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAClC,2BAA2B,EAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,YAAmB,CAAC,EACvC,EAAE,WAAW,EAAE,SAAS,EAAE,CAC3B,CAAA;QAED,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,OAAO;gBACP,OAAO;gBACP,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;gBACnD,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC;oBACJ,SAAS,EAAE,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBACjF,CAAC,CAAC;aACJ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;gBAChC,OAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAC1B;gBACE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;gBACpC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC/B,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3B,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC7B,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC7B,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;aAC9B,EACD,SAAS,CACV,CAAA;YAED,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAChB,EAAE,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,MAAM,UAAU,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,kBAAkB;IAEzC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,GAAG,KAAK;gBACR,SAAS,EAAE,KAAK,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;aAC7F,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;YACrC,EAAE,CAAC,GAAG,CAAC,iBAAiB,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC3D,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAA;YAC1C,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACpC,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACxC,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;YAC7C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YAC1C,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YACvC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxB,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,EAAE,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,EAAE,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC3D,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAqB;IACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAChC,2BAA2B,EAC3B,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,EACxC,EAAE,WAAW,EAAE,MAAM,EAAE,CACxB,CAAA;QAED,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,OAAO;gBACP,WAAW;gBACX,OAAO;gBACP,GAAG,KAAK;gBACR,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE;gBAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE;aAC9C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,0BAA0B,OAAO,IAAI,WAAW,EAAE,CAAC,CAAA;YAC1D,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YACtB,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAA;YAE9C,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3C,EAAE,CAAC,GAAG,CAAC,kBAAkB,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACzG,CAAC;YAED,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;YACzB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;YACvC,CAAC;YAED,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACpB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;YACzC,CAAC;YAED,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;YACxC,CAAC;YACD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACZ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAqB;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAErD,yCAAyC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,IAAI,EAAE,CAAA;IAEvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,kCAAkC,aAAa,OAAO,EAAE,OAAO,CAAC,CAAA;QAE3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAClC,kCAAkC,aAAa,UAAU,EACzD,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EACtB,EAAE,WAAW,EAAE,MAAM,EAAE,CACxB,CAAA;QAED,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,OAAO;gBACP,aAAa;aACd,CAAC,CAAC,CAAA;QACL,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,WAAW,OAAO,oBAAoB,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;IAE9C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAK;QAEP,KAAK,MAAM;YACT,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAK;QAEP,KAAK,OAAO;YACV,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;YAC5B,MAAK;QAEP,KAAK,SAAS;YACZ,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;YAC9B,MAAK;QAEP;YACE,EAAE,CAAC,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAA;YACnD,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YAClC,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACvC,EAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;YAC7C,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC1C,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -740,7 +740,6 @@ async function runKeyRotate(context) {
740
740
  const isAsymmetric = config?.encryption?.mode === 'asymmetric';
741
741
  const algorithm = config?.encryption?.asymmetric?.algorithm || 'rsa-4096';
742
742
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
743
- let newKeyPath;
744
743
  let oldKeyBackupPath;
745
744
  if (isAsymmetric) {
746
745
  // Asymmetric key rotation
@@ -750,7 +749,6 @@ async function runKeyRotate(context) {
750
749
  process.exit(1);
751
750
  }
752
751
  oldKeyBackupPath = path.join(keysDir, `${keyName}-backup-${timestamp}`);
753
- newKeyPath = privateKeyPath;
754
752
  if (!dryRun) {
755
753
  // Backup old keys
756
754
  fs.mkdirSync(oldKeyBackupPath, { recursive: true });
@@ -770,7 +768,6 @@ async function runKeyRotate(context) {
770
768
  // Symmetric key rotation - use the key file path directly
771
769
  const keyFilePath = resolveKeyPath(keyName, project, false);
772
770
  oldKeyBackupPath = path.join(keysDir, `${keyName}-backup-${timestamp}.key`);
773
- newKeyPath = keyFilePath;
774
771
  if (!dryRun) {
775
772
  // Backup old key if exists
776
773
  if (fs.existsSync(keyFilePath)) {