vaulter 1.0.12 → 1.0.15

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.
Files changed (46) hide show
  1. package/README.md +131 -1
  2. package/dist/cli/index.js +68 -2
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/tui/audit-viewer.d.ts +15 -0
  5. package/dist/cli/tui/audit-viewer.d.ts.map +1 -0
  6. package/dist/cli/tui/audit-viewer.js +348 -0
  7. package/dist/cli/tui/audit-viewer.js.map +1 -0
  8. package/dist/cli/tui/dashboard.d.ts +15 -0
  9. package/dist/cli/tui/dashboard.d.ts.map +1 -0
  10. package/dist/cli/tui/dashboard.js +212 -0
  11. package/dist/cli/tui/dashboard.js.map +1 -0
  12. package/dist/cli/tui/index.d.ts +10 -0
  13. package/dist/cli/tui/index.d.ts.map +1 -0
  14. package/dist/cli/tui/index.js +10 -0
  15. package/dist/cli/tui/index.js.map +1 -0
  16. package/dist/cli/tui/key-manager.d.ts +12 -0
  17. package/dist/cli/tui/key-manager.d.ts.map +1 -0
  18. package/dist/cli/tui/key-manager.js +261 -0
  19. package/dist/cli/tui/key-manager.js.map +1 -0
  20. package/dist/cli/tui/launcher.d.ts +16 -0
  21. package/dist/cli/tui/launcher.d.ts.map +1 -0
  22. package/dist/cli/tui/launcher.js +200 -0
  23. package/dist/cli/tui/launcher.js.map +1 -0
  24. package/dist/client.d.ts.map +1 -1
  25. package/dist/client.js +2 -1
  26. package/dist/client.js.map +1 -1
  27. package/dist/lib/config-loader.d.ts +19 -1
  28. package/dist/lib/config-loader.d.ts.map +1 -1
  29. package/dist/lib/config-loader.js +37 -1
  30. package/dist/lib/config-loader.js.map +1 -1
  31. package/dist/mcp/resources.d.ts +2 -1
  32. package/dist/mcp/resources.d.ts.map +1 -1
  33. package/dist/mcp/resources.js +187 -1
  34. package/dist/mcp/resources.js.map +1 -1
  35. package/dist/mcp/server.d.ts +5 -2
  36. package/dist/mcp/server.d.ts.map +1 -1
  37. package/dist/mcp/server.js +13 -3
  38. package/dist/mcp/server.js.map +1 -1
  39. package/dist/mcp/tools.d.ts +66 -1
  40. package/dist/mcp/tools.d.ts.map +1 -1
  41. package/dist/mcp/tools.js +259 -9
  42. package/dist/mcp/tools.js.map +1 -1
  43. package/dist/types.d.ts +27 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -1497,6 +1497,135 @@ npx @anthropic-ai/mcp-inspector vaulter mcp
1497
1497
  }
