@zincapp/znvault-cli 3.3.1 → 4.0.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 (74) hide show
  1. package/README.md +32 -28
  2. package/dist/commands/advisor.d.ts +14 -1
  3. package/dist/commands/advisor.d.ts.map +1 -1
  4. package/dist/commands/advisor.js +352 -331
  5. package/dist/commands/advisor.js.map +1 -1
  6. package/dist/commands/agent/index.d.ts +2 -1
  7. package/dist/commands/agent/index.d.ts.map +1 -1
  8. package/dist/commands/agent/index.js +23 -19
  9. package/dist/commands/agent/index.js.map +1 -1
  10. package/dist/commands/apikey/index.d.ts +2 -1
  11. package/dist/commands/apikey/index.d.ts.map +1 -1
  12. package/dist/commands/apikey/index.js +23 -14
  13. package/dist/commands/apikey/index.js.map +1 -1
  14. package/dist/commands/audit.d.ts +2 -1
  15. package/dist/commands/audit.d.ts.map +1 -1
  16. package/dist/commands/audit.js +7 -2
  17. package/dist/commands/audit.js.map +1 -1
  18. package/dist/commands/group.d.ts +2 -1
  19. package/dist/commands/group.d.ts.map +1 -1
  20. package/dist/commands/group.js +47 -37
  21. package/dist/commands/group.js.map +1 -1
  22. package/dist/commands/host/index.d.ts +2 -1
  23. package/dist/commands/host/index.d.ts.map +1 -1
  24. package/dist/commands/host/index.js +22 -18
  25. package/dist/commands/host/index.js.map +1 -1
  26. package/dist/commands/kms/index.d.ts +2 -1
  27. package/dist/commands/kms/index.d.ts.map +1 -1
  28. package/dist/commands/kms/index.js +11 -6
  29. package/dist/commands/kms/index.js.map +1 -1
  30. package/dist/commands/policy/index.d.ts +2 -1
  31. package/dist/commands/policy/index.d.ts.map +1 -1
  32. package/dist/commands/policy/index.js +149 -101
  33. package/dist/commands/policy/index.js.map +1 -1
  34. package/dist/commands/quarantine.d.ts +2 -1
  35. package/dist/commands/quarantine.d.ts.map +1 -1
  36. package/dist/commands/quarantine.js +380 -339
  37. package/dist/commands/quarantine.js.map +1 -1
  38. package/dist/commands/role.d.ts +2 -1
  39. package/dist/commands/role.d.ts.map +1 -1
  40. package/dist/commands/role.js +62 -40
  41. package/dist/commands/role.js.map +1 -1
  42. package/dist/commands/ssh/index.d.ts +2 -1
  43. package/dist/commands/ssh/index.d.ts.map +1 -1
  44. package/dist/commands/ssh/index.js +18 -13
  45. package/dist/commands/ssh/index.js.map +1 -1
  46. package/dist/commands/sso/index.d.ts +2 -1
  47. package/dist/commands/sso/index.d.ts.map +1 -1
  48. package/dist/commands/sso/index.js +8 -5
  49. package/dist/commands/sso/index.js.map +1 -1
  50. package/dist/commands/superadmin/accounts.d.ts +10 -0
  51. package/dist/commands/superadmin/accounts.d.ts.map +1 -0
  52. package/dist/commands/{superadmin.js → superadmin/accounts.js} +16 -15
  53. package/dist/commands/superadmin/accounts.js.map +1 -0
  54. package/dist/commands/superadmin/index.d.ts +20 -0
  55. package/dist/commands/superadmin/index.d.ts.map +1 -0
  56. package/dist/commands/superadmin/index.js +60 -0
  57. package/dist/commands/superadmin/index.js.map +1 -0
  58. package/dist/commands/user.d.ts +2 -1
  59. package/dist/commands/user.d.ts.map +1 -1
  60. package/dist/commands/user.js +15 -8
  61. package/dist/commands/user.js.map +1 -1
  62. package/dist/index.js +18 -13
  63. package/dist/index.js.map +1 -1
  64. package/dist/lib/command-context.d.ts +49 -0
  65. package/dist/lib/command-context.d.ts.map +1 -0
  66. package/dist/lib/command-context.js +81 -0
  67. package/dist/lib/command-context.js.map +1 -0
  68. package/dist/lib/context-help.d.ts.map +1 -1
  69. package/dist/lib/context-help.js +5 -0
  70. package/dist/lib/context-help.js.map +1 -1
  71. package/package.json +1 -1
  72. package/dist/commands/superadmin.d.ts +0 -3
  73. package/dist/commands/superadmin.d.ts.map +0 -1
  74. package/dist/commands/superadmin.js.map +0 -1
package/README.md CHANGED
@@ -111,17 +111,16 @@ ZNVAULT_PROFILE=prod znvault health
111
111
  ### Health & Status
112
112
 
113
113
  ```bash
114
- znvault health # Quick health check
115
- znvault status # Detailed system status
116
- znvault cluster status # HA cluster health
117
- znvault cluster takeover --yes # Force leadership (HA)
114
+ znvault health # Quick health check
115
+ znvault status # Detailed system status
116
+ znvault superadmin cluster status # HA cluster health (superadmin)
117
+ znvault superadmin cluster takeover --yes # Force leadership (HA, superadmin)
118
118
  ```
119
119
 
