@zincapp/znvault-cli 2.1.0 → 2.2.0

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 (176) hide show
  1. package/README.md +84 -0
  2. package/dist/commands/agent.d.ts +1 -1
  3. package/dist/commands/agent.d.ts.map +1 -1
  4. package/dist/commands/agent.js +71 -71
  5. package/dist/commands/agent.js.map +1 -1
  6. package/dist/commands/apikey.d.ts +1 -1
  7. package/dist/commands/apikey.d.ts.map +1 -1
  8. package/dist/commands/apikey.js +47 -85
  9. package/dist/commands/apikey.js.map +1 -1
  10. package/dist/commands/audit.d.ts +1 -1
  11. package/dist/commands/audit.d.ts.map +1 -1
  12. package/dist/commands/audit.js +2 -2
  13. package/dist/commands/audit.js.map +1 -1
  14. package/dist/commands/auth.d.ts +1 -1
  15. package/dist/commands/auth.d.ts.map +1 -1
  16. package/dist/commands/auth.js +18 -14
  17. package/dist/commands/auth.js.map +1 -1
  18. package/dist/commands/backup.d.ts +3 -0
  19. package/dist/commands/backup.d.ts.map +1 -0
  20. package/dist/commands/backup.js +393 -0
  21. package/dist/commands/backup.js.map +1 -0
  22. package/dist/commands/cert.d.ts +1 -1
  23. package/dist/commands/cert.d.ts.map +1 -1
  24. package/dist/commands/cert.js +2 -2
  25. package/dist/commands/cert.js.map +1 -1
  26. package/dist/commands/cluster.d.ts +1 -1
  27. package/dist/commands/cluster.d.ts.map +1 -1
  28. package/dist/commands/cluster.js +2 -2
  29. package/dist/commands/cluster.js.map +1 -1
  30. package/dist/commands/emergency.d.ts +1 -1
  31. package/dist/commands/emergency.d.ts.map +1 -1
  32. package/dist/commands/emergency.js +19 -18
  33. package/dist/commands/emergency.js.map +1 -1
  34. package/dist/commands/health.d.ts +1 -1
  35. package/dist/commands/health.d.ts.map +1 -1
  36. package/dist/commands/health.js +75 -77
  37. package/dist/commands/health.js.map +1 -1
  38. package/dist/commands/kms.d.ts +3 -0
  39. package/dist/commands/kms.d.ts.map +1 -0
  40. package/dist/commands/kms.js +536 -0
  41. package/dist/commands/kms.js.map +1 -0
  42. package/dist/commands/lockdown.d.ts +1 -1
  43. package/dist/commands/lockdown.d.ts.map +1 -1
  44. package/dist/commands/lockdown.js +6 -6
  45. package/dist/commands/lockdown.js.map +1 -1
  46. package/dist/commands/notification.d.ts +3 -0
  47. package/dist/commands/notification.d.ts.map +1 -0
  48. package/dist/commands/notification.js +394 -0
  49. package/dist/commands/notification.js.map +1 -0
  50. package/dist/commands/permissions.d.ts +1 -1
  51. package/dist/commands/permissions.d.ts.map +1 -1
  52. package/dist/commands/permissions.js +7 -7
  53. package/dist/commands/permissions.js.map +1 -1
  54. package/dist/commands/policy.d.ts +1 -1
  55. package/dist/commands/policy.d.ts.map +1 -1
  56. package/dist/commands/policy.js +14 -14
  57. package/dist/commands/policy.js.map +1 -1
  58. package/dist/commands/role.d.ts +3 -0
  59. package/dist/commands/role.d.ts.map +1 -0
  60. package/dist/commands/role.js +400 -0
  61. package/dist/commands/role.js.map +1 -0
  62. package/dist/commands/secret.d.ts +3 -0
  63. package/dist/commands/secret.d.ts.map +1 -0
  64. package/dist/commands/secret.js +694 -0
  65. package/dist/commands/secret.js.map +1 -0
  66. package/dist/commands/self-update.d.ts +8 -0
  67. package/dist/commands/self-update.d.ts.map +1 -0
  68. package/dist/commands/self-update.js +114 -0
  69. package/dist/commands/self-update.js.map +1 -0
  70. package/dist/commands/superadmin.d.ts +1 -1
  71. package/dist/commands/superadmin.d.ts.map +1 -1
  72. package/dist/commands/superadmin.js +3 -3
  73. package/dist/commands/superadmin.js.map +1 -1
  74. package/dist/commands/tenant.d.ts +1 -1
  75. package/dist/commands/tenant.d.ts.map +1 -1
  76. package/dist/commands/tenant.js +16 -18
  77. package/dist/commands/tenant.js.map +1 -1
  78. package/dist/commands/tui.d.ts +3 -0
  79. package/dist/commands/tui.d.ts.map +1 -0
  80. package/dist/commands/tui.js +66 -0
  81. package/dist/commands/tui.js.map +1 -0
  82. package/dist/commands/update.d.ts +1 -1
  83. package/dist/commands/update.d.ts.map +1 -1
  84. package/dist/commands/update.js +8 -8
  85. package/dist/commands/update.js.map +1 -1
  86. package/dist/commands/user.d.ts +1 -1
  87. package/dist/commands/user.d.ts.map +1 -1
  88. package/dist/commands/user.js +7 -7
  89. package/dist/commands/user.js.map +1 -1
  90. package/dist/index.js +33 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/lib/cli-update.d.ts +43 -0
  93. package/dist/lib/cli-update.d.ts.map +1 -0
  94. package/dist/lib/cli-update.js +257 -0
  95. package/dist/lib/cli-update.js.map +1 -0
  96. package/dist/lib/client.d.ts +48 -61
  97. package/dist/lib/client.d.ts.map +1 -1
  98. package/dist/lib/client.js +57 -30
  99. package/dist/lib/client.js.map +1 -1
  100. package/dist/lib/config.d.ts.map +1 -1
  101. package/dist/lib/config.js +42 -37
  102. package/dist/lib/config.js.map +1 -1
  103. package/dist/lib/db.d.ts.map +1 -1
  104. package/dist/lib/db.js +23 -23
  105. package/dist/lib/db.js.map +1 -1
  106. package/dist/lib/local.d.ts.map +1 -1
  107. package/dist/lib/local.js +9 -9
  108. package/dist/lib/local.js.map +1 -1
  109. package/dist/lib/mode.d.ts +1 -1
  110. package/dist/lib/mode.d.ts.map +1 -1
  111. package/dist/lib/mode.js +4 -7
  112. package/dist/lib/mode.js.map +1 -1
  113. package/dist/lib/output-mode.d.ts +31 -0
  114. package/dist/lib/output-mode.d.ts.map +1 -0
  115. package/dist/lib/output-mode.js +81 -0
  116. package/dist/lib/output-mode.js.map +1 -0
  117. package/dist/lib/output.d.ts +55 -5
  118. package/dist/lib/output.d.ts.map +1 -1
  119. package/dist/lib/output.js +279 -30
  120. package/dist/lib/output.js.map +1 -1
  121. package/dist/lib/prompts.d.ts +2 -2
  122. package/dist/lib/prompts.d.ts.map +1 -1
  123. package/dist/lib/prompts.js.map +1 -1
  124. package/dist/lib/visual.d.ts +71 -0
  125. package/dist/lib/visual.d.ts.map +1 -0
  126. package/dist/lib/visual.js +266 -0
  127. package/dist/lib/visual.js.map +1 -0
  128. package/dist/services/auto-update-daemon.d.ts.map +1 -1
  129. package/dist/services/auto-update-daemon.js +39 -19
  130. package/dist/services/auto-update-daemon.js.map +1 -1
  131. package/dist/services/signature-verifier.d.ts +0 -1
  132. package/dist/services/signature-verifier.d.ts.map +1 -1
  133. package/dist/services/signature-verifier.js +4 -8
  134. package/dist/services/signature-verifier.js.map +1 -1
  135. package/dist/services/update-checker.d.ts.map +1 -1
  136. package/dist/services/update-checker.js +3 -3
  137. package/dist/services/update-checker.js.map +1 -1
  138. package/dist/services/update-installer.d.ts.map +1 -1
  139. package/dist/services/update-installer.js +5 -5
  140. package/dist/services/update-installer.js.map +1 -1
  141. package/dist/tui/App.d.ts +9 -0
  142. package/dist/tui/App.d.ts.map +1 -0
  143. package/dist/tui/App.js +63 -0
  144. package/dist/tui/App.js.map +1 -0
  145. package/dist/tui/components/Header.d.ts +9 -0
  146. package/dist/tui/components/Header.d.ts.map +1 -0
  147. package/dist/tui/components/Header.js +9 -0
  148. package/dist/tui/components/Header.js.map +1 -0
  149. package/dist/tui/components/List.d.ts +61 -0
  150. package/dist/tui/components/List.d.ts.map +1 -0
  151. package/dist/tui/components/List.js +85 -0
  152. package/dist/tui/components/List.js.map +1 -0
  153. package/dist/tui/components/StatusCard.d.ts +29 -0
  154. package/dist/tui/components/StatusCard.d.ts.map +1 -0
  155. package/dist/tui/components/StatusCard.js +46 -0
  156. package/dist/tui/components/StatusCard.js.map +1 -0
  157. package/dist/tui/components/Table.d.ts +29 -0
  158. package/dist/tui/components/Table.d.ts.map +1 -0
  159. package/dist/tui/components/Table.js +131 -0
  160. package/dist/tui/components/Table.js.map +1 -0
  161. package/dist/tui/components/UpdateBanner.d.ts +9 -0
  162. package/dist/tui/components/UpdateBanner.d.ts.map +1 -0
  163. package/dist/tui/components/UpdateBanner.js +6 -0
  164. package/dist/tui/components/UpdateBanner.js.map +1 -0
  165. package/dist/tui/hooks/useApi.d.ts +75 -0
  166. package/dist/tui/hooks/useApi.d.ts.map +1 -0
  167. package/dist/tui/hooks/useApi.js +79 -0
  168. package/dist/tui/hooks/useApi.js.map +1 -0
  169. package/dist/tui/screens/Dashboard.d.ts +9 -0
  170. package/dist/tui/screens/Dashboard.d.ts.map +1 -0
  171. package/dist/tui/screens/Dashboard.js +66 -0
  172. package/dist/tui/screens/Dashboard.js.map +1 -0
  173. package/dist/types/index.d.ts +5 -5
  174. package/dist/types/index.d.ts.map +1 -1
  175. package/dist/utils/platform.js +1 -1
  176. package/package.json +32 -12