1498
1498
  ```
1499
1499
 
1500
+ ### MCP Configuration
1501
+
1502
+ The MCP server uses a priority chain to resolve defaults:
1503
+
1504
+ 1. **Tool arguments** (explicit in each call)
1505
+ 2. **Project config** (`.vaulter/config.yaml`)
1506
+ 3. **Project MCP config** (`.vaulter/config.yaml` → `mcp:` section)
1507
+ 4. **Global MCP config** (`~/.vaulter/config.yaml` → `mcp:` section)
1508
+ 5. **Hardcoded defaults**
1509
+
1510
+ #### Project MCP Defaults
1511
+
1512
+ Add an `mcp:` section to your project's `.vaulter/config.yaml`:
1513
+
1514
+ ```yaml
1515
+ # .vaulter/config.yaml
1516
+ version: "1"
1517
+ project: my-project
1518
+
1519
+ backend:
1520
+ url: s3://bucket/envs?region=us-east-1
1521
+
1522
+ # MCP defaults (used when MCP server runs in this project)
1523
+ mcp:
1524
+ default_backend: s3://bucket/envs?region=us-east-1
1525
+ default_project: my-project
1526
+ default_environment: dev
1527
+ default_key: master # Key name for encryption
1528
+ ```
1529
+
1530
+ #### Global MCP Defaults
1531
+
1532
+ For MCP clients that don't support `cwd`, create `~/.vaulter/config.yaml`:
1533
+
1534
+ ```yaml
1535
+ # ~/.vaulter/config.yaml
1536
+ mcp:
1537
+ default_backend: s3://bucket/envs?region=us-east-1
1538
+ default_project: my-project
1539
+ default_environment: dev
1540
+ default_key: master
1541
+ ```
1542
+
1543
+ #### Working Directory
1544
+
1545
+ MCP clients need to know which project to use. Options:
1546
+
1547
+ ```json
1548
+ {
1549
+ "mcpServers": {
1550
+ "vaulter": {
1551
+ "command": "vaulter",
1552
+ "args": ["mcp", "--cwd", "/path/to/project"]
1553
+ }
1554
+ }
1555
+ }
1556
+ ```
1557
+
1558
+ Or use the `VAULTER_CWD` environment variable:
1559
+
1560
+ ```json
1561
+ {
1562
+ "mcpServers": {
1563
+ "vaulter": {
1564
+ "command": "vaulter",
1565
+ "args": ["mcp"],
1566
+ "env": {
1567
+ "VAULTER_CWD": "/path/to/project"
1568
+ }
1569
+ }
1570
+ }
1571
+ }
1572
+ ```
1573
+
1574
+ ### Debugging MCP Configuration
1575
+
1576
+ With multiple config levels (project, global, CLI), it can be confusing to know WHERE each setting comes from. Use the `vaulter://mcp-config` resource to see exactly which config file provided each value:
1577
+
1578
+ ```bash
1579
+ # In MCP client, read the resource:
1580
+ vaulter://mcp-config
1581
+ ```
1582
+
1583
+ **Example output:**
1584
+ ```json
1585
+ {
1586
+ "summary": "MCP Configuration Sources - shows WHERE each setting was loaded from",
1587
+ "settings": {
1588
+ "backend": {
1589
+ "value": "s3://my-bucket/envs",
1590
+ "source": "project",
1591
+ "sourceDescription": "Project config (.vaulter/config.yaml)"
1592
+ },
1593
+ "project": {
1594
+ "value": "my-project",
1595
+ "source": "project.mcp",
1596
+ "sourceDescription": "Project MCP defaults (.vaulter/config.yaml → mcp section)"
1597
+ },
1598
+ "environment": {
1599
+ "value": "dev",
1600
+ "source": "global.mcp",
1601
+ "sourceDescription": "Global MCP defaults (~/.vaulter/config.yaml → mcp section)"
1602
+ }
1603
+ },
1604
+ "configFiles": {
1605
+ "projectConfig": "/home/user/project/.vaulter/config.yaml",
1606
+ "globalConfig": "/home/user/.vaulter/config.yaml"
1607
+ }
1608
+ }
1609
+ ```
1610
+
1611
+ **Config Sources:**
1612
+
1613
+ | Source | Description |
1614
+ |:-------|:------------|
1615
+ | `cli` | CLI flag (`--backend`, `--project`, etc.) |
1616
+ | `project` | Project config (`.vaulter/config.yaml`) |
1617
+ | `project.mcp` | Project MCP defaults (`.vaulter/config.yaml` → `mcp:` section) |
1618
+ | `global.mcp` | Global MCP defaults (`~/.vaulter/config.yaml` → `mcp:` section) |
1619
+ | `default` | Built-in default value |
1620
+
1621
+ **Verbose Startup:**
1622
+
1623
+ For CLI debugging, use the `--verbose` flag to see config sources on startup:
1624
+
1625
+ ```bash
1626
+ vaulter mcp --verbose
1627
+ ```
1628
+
1500
1629
  ### Available Tools (22)
1501
1630
 
1502
1631
  #### Core Operations
@@ -1541,11 +1670,12 @@ npx @anthropic-ai/mcp-inspector vaulter mcp
1541
1670
  | `vaulter_key_export` | Export key to encrypted bundle |