120
120
  ### Secret Management
121
121
 
122
122
  ```bash
123
- znvault secret list # List all secrets
124
- znvault secret list --tenant acme # Filter by tenant
123
+ znvault secret list # List all secrets (your tenant)
125
124
  znvault secret get <alias> # Get secret value
126
125
  znvault secret create <alias> --value "secret" # Create secret
127
126
  znvault secret create <alias> --json '{"k":"v"}' # Create JSON secret
@@ -172,24 +171,29 @@ znvault cert rotate <id> # Rotate certificate
172
171
  znvault cert delete <id> # Delete certificate
173
172
  ```
174
173
 
175
- ### Tenant Management
174
+ ### Tenant Management (superadmin only)
175
+
176
+ As of v4, tenant management lives entirely under `znvault superadmin`.
176
177
 
177
178
  ```bash
178
- znvault tenant list # List tenants
179
- znvault tenant create <id> --name "Acme Corp" # Create tenant
180
- znvault tenant show <id> # Tenant details
181
- znvault tenant delete <id> # Delete tenant
179
+ znvault superadmin tenant list # List tenants
180
+ znvault superadmin tenant create <id> --name "Acme Corp" # Create tenant
181
+ znvault superadmin tenant show <id> # Tenant details
182
+ znvault superadmin tenant delete <id> # Delete tenant
182
183
  ```
183
184
 
184
185
  ### User Management
185
186
 
186
187
  ```bash
187
- znvault user list # List users
188
- znvault user list --tenant acme # Filter by tenant
189
- znvault user create <username> --role admin # Create user
188
+ znvault user list # List users in your tenant
189
+ znvault user create <username> --role admin # Create user (your tenant)
190
190
  znvault user unlock <username> # Unlock locked user
191
191
  znvault user reset-password <username> # Reset password
192
192
  znvault user totp-disable <username> # Disable 2FA
193
+
194
+ # Cross-tenant (superadmin only):
195
+ znvault superadmin user list --tenant acme # List users in another tenant
196
+ znvault superadmin user create <username> --tenant acme --role admin
193
197
  ```
194
198
 
195
199
  ### RBAC Role Management
@@ -211,29 +215,29 @@ znvault policy create --name "Read Prod" --file policy.json
211
215
  znvault policy delete <id> # Delete policy
212
216
  ```
213
217
 
214
- ### Backup Management
218
+ ### Backup Management (superadmin only)
215
219
 
216
220
  ```bash
217
- znvault backup list # List backups
218
- znvault backup create # Create backup
219
- znvault backup get <id> # Backup details
220
- znvault backup verify <id> # Verify integrity
221
- znvault backup restore <id> # Restore backup
222
- znvault backup config # Show config
223
- znvault backup health # Check health
221
+ znvault superadmin backup list # List backups
222
+ znvault superadmin backup create # Create backup
223
+ znvault superadmin backup get <id> # Backup details
224
+ znvault superadmin backup verify <id> # Verify integrity
225
+ znvault superadmin backup restore <id> # Restore backup
226
+ znvault superadmin backup config # Show config
227
+ znvault superadmin backup health # Check health
224
228
 
225
229
  # Storage configuration
226
- znvault backup storage show
227
- znvault backup storage set-s3 --bucket my-bucket --region us-east-1
230
+ znvault superadmin backup storage show
231
+ znvault superadmin backup storage set-s3 --bucket my-bucket --region us-east-1
228
232
  ```
229
233
 
230
234
  ### Audit & Security
231
235
 
232
236
  ```bash
233
- znvault audit list # Recent audit logs
234
- znvault audit list --days 7 --action LOGIN # Filter logs
235
- znvault lockdown status # Lockdown state
236
- znvault lockdown set <level> # Set level (admin)
237
+ znvault audit list # Recent audit logs (your tenant)
238
+ znvault audit list --days 7 --action LOGIN # Filter logs
239
+ znvault superadmin lockdown status # Lockdown state (superadmin)
240
+ znvault superadmin lockdown set <level> # Set level (superadmin)
237
241
  ```
238
242
 
239
243
  ### Emergency Operations
@@ -1,3 +1,16 @@
1
1
  import { type Command } from 'commander';
2
- export declare function registerAdvisorCommands(program: Command): void;
2
+ import { type RegisterOptions } from '../lib/command-context.js';
3
+ /**
4
+ * Register the `advisor` command group.
5
+ *
6
+ * Context semantics:
7
+ * - `tenant` (default, top-level): exposes `audit`, `suggest`, and `rules`
8
+ * (read-only catalog). No `--tenant` option. No `llm` subgroup.
9
+ * - `superadmin` (under `znvault superadmin advisor`): exposes `audit` and
10
+ * `suggest` with `--tenant`, plus the system-wide `llm` subgroup.
11
+ *
12
+ * Note: `rules` is the read-only rule catalog and is intentionally NOT
13
+ * mirrored to superadmin — it's tenant-context only.
14
+ */
15
+ export declare function registerAdvisorCommands(parent: Command, opts?: RegisterOptions): void;
3
16
  //# sourceMappingURL=advisor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advisor.d.ts","sourceRoot":"","sources":["../../src/commands/advisor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AA+FzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwZ9D"}
1
+ {"version":3,"file":"advisor.d.ts","sourceRoot":"","sources":["../../src/commands/advisor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAuFnC;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAGrF"}