@@ -0,0 +1,131 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ // Path: znvault-cli/src/tui/components/Table.tsx
3
+ /**
4
+ * TUI Table Component
5
+ *
6
+ * Beautiful table rendering with Ink for interactive terminals.
7
+ */
8
+ import React from 'react';
9
+ import { Box, Text } from 'ink';
10
+ /**
11
+ * Format cell value for display
12
+ */
13
+ function formatCellValue(value, format) {
14
+ if (format) {
15
+ return format(value);
16
+ }
17
+ if (value === null || value === undefined) {
18
+ return '-';
19
+ }
20
+ if (typeof value === 'boolean') {
21
+ return value ? 'yes' : 'no';
22
+ }
23
+ if (typeof value === 'number') {
24
+ return value.toLocaleString();
25
+ }
26
+ if (Array.isArray(value)) {
27
+ return value.map(v => (typeof v === 'object' ? JSON.stringify(v) : String(v))).join(', ');
28
+ }
29
+ if (typeof value === 'object') {
30
+ return JSON.stringify(value);
31
+ }
32
+ if (typeof value === 'string') {
33
+ return value;
34
+ }
35
+ // For any other primitive types
36
+ return JSON.stringify(value);
37
+ }
38
+ /**
39
+ * Get color for cell based on value
40
+ */
41
+ function getCellColor(value, column) {
42
+ if (column.color) {
43
+ return column.color;
44
+ }
45
+ // Auto-color for boolean values
46
+ if (typeof value === 'boolean') {
47
+ return value ? 'green' : 'red';
48
+ }
49
+ // Auto-color for status-like strings
50
+ if (typeof value === 'string') {
51
+ const lower = value.toLowerCase();
52
+ if (['active', 'ok', 'healthy', 'normal', 'enabled', 'success', 'connected'].includes(lower)) {
53
+ return 'green';
54
+ }
55
+ if (['disabled', 'suspended', 'alert', 'warning', 'restrict', 'pending'].includes(lower)) {
56
+ return 'yellow';
57
+ }
58
+ if (['locked', 'error', 'lockdown', 'panic', 'failed', 'disconnected', 'expired'].includes(lower)) {
59
+ return 'red';
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ /**
65
+ * Truncate text to fit width
66
+ */
67
+ function truncate(text, width) {
68
+ if (text.length <= width) {
69
+ return text;
70
+ }
71
+ return text.slice(0, width - 1) + '…';
72
+ }
73
+ /**
74
+ * Pad text based on alignment
75
+ */
76
+ function padText(text, width, align = 'left') {
77
+ const truncated = truncate(text, width);
78
+ const padding = width - truncated.length;
79
+ if (padding <= 0)
80
+ return truncated;
81
+ switch (align) {
82
+ case 'right':
83
+ return ' '.repeat(padding) + truncated;
84
+ case 'center': {
85
+ const leftPad = Math.floor(padding / 2);
86
+ const rightPad = padding - leftPad;
87
+ return ' '.repeat(leftPad) + truncated + ' '.repeat(rightPad);
88
+ }
89
+ default:
90
+ return truncated + ' '.repeat(padding);
91
+ }
92
+ }
93
+ export function Table({ columns, data, title, borderColor = 'gray', headerColor = 'cyan', maxRows, emptyMessage = 'No data', }) {
94
+ // Calculate column widths
95
+ const colWidths = columns.map(col => {
96
+ if (col.width)
97
+ return col.width;
98
+ // Auto-calculate based on content
99
+ const headerLen = col.header.length;
100
+ const maxDataLen = data.reduce((max, row) => {
101
+ const val = formatCellValue(row[col.key], col.format);
102
+ return Math.max(max, val.length);
103
+ }, 0);
104
+ return Math.min(Math.max(headerLen, maxDataLen) + 2, 40);
105
+ });
106
+ const totalWidth = colWidths.reduce((sum, w) => sum + w, 0) + columns.length + 1;
107
+ // Render horizontal border
108
+ const renderBorder = (char, left, mid, right) => (_jsxs(Text, { color: borderColor, children: [left, colWidths.map((w, i) => char.repeat(w) + (i < colWidths.length - 1 ? mid : '')).join(''), right] }));
109
+ const displayData = maxRows !== undefined && maxRows > 0 ? data.slice(0, maxRows) : data;
110
+ const remainingCount = maxRows !== undefined ? data.length - maxRows : 0;
111
+ const hasMore = remainingCount > 0;
112
+ return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [title && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: "white", children: title }) })), renderBorder('─', '┌', '┬', '┐'), _jsxs(Box, { children: [_jsx(Text, { color: borderColor, children: "\u2502" }), columns.map((col, i) => (_jsxs(React.Fragment, { children: [_jsx(Text, { bold: true, color: headerColor, children: padText(col.header, colWidths[i], col.align) }), _jsx(Text, { color: borderColor, children: "\u2502" })] }, col.key)))] }), renderBorder('─', '├', '┼', '┤'), displayData.length === 0 ? (_jsxs(Box, { children: [_jsx(Text, { color: borderColor, children: "\u2502" }), _jsx(Text, { color: "gray", children: padText(emptyMessage, totalWidth - 2, 'center') }), _jsx(Text, { color: borderColor, children: "\u2502" })] })) : (displayData.map((row, rowIndex) => (_jsxs(Box, { children: [_jsx(Text, { color: borderColor, children: "\u2502" }), columns.map((col, colIndex) => {
113
+ const value = row[col.key];
114
+ const formatted = formatCellValue(value, col.format);
115
+ const color = getCellColor(value, col);
116
+ return (_jsxs(React.Fragment, { children: [_jsx(Text, { color: color, children: padText(formatted, colWidths[colIndex], col.align) }), _jsx(Text, { color: borderColor, children: "\u2502" })] }, col.key));
117
+ })] }, rowIndex)))), renderBorder('─', '└', '┴', '┘'), hasMore && (_jsxs(Text, { color: "gray", dimColor: true, children: ["... and ", remainingCount, " more"] }))] }));
118
+ }
119
+ /**
120
+ * Simple table without borders for compact display
121
+ */
122
+ export function SimpleTable({ columns, data, maxRows, }) {
123
+ const displayData = maxRows ? data.slice(0, maxRows) : data;
124
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { gap: 2, children: columns.map(col => (_jsx(Text, { bold: true, color: "cyan", children: col.header }, col.key))) }), displayData.map((row, i) => (_jsx(Box, { gap: 2, children: columns.map(col => {
125
+ const value = row[col.key];
126
+ const formatted = formatCellValue(value, col.format);
127
+ const color = getCellColor(value, col);
128
+ return (_jsx(Text, { color: color, children: formatted }, col.key));
129
+ }) }, i)))] }));
130
+ }
131
+ //# sourceMappingURL=Table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/tui/components/Table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ interface UpdateBannerProps {
3
+ currentVersion: string;
4
+ latestVersion: string;
5
+ packageName?: string;
6
+ }
7
+ export declare function UpdateBanner({ currentVersion, latestVersion, packageName, }: UpdateBannerProps): React.ReactElement;
8
+ export {};
9
+ //# sourceMappingURL=UpdateBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateBanner.d.ts","sourceRoot":"","sources":["../../../src/tui/components/UpdateBanner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,iBAAiB;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAC3B,cAAc,EACd,aAAa,EACb,WAAoC,GACrC,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAsCxC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ export function UpdateBanner({ currentVersion, latestVersion, packageName = '@zincapp/znvault-cli', }) {
4
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", paddingX: 2, paddingY: 1, marginY: 1, children: [_jsx(Box, { justifyContent: "center", marginBottom: 1, children: _jsx(Text, { bold: true, color: "yellow", children: "\u2728 Update available!" }) }), _jsxs(Box, { gap: 2, children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "gray", children: "Current:" }), _jsx(Text, { color: "gray", children: "Latest:" })] }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", children: currentVersion }), _jsx(Text, { color: "green", bold: true, children: latestVersion })] })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "gray", children: "Run one of:" }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsx(Text, { children: _jsx(Text, { color: "cyan", children: "znvault self-update" }) }), _jsx(Text, { children: _jsxs(Text, { color: "cyan", children: ["npm update -g ", packageName] }) })] })] })] }));
5
+ }
6
+ //# sourceMappingURL=UpdateBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpdateBanner.js","sourceRoot":"","sources":["../../../src/tui/components/UpdateBanner.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAQhC,MAAM,UAAU,YAAY,CAAC,EAC3B,cAAc,EACd,aAAa,EACb,WAAW,GAAG,sBAAsB,GAClB;IAClB,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ,EACpB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,aAEV,KAAC,GAAG,IAAC,cAAc,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YAC1C,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ,yCAA2B,GAChD,EAEN,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBAAgB,EAClC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,wBAAe,IAC7B,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,cAAc,GAAQ,EACzC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBAAE,aAAa,GAAQ,IAC3C,IACF,EAEN,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,4BAAmB,EACrC,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,KAAC,IAAI,cACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oCAA2B,GACxC,EACP,KAAC,IAAI,cACH,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,+BAAgB,WAAW,IAAQ,GAChD,IACH,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,75 @@
1
+ interface HealthData {
2
+ status: string;
3
+ version: string;
4
+ uptime: number;
5
+ timestamp: string;
6
+ database?: {
7
+ status: string;
8
+ role?: string;
9
+ };
10
+ redis?: {
11
+ status: string;
12
+ sentinelNodes?: number;
13
+ };
14
+ ha?: {
15
+ enabled: boolean;
16
+ nodeId: string;
17
+ isLeader: boolean;
18
+ clusterSize?: number;
19
+ };
20
+ }
21
+ interface ClusterData {
22
+ enabled: boolean;
23
+ nodeId: string;
24
+ isLeader: boolean;
25
+ leaderNodeId: string | null;
26
+ nodes: Array<{
27
+ nodeId: string;
28
+ host: string;
29
+ isLeader: boolean;
30
+ isHealthy: boolean;
31
+ lastSeen?: string;
32
+ }>;
33
+ }
34
+ interface LockdownData {
35
+ scope: string;
36
+ status: string;
37
+ reason?: string;
38
+ triggeredAt?: string;
39
+ escalationCount: number;
40
+ }
41
+ interface AuditEntry {
42
+ id: string;
43
+ timestamp: string;
44
+ action: string;
45
+ username: string;
46
+ ip: string;
47
+ status: number;
48
+ path?: string;
49
+ }
50
+ export interface DashboardData {
51
+ health: HealthData | null;
52
+ cluster: ClusterData | null;
53
+ lockdown: LockdownData | null;
54
+ audit: AuditEntry[];
55
+ loading: boolean;
56
+ error: string | null;
57
+ lastUpdated: Date | null;
58
+ }
59
+ /**
60
+ * Hook to fetch and poll dashboard data from the API
61
+ */
62
+ export declare function useDashboard(refreshInterval?: number): DashboardData & {
63
+ refresh: () => Promise<void>;
64
+ };
65
+ /**
66
+ * Hook for single API call with loading state
67
+ */
68
+ export declare function useApiCall<T>(apiCall: () => Promise<T>, deps?: unknown[]): {
69
+ data: T | null;
70
+ loading: boolean;
71
+ error: string | null;
72
+ refresh: () => Promise<void>;
73
+ };
74
+ export {};
75
+ //# sourceMappingURL=useApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useApi.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,EAAE,CAAC,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,eAAe,SAAO,GAAG,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAgDrG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,IAAI,GAAE,OAAO,EAAO,GACnB;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA8B1F"}
@@ -0,0 +1,79 @@
1
+ // Path: znvault-cli/src/tui/hooks/useApi.ts
2
+ import { useState, useEffect, useCallback } from 'react';
3
+ import * as mode from '../../lib/mode.js';
4
+ /**
5
+ * Hook to fetch and poll dashboard data from the API
6
+ */
7
+ export function useDashboard(refreshInterval = 5000) {
8
+ const [data, setData] = useState({
9
+ health: null,
10
+ cluster: null,
11
+ lockdown: null,
12
+ audit: [],
13
+ loading: true,
14
+ error: null,
15
+ lastUpdated: null,
16
+ });
17
+ const fetchData = useCallback(async () => {
18
+ try {
19
+ const [healthResult, clusterResult, lockdownResult] = await Promise.allSettled([
20
+ mode.health(),
21
+ mode.clusterStatus(),
22
+ mode.getLockdownStatus(),
23
+ ]);
24
+ setData({
25
+ health: healthResult.status === 'fulfilled' ? healthResult.value : null,
26
+ cluster: clusterResult.status === 'fulfilled' ? clusterResult.value : null,
27
+ lockdown: lockdownResult.status === 'fulfilled' ? lockdownResult.value : null,
28
+ audit: [], // Audit requires separate API call with auth
29
+ loading: false,
30
+ error: null,
31
+ lastUpdated: new Date(),
32
+ });
33
+ }
34
+ catch (err) {
35
+ setData(prev => ({
36
+ ...prev,
37
+ loading: false,
38
+ error: err instanceof Error ? err.message : 'Failed to fetch data',
39
+ }));
40
+ }
41
+ }, []);
42
+ useEffect(() => {
43
+ void fetchData();
44
+ const interval = setInterval(() => {
45
+ void fetchData();
46
+ }, refreshInterval);
47
+ return () => { clearInterval(interval); };
48
+ }, [fetchData, refreshInterval]);
49
+ return { ...data, refresh: fetchData };
50
+ }
51
+ /**
52
+ * Hook for single API call with loading state
53
+ */
54
+ export function useApiCall(apiCall, deps = []) {
55
+ const [state, setState] = useState({
56
+ data: null,
57
+ loading: true,
58
+ error: null,
59
+ });
60
+ const refresh = useCallback(async () => {
61
+ setState(prev => ({ ...prev, loading: true, error: null }));
62
+ try {
63
+ const result = await apiCall();
64
+ setState({ data: result, loading: false, error: null });
65
+ }
66
+ catch (err) {
67
+ setState(prev => ({
68
+ ...prev,
69
+ loading: false,
70
+ error: err instanceof Error ? err.message : 'API call failed',
71
+ }));
72
+ }
73
+ }, deps); // deps is intentionally dynamic
74
+ useEffect(() => {
75
+ void refresh();
76
+ }, [refresh]);
77
+ return { ...state, refresh };
78
+ }
79
+ //# sourceMappingURL=useApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApi.js","sourceRoot":"","sources":["../../../src/tui/hooks/useApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { DashboardData } from '../hooks/useApi.js';
3
+ interface DashboardProps {
4
+ data: DashboardData;
5
+ onRefresh: () => Promise<void>;
6
+ }
7
+ export declare function Dashboard({ data }: DashboardProps): React.ReactElement;
8
+ export {};
9
+ //# sourceMappingURL=Dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/Dashboard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,UAAU,cAAc;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAgBD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA2HtE"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Header } from '../components/Header.js';
4
+ import { StatusCard, NodeStatusCard, SecurityStatus } from '../components/StatusCard.js';
5
+ function formatUptime(seconds) {
6
+ const days = Math.floor(seconds / 86400);
7
+ const hours = Math.floor((seconds % 86400) / 3600);
8
+ const minutes = Math.floor((seconds % 3600) / 60);
9
+ if (days > 0) {
10
+ return `${days}d ${hours}h ${minutes}m`;
11
+ }
12
+ if (hours > 0) {
13
+ return `${hours}h ${minutes}m`;
14
+ }
15
+ return `${minutes}m`;
16
+ }
17
+ export function Dashboard({ data }) {
18
+ const { health, cluster, lockdown, loading, error, lastUpdated } = data;
19
+ if (loading && !health) {
20
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { lastUpdated: lastUpdated }), _jsx(Box, { justifyContent: "center", padding: 2, children: _jsx(Text, { color: "yellow", children: "Loading dashboard data..." }) })] }));
21
+ }
22
+ if (error && !health) {
23
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { lastUpdated: lastUpdated }), _jsx(Box, { borderStyle: "round", borderColor: "red", padding: 1, justifyContent: "center", children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) })] }));
24
+ }
25
+ // Build health items
26
+ const healthItems = [];
27
+ if (health) {
28
+ const healthStatus = health.status === 'ok' ? 'success' : health.status === 'degraded' ? 'warning' : 'error';
29
+ healthItems.push({ label: 'Status', value: health.status.toUpperCase(), status: healthStatus }, { label: 'Version', value: health.version }, { label: 'Uptime', value: formatUptime(health.uptime) });
30
+ if (health.database) {
31
+ const dbStatus = health.database.status === 'connected' ? 'success' : 'error';
32
+ healthItems.push({
33
+ label: 'Database',
34
+ value: health.database.status === 'connected' ? 'Connected' : health.database.status,
35
+ status: dbStatus,
36
+ });
37
+ }
38
+ if (health.redis) {
39
+ const redisStatus = health.redis.status === 'connected' ? 'success' : 'error';
40
+ healthItems.push({
41
+ label: 'Redis',
42
+ value: health.redis.status === 'connected' ? 'Connected' : health.redis.status,
43
+ status: redisStatus,
44
+ });
45
+ }
46
+ }
47
+ // Build cluster nodes
48
+ const clusterNodes = cluster?.nodes.map(n => ({
49
+ id: n.nodeId,
50
+ role: n.isLeader ? 'LEADER' : 'FOLLOWER',
51
+ status: n.isHealthy ? 'healthy' : 'unhealthy',
52
+ isLeader: n.isLeader,
53
+ })) ?? [];
54
+ // Security data
55
+ const securityMode = lockdown?.status ?? 'UNKNOWN';
56
+ const threatLevel = lockdown?.escalationCount ?? 0;
57
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: health?.version, lastUpdated: lastUpdated }), _jsxs(Box, { gap: 1, children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, children: _jsx(StatusCard, { title: "SERVER HEALTH", items: healthItems }) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, gap: 1, children: [cluster?.enabled && clusterNodes.length > 0 ? (_jsx(NodeStatusCard, { nodes: clusterNodes })) : (_jsx(StatusCard, { title: "CLUSTER", items: [
58
+ {
59
+ label: 'Enabled',
60
+ value: cluster?.enabled ? 'Yes' : 'No',
61
+ status: cluster?.enabled ? 'success' : 'info',
62
+ },
63
+ { label: 'Node ID', value: cluster?.nodeId ?? 'N/A' },
64
+ ] })), _jsx(SecurityStatus, { mode: securityMode, threatLevel: threatLevel, reason: lockdown?.reason })] })] }), loading && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "Refreshing..." }) }))] }));
65
+ }
66
+ //# sourceMappingURL=Dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/tui/screens/Dashboard.tsx"],"names":[],"mappings":"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"}
@@ -181,10 +181,10 @@ export interface LoginResponse {
181
181
  };