1542
1671
  | `vaulter_key_import` | Import key from encrypted bundle |
1543
1672
 
1544
- ### Resources (9)
1673
+ ### Resources (10)
1545
1674
 
1546
1675
  | URI Pattern | Description |
1547
1676
  |:------------|:------------|
1548
1677
  | `vaulter://instructions` | ⚠️ **CRITICAL**: How vaulter stores data (read first!) |
1678
+ | `vaulter://mcp-config` | 🔍 Shows WHERE each MCP setting comes from |
1549
1679
  | `vaulter://config` | Project configuration |
1550
1680
  | `vaulter://services` | Monorepo services |
1551
1681
  | `vaulter://keys` | List all encryption keys |
package/dist/cli/index.js CHANGED
@@ -327,7 +327,21 @@ const cliSchema = {
327
327
  ]
328
328
  },
329
329
  mcp: {
330
- description: 'Start MCP server for Claude integration'
330
+ description: 'Start MCP server for Claude integration',
331
+ options: {
332
+ cwd: {
333
+ type: 'string',
334
+ description: 'Working directory (where to look for .vaulter/config.yaml)',
335
+ aliases: ['C']
336
+ }
337
+ }
338
+ },
339
+ tui: {
340
+ description: 'Launch interactive TUI (menu, dashboard, audit, keys)',
341
+ aliases: ['ui'],
342
+ positional: [
343
+ { name: 'screen', required: false, description: 'Screen to open: menu, dashboard, audit, keys' }
344
+ ]
331
345
  },
332
346
  config: {
333
347
  description: 'Manage configuration'
@@ -637,7 +651,59 @@ async function main() {
637
651
  process.exit(1);
638
652
  }
639
653
  const { startServer } = await import('../mcp/server.js');
640
- await startServer();
654
+ // Pass CLI options to MCP server (e.g., --backend, --cwd flags)
655
+ await startServer({
656
+ backend: opts.backend,
657
+ cwd: opts.cwd,
658
+ verbose: opts.verbose
659
+ });
660
+ break;
661
+ case 'tui':
662
+ case 'ui':
663
+ // TUI - dynamically loaded (not available in standalone binaries)
664
+ if (IS_STANDALONE) {
665
+ console.error('Error: TUI is not available in standalone binaries');
666
+ console.error('Install via npm/pnpm to use TUI: pnpm add -g vaulter');
667
+ process.exit(1);
668
+ }
669
+ const tuiScreen = context.args._[1] || 'menu';
670
+ switch (tuiScreen) {
671
+ case 'dashboard':
672
+ case 'secrets':
673
+ const { startDashboard } = await import('./tui/index.js');
674
+ await startDashboard({
675
+ environment: context.environment,
676
+ service: context.service,
677
+ verbose: context.verbose
678
+ });
679
+ break;
680
+ case 'audit':
681
+ case 'logs':
682
+ const { startAuditViewer } = await import('./tui/index.js');
683
+ await startAuditViewer({
684
+ environment: context.environment,
685
+ service: context.service,
686
+ verbose: context.verbose
687
+ });
688
+ break;
689
+ case 'keys':
690
+ case 'key':
691
+ const { startKeyManager } = await import('./tui/index.js');
692
+ await startKeyManager({
693
+ verbose: context.verbose
694
+ });
695
+ break;
696
+ case 'menu':
697
+ default:
698
+ const { startLauncher } = await import('./tui/index.js');
699
+ await startLauncher({
700
+ environment: context.environment,
701
+ service: context.service,
702
+ verbose: context.verbose,
703
+ screen: tuiScreen !== 'menu' ? tuiScreen : undefined
704
+ });
705
+ break;
706
+ }
641
707
  break;
642
708
  case 'config':
643
709
  console.log('config command not yet implemented');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Vaulter TUI Audit Log Viewer
3
+ *
4
+ * Interactive terminal interface for viewing and filtering audit logs
5
+ */
6
+ import type { Environment } from '../../types.js';
7
+ /**
8
+ * Start the Audit Viewer TUI
9
+ */
10
+ export declare function startAuditViewer(options: {
11
+ environment?: Environment;
12
+ service?: string;
13
+ verbose?: boolean;
14
+ }): Promise<void>;
15
+ //# sourceMappingURL=audit-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-viewer.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/audit-viewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqBH,OAAO,KAAK,EAAiB,WAAW,EAA2C,MAAM,gBAAgB,CAAA;AAmdzG;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB"}
@@ -0,0 +1,348 @@
1
+ /**
2
+ * Vaulter TUI Audit Log Viewer
3
+ *
4
+ * Interactive terminal interface for viewing and filtering audit logs
5
+ */
6
+ import { render, Box, Text, Spacer, AppShell, StatusBar, Table, Badge, Spinner, Select, TextInput, useState, useEffect, useHotkeys, useApp, setTheme, tokyoNightTheme, } from 'tuiuiu.js';
7
+ import { loadConfig, getProjectName } from '../../lib/config-loader.js';
8
+ import { AuditLogger } from '../../lib/audit.js';
9
+ import { resolveBackendUrls, loadEncryptionKey } from '../../index.js';
10
+ const OPERATIONS = [
11
+ { value: 'all', label: 'All Operations' },
12
+ { value: 'set', label: 'Set' },
13
+ { value: 'delete', label: 'Delete' },
14
+ { value: 'sync', label: 'Sync' },
15
+ { value: 'push', label: 'Push' },
16
+ { value: 'rotate', label: 'Rotate' },
17
+ { value: 'deleteAll', label: 'Delete All' },
18
+ ];
19
+ const SOURCES = [
20
+ { value: 'all', label: 'All Sources' },
21
+ { value: 'cli', label: 'CLI' },
22
+ { value: 'mcp', label: 'MCP' },
23
+ { value: 'api', label: 'API' },
24
+ { value: 'loader', label: 'Loader' },
25
+ ];
26
+ /**
27
+ * Header component with audit info
28
+ */
29
+ function AuditHeader(props) {
30
+ return Box({ flexDirection: 'row', paddingX: 1, alignItems: 'center' }, Text({ color: 'primary', bold: true }, '◆ VAULTER AUDIT'), Text({ color: 'muted' }, ' │ '), Text({ bold: true }, props.project), Spacer({}), Badge({ label: `${props.count} entries`, color: 'info' }), Text({ color: 'muted' }, ' '), Badge({ label: props.environment.toUpperCase(), color: getEnvColor(props.environment) }));
31
+ }
32
+ /**
33
+ * Get color for environment badge
34
+ */
35
+ function getEnvColor(env) {
36
+ switch (env.toLowerCase()) {
37
+ case 'prd':
38
+ case 'prod':
39
+ case 'production':
40
+ return 'error';
41
+ case 'stg':
42
+ case 'staging':
43
+ return 'warning';
44
+ case 'dev':
45
+ case 'development':
46
+ return 'success';
47
+ default:
48
+ return 'info';
49
+ }
50
+ }
51
+ /**
52
+ * Get color for operation badge
53
+ */
54
+ function getOpColor(op) {
55
+ switch (op) {
56
+ case 'set':
57
+ return 'success';
58
+ case 'delete':
59
+ case 'deleteAll':
60
+ return 'error';
61
+ case 'sync':
62
+ case 'push':
63
+ return 'info';
64
+ case 'rotate':
65
+ return 'warning';
66
+ default:
67
+ return 'info';
68
+ }
69
+ }
70
+ /**
71
+ * Format timestamp for display
72
+ */
73
+ function formatTimestamp(date) {
74
+ const d = typeof date === 'string' ? new Date(date) : date;
75
+ if (isNaN(d.getTime()))
76
+ return '-';
77
+ const now = new Date();
78
+ const diffMs = now.getTime() - d.getTime();
79
+ const diffMins = Math.floor(diffMs / (1000 * 60));
80
+ const diffHours = Math.floor(diffMs / (1000 * 60 * 60));
81
+ const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
82
+ if (diffMins < 1)
83
+ return 'just now';
84
+ if (diffMins < 60)
85
+ return `${diffMins}m ago`;
86
+ if (diffHours < 24)
87
+ return `${diffHours}h ago`;
88
+ if (diffDays < 7)
89
+ return `${diffDays}d ago`;
90
+ return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
91
+ }
92
+ /**
93
+ * Entry to row conversion
94
+ */
95
+ function entryToRow(entry) {
96
+ return {
97
+ time: formatTimestamp(entry.timestamp),
98
+ user: entry.user.length > 12 ? entry.user.substring(0, 10) + '..' : entry.user,
99
+ op: entry.operation,
100
+ key: entry.key.length > 25 ? entry.key.substring(0, 23) + '..' : entry.key,
101
+ env: entry.environment,
102
+ src: entry.source,
103
+ id: entry.id
104
+ };
105
+ }
106
+ /**
107
+ * Detail Panel for selected entry
108
+ */
109
+ function DetailPanel(props) {
110
+ if (!props.entry) {
111
+ return Box({ padding: 1, borderStyle: 'round', borderColor: 'border' }, Text({ color: 'muted', dim: true }, 'Select an entry to view details'));
112
+ }
113
+ const e = props.entry;
114
+ return Box({ flexDirection: 'column', padding: 1, borderStyle: 'round', borderColor: 'border', gap: 0 }, Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'ID:'), Text({ color: 'primary' }, e.id)), Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'Time:'), Text({}, e.timestamp instanceof Date ? e.timestamp.toISOString() : String(e.timestamp))), Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'User:'), Text({ bold: true }, e.user)), Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'Operation:'), Badge({ label: e.operation.toUpperCase(), color: getOpColor(e.operation) })), Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'Key:'), Text({ color: 'warning' }, e.key)), e.previousValue ? Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'Previous:'), Text({ color: 'error', dim: true }, e.previousValue)) : null, e.newValue ? Box({ flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'New:'), Text({ color: 'success' }, e.newValue)) : null);
115
+ }
116
+ /**
117
+ * Filter Bar component
118
+ */
119
+ function FilterBar(props) {
120
+ if (props.activeFilter === 'none') {
121
+ return Box({ flexDirection: 'row', paddingX: 1, gap: 2 }, Text({ color: 'muted', dim: true }, 'Filters:'), props.operation !== 'all'
122
+ ? Badge({ label: `op:${props.operation}`, color: 'info' })
123
+ : null, props.source !== 'all'
124
+ ? Badge({ label: `src:${props.source}`, color: 'info' })
125
+ : null, props.searchQuery
126
+ ? Badge({ label: `"${props.searchQuery}"`, color: 'warning' })
127
+ : null, props.operation === 'all' && props.source === 'all' && !props.searchQuery
128
+ ? Text({ color: 'muted', dim: true }, 'none')
129
+ : null);
130
+ }
131
+ if (props.activeFilter === 'operation') {
132
+ return Box({ paddingX: 1 }, Select({
133
+ items: OPERATIONS,
134
+ initialValue: props.operation,
135
+ onChange: (val) => {
136
+ props.onOperationChange(val);
137
+ props.onFilterClose();
138
+ },
139
+ onCancel: props.onFilterClose,
140
+ maxVisible: 7
141
+ }));
142
+ }
143
+ if (props.activeFilter === 'source') {
144
+ return Box({ paddingX: 1 }, Select({
145
+ items: SOURCES,
146
+ initialValue: props.source,
147
+ onChange: (val) => {
148
+ props.onSourceChange(val);
149
+ props.onFilterClose();
150
+ },
151
+ onCancel: props.onFilterClose,
152
+ maxVisible: 5
153
+ }));
154
+ }
155
+ if (props.activeFilter === 'search') {
156
+ return Box({ paddingX: 1, flexDirection: 'row', gap: 1 }, Text({ color: 'muted' }, 'Search key:'), TextInput({
157
+ initialValue: props.searchQuery,
158
+ placeholder: 'Type to filter by key...',
159
+ width: 30,
160
+ onSubmit: (val) => {
161
+ props.onSearchChange(val);
162
+ props.onFilterClose();
163
+ }
164
+ }));
165
+ }
166
+ return null;
167
+ }
168
+ /**
169
+ * Main Audit Viewer component
170
+ */
171
+ function AuditViewer(props) {
172
+ const app = useApp();
173
+ const [loading, setLoading] = useState(true);
174
+ const [entries, setEntries] = useState([]);
175
+ const [rows, setRows] = useState([]);
176
+ const [error, setError] = useState(null);
177
+ const [selectedIndex, setSelectedIndex] = useState(0);
178
+ const [logger, setLogger] = useState(null);
179
+ // Filters
180
+ const [activeFilter, setActiveFilter] = useState('none');
181
+ const [opFilter, setOpFilter] = useState('all');
182
+ const [srcFilter, setSrcFilter] = useState('all');
183
+ const [searchQuery, setSearchQuery] = useState('');
184
+ const project = getProjectName(props.config);
185
+ const isFilterActive = activeFilter() !== 'none';
186
+ // Register hotkeys (disabled when filter is open)
187
+ useHotkeys('q', () => app.exit(), { description: 'Quit' });
188
+ useHotkeys('r', () => { if (!isFilterActive)
189
+ loadEntries(); }, { description: 'Refresh' });
190
+ useHotkeys('o', () => { if (!isFilterActive)
191
+ setActiveFilter('operation'); }, { description: 'Filter operation' });
192
+ useHotkeys('s', () => { if (!isFilterActive)
193
+ setActiveFilter('source'); }, { description: 'Filter source' });
194
+ useHotkeys('/', () => { if (!isFilterActive)
195
+ setActiveFilter('search'); }, { description: 'Search' });
196
+ useHotkeys('c', () => {
197
+ if (!isFilterActive) {
198
+ setOpFilter('all');
199
+ setSrcFilter('all');
200
+ setSearchQuery('');
201
+ }
202
+ }, { description: 'Clear filters' });
203
+ useHotkeys('escape', () => setActiveFilter('none'), { description: 'Close filter' });
204
+ // Navigation
205
+ useHotkeys('j', () => {
206
+ if (!isFilterActive)
207
+ setSelectedIndex(i => Math.min(i + 1, rows().length - 1));
208
+ }, { description: 'Down' });
209
+ useHotkeys('k', () => {
210
+ if (!isFilterActive)
211
+ setSelectedIndex(i => Math.max(i - 1, 0));
212
+ }, { description: 'Up' });
213
+ useHotkeys('down', () => {
214
+ if (!isFilterActive)
215
+ setSelectedIndex(i => Math.min(i + 1, rows().length - 1));
216
+ }, { description: 'Down' });
217
+ useHotkeys('up', () => {
218
+ if (!isFilterActive)
219
+ setSelectedIndex(i => Math.max(i - 1, 0));
220
+ }, { description: 'Up' });
221
+ // Initialize logger
222
+ async function initLogger() {
223
+ const urls = resolveBackendUrls(props.config);
224
+ if (urls.length === 0) {
225
+ throw new Error('No backend URL configured');
226
+ }
227
+ const passphrase = await loadEncryptionKey(props.config) || undefined;
228
+ const newLogger = new AuditLogger(props.config.audit);
229
+ await newLogger.connect(urls[0], passphrase);
230
+ setLogger(newLogger);
231
+ return newLogger;
232
+ }
233
+ // Load entries
234
+ async function loadEntries() {
235
+ setLoading(true);
236
+ setError(null);
237
+ try {
238
+ let lg = logger();
239
+ if (!lg) {
240
+ lg = await initLogger();
241
+ }
242
+ const queryOpts = {
243
+ project,
244
+ environment: props.environment,
245
+ service: props.service,
246
+ limit: 100
247
+ };
248
+ if (opFilter() !== 'all') {
249
+ queryOpts.operation = opFilter();
250
+ }
251
+ if (srcFilter() !== 'all') {
252
+ queryOpts.source = srcFilter();
253
+ }
254
+ if (searchQuery()) {
255
+ queryOpts.key = searchQuery();
256
+ }
257
+ const result = await lg.query(queryOpts);
258
+ setEntries(result);
259
+ setRows(result.map(entryToRow));
260
+ setSelectedIndex(0);
261
+ }
262
+ catch (err) {
263
+ setError(err.message);
264
+ }
265
+ finally {
266
+ setLoading(false);
267
+ }
268
+ }
269
+ // Reload when filters change
270
+ useEffect(() => {
271
+ loadEntries();
272
+ });
273
+ // Get selected entry
274
+ const selectedEntry = entries()[selectedIndex()] || null;
275
+ // Status bar content
276
+ const statusBar = StatusBar({
277
+ left: Text({ color: 'muted' }, `${rows().length} entries`),
278
+ center: error() ? Text({ color: 'error' }, error()) : undefined,
279
+ right: Text({ color: 'muted', dim: true }, 'q:quit r:refresh o:op s:src /:search c:clear')
280
+ });
281
+ // Table columns
282
+ const columns = [
283
+ { key: 'time', header: 'Time', width: 10 },
284
+ { key: 'user', header: 'User', width: 12 },
285
+ { key: 'op', header: 'Op', width: 8 },
286
+ { key: 'key', header: 'Key' },
287
+ { key: 'env', header: 'Env', width: 5 },
288
+ { key: 'src', header: 'Src', width: 6 }
289
+ ];
290
+ // Main content
291
+ const content = loading()
292
+ ? Box({ justifyContent: 'center', alignItems: 'center', height: '100%', flexDirection: 'row' }, Spinner({ style: 'dots', color: 'primary' }), Text({ color: 'muted' }, ' Loading audit log...'))
293
+ : error()
294
+ ? Box({ justifyContent: 'center', alignItems: 'center', height: '100%', flexDirection: 'column', gap: 1 }, Text({ color: 'error', bold: true }, '✗ Error'), Text({ color: 'muted' }, error()))
295
+ : rows().length === 0
296
+ ? Box({ justifyContent: 'center', alignItems: 'center', height: '100%', flexDirection: 'column', gap: 1 }, Text({ color: 'muted' }, 'No audit entries found'), Text({ color: 'muted', dim: true }, 'Try changing filters or running some commands first'))
297
+ : Box({ flexDirection: 'column', gap: 1, height: '100%' }, FilterBar({
298
+ activeFilter: activeFilter(),
299
+ operation: opFilter(),
300
+ source: srcFilter(),
301
+ searchQuery: searchQuery(),
302
+ onOperationChange: setOpFilter,
303
+ onSourceChange: setSrcFilter,
304
+ onSearchChange: setSearchQuery,
305
+ onFilterClose: () => setActiveFilter('none')
306
+ }), Box({ flexDirection: 'row', gap: 1, flexGrow: 1 }, Box({ flexGrow: 1 }, Table({
307
+ columns,
308
+ data: rows(),
309
+ borderStyle: 'round'
310
+ })), Box({ width: 40 }, DetailPanel({ entry: selectedEntry }))));
311
+ return AppShell({
312
+ header: AuditHeader({
313
+ project,
314
+ environment: props.environment,
315
+ count: rows().length
316
+ }),
317
+ headerHeight: 1,
318
+ footer: statusBar,
319
+ footerHeight: 1,
320
+ dividers: true,
321
+ dividerStyle: 'line',
322
+ dividerColor: 'border',
323
+ padding: 0,
324
+ children: Box({ padding: 1 }, content)
325
+ });
326
+ }
327
+ /**
328
+ * Start the Audit Viewer TUI
329
+ */
330
+ export async function startAuditViewer(options) {
331
+ // Load config
332
+ const config = loadConfig();
333
+ if (!config || !config.project) {
334
+ throw new Error('No .vaulter/config.yaml found. Run "vaulter init" first.');
335
+ }
336
+ // Set theme
337
+ setTheme(tokyoNightTheme);
338
+ // Determine environment
339
+ const environment = options.environment || config.default_environment || 'dev';
340
+ // Render the viewer
341
+ render(() => AuditViewer({
342
+ config,
343
+ environment,
344
+ service: options.service,
345
+ verbose: options.verbose
346
+ }));
347
+ }
348
+ //# sourceMappingURL=audit-viewer.js.map