182
182
  }
183
183
  export interface PaginatedResponse<T> {
184
- items: T[];
184
+ data: T[];
185
185
  total: number;
186
- page: number;
187
- pageSize: number;
186
+ page?: number;
187
+ pageSize?: number;
188
188
  }
189
189
  export interface ApiError {
190
190
  error: string;
@@ -392,12 +392,12 @@ export interface PolicyTestResult {
392
392
  allowed: boolean;
393
393
  effect: 'allow' | 'deny' | 'no_match';
394
394
  reason: string;
395
- matchedPolicies: {
395
+ matchedPolicies: Array<{
396
396
  id: string;
397
397
  name: string;
398
398
  effect: PolicyEffect;
399
399
  priority: number;
400
- }[];
400
+ }>;
401
401
  evaluatedPolicies: number;
402
402
  evaluationTimeMs: number;
403
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export function getInstallPath() {
72
72
  * Check if the current process has write access to the install path
73
73
  */
74
74
  export function canWriteToInstallPath(installPath) {
75
- const targetPath = installPath || getInstallPath();
75
+ const targetPath = installPath ?? getInstallPath();
76
76
  const targetDir = path.dirname(targetPath);
77
77
  try {
78
78
  // Check if directory exists and is writable
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zincapp/znvault-cli",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Official CLI for ZN-Vault administration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,8 +15,12 @@
15
15
  "build:prod": "tsc --sourceMap false",
16
16
  "dev": "tsc --watch",
17
17
  "clean": "rm -rf dist",
18
- "test": "vitest",
19
- "test:run": "vitest run",
18
+ "pretest": "npm run build",
19
+ "test": "../scripts/sdk-test-run.sh npm run test:all",
20
+ "test:all": "vitest run --config vitest.integration.config.ts",
21
+ "test:unit": "vitest run",
22
+ "test:unit:watch": "vitest",
23
+ "test:integration": "ZNVAULT_INTEGRATION=true vitest run --config vitest.integration.config.ts",
20
24
  "test:coverage": "vitest run --coverage",
21
25
  "lint": "eslint src --ext .ts",
22
26
  "lint:fix": "eslint src --ext .ts --fix",
@@ -31,26 +35,42 @@
31
35
  ],
32
36
  "author": "ZincApp",
33
37
  "license": "MIT",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/vidaldiego/znvault-cli"
41
+ },
34
42
  "dependencies": {
35
- "@types/bcryptjs": "^2.4.6",
43
+ "@types/bcryptjs": "^3.0.0",
36
44
  "@types/ws": "^8.18.1",
37
45
  "bcryptjs": "^3.0.3",
38
- "chalk": "^5.3.0",
46
+ "boxen": "^8.0.1",
47
+ "chalk": "^5.6.2",
39
48
  "cli-table3": "^0.6.5",
40
- "commander": "^12.1.0",
41
- "conf": "^13.0.1",
49
+ "commander": "^14.0.2",
50
+ "conf": "^15.0.2",
51
+ "figlet": "^1.9.4",
52
+ "gradient-string": "^3.0.0",
53
+ "ink": "^6.6.0",
54
+ "ink-ui": "^0.4.0",
42
55
  "inquirer": "^13.1.0",
43
- "openpgp": "^6.0.0",
44
- "ora": "^8.1.1",
56
+ "openpgp": "^6.3.0",
57
+ "ora": "^9.0.0",
45
58
  "pg": "^8.16.3",
59
+ "react": "^19.2.3",
46
60
  "ws": "^8.18.3"
47
61
  },
48
62
  "devDependencies": {
49
- "@types/inquirer": "^9.0.7",
50
- "@types/node": "^20.17.10",
63
+ "@eslint/js": "^9.39.2",
64
+ "@types/figlet": "^1.7.0",
65
+ "@types/gradient-string": "^1.1.6",
66
+ "@types/inquirer": "^9.0.9",
67
+ "@types/node": "^25.0.3",
51
68
  "@types/pg": "^8.16.0",
69
+ "@types/react": "^19.2.7",
52
70
  "@vitest/coverage-v8": "^4.0.16",
53
- "typescript": "^5.7.2",
71
+ "eslint": "^9.39.2",
72
+ "typescript": "^5.9.3",
73
+ "typescript-eslint": "^8.51.0",
54
74
  "vitest": "^4.0.16"
55
75
  },
56
76
  "engines": {