@fentz26/envcp 1.1.0 → 1.2.0-exp.1

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 (105) hide show
  1. package/README.md +59 -422
  2. package/VERSION +1 -0
  3. package/dist/adapters/base.d.ts +13 -0
  4. package/dist/adapters/base.d.ts.map +1 -1
  5. package/dist/adapters/base.js +153 -9
  6. package/dist/adapters/base.js.map +1 -1
  7. package/dist/adapters/gemini.d.ts.map +1 -1
  8. package/dist/adapters/gemini.js +7 -4
  9. package/dist/adapters/gemini.js.map +1 -1
  10. package/dist/adapters/openai.d.ts.map +1 -1
  11. package/dist/adapters/openai.js +9 -6
  12. package/dist/adapters/openai.js.map +1 -1
  13. package/dist/adapters/rest.d.ts +2 -0
  14. package/dist/adapters/rest.d.ts.map +1 -1
  15. package/dist/adapters/rest.js +72 -4
  16. package/dist/adapters/rest.js.map +1 -1
  17. package/dist/cli/index.js +519 -103
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/config/config-guard.d.ts.map +1 -1
  20. package/dist/config/config-guard.js +3 -2
  21. package/dist/config/config-guard.js.map +1 -1
  22. package/dist/config/config-hmac.d.ts +5 -0
  23. package/dist/config/config-hmac.d.ts.map +1 -0
  24. package/dist/config/config-hmac.js +29 -0
  25. package/dist/config/config-hmac.js.map +1 -0
  26. package/dist/config/manager.d.ts +14 -0
  27. package/dist/config/manager.d.ts.map +1 -1
  28. package/dist/config/manager.js +72 -13
  29. package/dist/config/manager.js.map +1 -1
  30. package/dist/mcp/server.d.ts.map +1 -1
  31. package/dist/mcp/server.js +2 -1
  32. package/dist/mcp/server.js.map +1 -1
  33. package/dist/server/unified.d.ts +4 -1
  34. package/dist/server/unified.d.ts.map +1 -1
  35. package/dist/server/unified.js +102 -33
  36. package/dist/server/unified.js.map +1 -1
  37. package/dist/service/config.d.ts +21 -0
  38. package/dist/service/config.d.ts.map +1 -0
  39. package/dist/service/config.js +94 -0
  40. package/dist/service/config.js.map +1 -0
  41. package/dist/service/generators.d.ts +14 -0
  42. package/dist/service/generators.d.ts.map +1 -0
  43. package/dist/service/generators.js +92 -0
  44. package/dist/service/generators.js.map +1 -0
  45. package/dist/service/index.d.ts +23 -0
  46. package/dist/service/index.d.ts.map +1 -0
  47. package/dist/service/index.js +215 -0
  48. package/dist/service/index.js.map +1 -0
  49. package/dist/service/platform.d.ts +5 -0
  50. package/dist/service/platform.d.ts.map +1 -0
  51. package/dist/service/platform.js +25 -0
  52. package/dist/service/platform.js.map +1 -0
  53. package/dist/storage/index.d.ts +39 -10
  54. package/dist/storage/index.d.ts.map +1 -1
  55. package/dist/storage/index.js +318 -31
  56. package/dist/storage/index.js.map +1 -1
  57. package/dist/types.d.ts +545 -14
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js +74 -2
  60. package/dist/types.js.map +1 -1
  61. package/dist/utils/crypto.d.ts +9 -0
  62. package/dist/utils/crypto.d.ts.map +1 -1
  63. package/dist/utils/crypto.js +88 -19
  64. package/dist/utils/crypto.js.map +1 -1
  65. package/dist/utils/hsm.d.ts +82 -0
  66. package/dist/utils/hsm.d.ts.map +1 -0
  67. package/dist/utils/hsm.js +344 -0
  68. package/dist/utils/hsm.js.map +1 -0
  69. package/dist/utils/http.d.ts.map +1 -1
  70. package/dist/utils/http.js +14 -4
  71. package/dist/utils/http.js.map +1 -1
  72. package/dist/utils/keychain.d.ts.map +1 -1
  73. package/dist/utils/keychain.js +0 -8
  74. package/dist/utils/keychain.js.map +1 -1
  75. package/dist/utils/lock.d.ts +1 -1
  76. package/dist/utils/lock.d.ts.map +1 -1
  77. package/dist/utils/lock.js +4 -2
  78. package/dist/utils/lock.js.map +1 -1
  79. package/dist/utils/lockout.d.ts +56 -0
  80. package/dist/utils/lockout.d.ts.map +1 -0
  81. package/dist/utils/lockout.js +209 -0
  82. package/dist/utils/lockout.js.map +1 -0
  83. package/dist/utils/prompt.d.ts +13 -0
  84. package/dist/utils/prompt.d.ts.map +1 -0
  85. package/dist/utils/prompt.js +124 -0
  86. package/dist/utils/prompt.js.map +1 -0
  87. package/dist/utils/secure-memory.d.ts +20 -0
  88. package/dist/utils/secure-memory.d.ts.map +1 -0
  89. package/dist/utils/secure-memory.js +122 -0
  90. package/dist/utils/secure-memory.js.map +1 -0
  91. package/dist/utils/session.d.ts.map +1 -1
  92. package/dist/utils/session.js +14 -4
  93. package/dist/utils/session.js.map +1 -1
  94. package/dist/utils/update-checker.d.ts +1 -1
  95. package/dist/utils/update-checker.d.ts.map +1 -1
  96. package/dist/utils/update-checker.js +7 -5
  97. package/dist/utils/update-checker.js.map +1 -1
  98. package/dist/vault/index.d.ts.map +1 -1
  99. package/dist/version.d.ts +2 -0
  100. package/dist/version.d.ts.map +1 -0
  101. package/dist/version.js +8 -0
  102. package/dist/version.js.map +1 -0
  103. package/package.json +18 -9
  104. package/scripts/sync-version.js +88 -0
  105. package/scripts/install.sh +0 -54
package/dist/types.d.ts CHANGED
@@ -17,6 +17,146 @@ export declare const RateLimitConfigSchema: z.ZodObject<{
17
17
  export type RateLimitConfig = z.infer<typeof RateLimitConfigSchema>;
18
18
  export declare const VaultModeSchema: z.ZodEnum<["project", "global"]>;
19
19
  export type VaultMode = z.infer<typeof VaultModeSchema>;
20
+ export declare const AuditFieldsSchema: z.ZodDefault<z.ZodObject<{
21
+ session_id: z.ZodDefault<z.ZodBoolean>;
22
+ client_id: z.ZodDefault<z.ZodBoolean>;
23
+ client_type: z.ZodDefault<z.ZodBoolean>;
24
+ ip: z.ZodDefault<z.ZodBoolean>;
25
+ user_agent: z.ZodDefault<z.ZodBoolean>;
26
+ purpose: z.ZodDefault<z.ZodBoolean>;
27
+ duration_ms: z.ZodDefault<z.ZodBoolean>;
28
+ variable: z.ZodDefault<z.ZodBoolean>;
29
+ message: z.ZodDefault<z.ZodBoolean>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ message: boolean;
32
+ session_id: boolean;
33
+ client_id: boolean;
34
+ client_type: boolean;
35
+ ip: boolean;
36
+ user_agent: boolean;
37
+ purpose: boolean;
38
+ duration_ms: boolean;
39
+ variable: boolean;
40
+ }, {
41
+ message?: boolean | undefined;
42
+ session_id?: boolean | undefined;
43
+ client_id?: boolean | undefined;
44
+ client_type?: boolean | undefined;
45
+ ip?: boolean | undefined;
46
+ user_agent?: boolean | undefined;
47
+ purpose?: boolean | undefined;
48
+ duration_ms?: boolean | undefined;
49
+ variable?: boolean | undefined;
50
+ }>>;
51
+ export declare const AuditConfigSchema: z.ZodDefault<z.ZodObject<{
52
+ enabled: z.ZodDefault<z.ZodBoolean>;
53
+ retain_days: z.ZodDefault<z.ZodNumber>;
54
+ fields: z.ZodDefault<z.ZodObject<{
55
+ session_id: z.ZodDefault<z.ZodBoolean>;
56
+ client_id: z.ZodDefault<z.ZodBoolean>;
57
+ client_type: z.ZodDefault<z.ZodBoolean>;
58
+ ip: z.ZodDefault<z.ZodBoolean>;
59
+ user_agent: z.ZodDefault<z.ZodBoolean>;
60
+ purpose: z.ZodDefault<z.ZodBoolean>;
61
+ duration_ms: z.ZodDefault<z.ZodBoolean>;
62
+ variable: z.ZodDefault<z.ZodBoolean>;
63
+ message: z.ZodDefault<z.ZodBoolean>;
64
+ }, "strip", z.ZodTypeAny, {
65
+ message: boolean;
66
+ session_id: boolean;
67
+ client_id: boolean;
68
+ client_type: boolean;
69
+ ip: boolean;
70
+ user_agent: boolean;
71
+ purpose: boolean;
72
+ duration_ms: boolean;
73
+ variable: boolean;
74
+ }, {
75
+ message?: boolean | undefined;
76
+ session_id?: boolean | undefined;
77
+ client_id?: boolean | undefined;
78
+ client_type?: boolean | undefined;
79
+ ip?: boolean | undefined;
80
+ user_agent?: boolean | undefined;
81
+ purpose?: boolean | undefined;
82
+ duration_ms?: boolean | undefined;
83
+ variable?: boolean | undefined;
84
+ }>>;
85
+ hmac: z.ZodDefault<z.ZodBoolean>;
86
+ hmac_key_path: z.ZodDefault<z.ZodString>;
87
+ hmac_chain: z.ZodDefault<z.ZodBoolean>;
88
+ protection: z.ZodDefault<z.ZodEnum<["none", "append_only", "immutable", "remote"]>>;
89
+ remote_ship: z.ZodOptional<z.ZodObject<{
90
+ type: z.ZodOptional<z.ZodEnum<["syslog", "http", "file"]>>;
91
+ endpoint: z.ZodOptional<z.ZodString>;
92
+ api_key: z.ZodOptional<z.ZodString>;
93
+ batch_size: z.ZodDefault<z.ZodNumber>;
94
+ retry_count: z.ZodDefault<z.ZodNumber>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ batch_size: number;
97
+ retry_count: number;
98
+ type?: "syslog" | "http" | "file" | undefined;
99
+ endpoint?: string | undefined;
100
+ api_key?: string | undefined;
101
+ }, {
102
+ type?: "syslog" | "http" | "file" | undefined;
103
+ endpoint?: string | undefined;
104
+ api_key?: string | undefined;
105
+ batch_size?: number | undefined;
106
+ retry_count?: number | undefined;
107
+ }>>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ enabled: boolean;
110
+ retain_days: number;
111
+ fields: {
112
+ message: boolean;
113
+ session_id: boolean;
114
+ client_id: boolean;
115
+ client_type: boolean;
116
+ ip: boolean;
117
+ user_agent: boolean;
118
+ purpose: boolean;
119
+ duration_ms: boolean;
120
+ variable: boolean;
121
+ };
122
+ hmac: boolean;
123
+ hmac_key_path: string;
124
+ hmac_chain: boolean;
125
+ protection: "none" | "append_only" | "immutable" | "remote";
126
+ remote_ship?: {
127
+ batch_size: number;
128
+ retry_count: number;
129
+ type?: "syslog" | "http" | "file" | undefined;
130
+ endpoint?: string | undefined;
131
+ api_key?: string | undefined;
132
+ } | undefined;
133
+ }, {
134
+ enabled?: boolean | undefined;
135
+ retain_days?: number | undefined;
136
+ fields?: {
137
+ message?: boolean | undefined;
138
+ session_id?: boolean | undefined;
139
+ client_id?: boolean | undefined;
140
+ client_type?: boolean | undefined;
141
+ ip?: boolean | undefined;
142
+ user_agent?: boolean | undefined;
143
+ purpose?: boolean | undefined;
144
+ duration_ms?: boolean | undefined;
145
+ variable?: boolean | undefined;
146
+ } | undefined;
147
+ hmac?: boolean | undefined;
148
+ hmac_key_path?: string | undefined;
149
+ hmac_chain?: boolean | undefined;
150
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
151
+ remote_ship?: {
152
+ type?: "syslog" | "http" | "file" | undefined;
153
+ endpoint?: string | undefined;
154
+ api_key?: string | undefined;
155
+ batch_size?: number | undefined;
156
+ retry_count?: number | undefined;
157
+ } | undefined;
158
+ }>>;
159
+ export type AuditConfig = z.infer<typeof AuditConfigSchema>;
20
160
  export declare const EnvCPConfigSchema: z.ZodObject<{
21
161
  version: z.ZodDefault<z.ZodString>;
22
162
  project: z.ZodOptional<z.ZodString>;
@@ -56,6 +196,26 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
56
196
  denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
197
  blacklist_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
58
198
  require_variable_password: z.ZodDefault<z.ZodBoolean>;
199
+ command_blacklist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
200
+ run_safety: z.ZodDefault<z.ZodObject<{
201
+ disallow_root_delete: z.ZodDefault<z.ZodBoolean>;
202
+ disallow_path_manipulation: z.ZodDefault<z.ZodBoolean>;
203
+ require_command_whitelist: z.ZodDefault<z.ZodBoolean>;
204
+ scrub_output: z.ZodDefault<z.ZodBoolean>;
205
+ redact_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
206
+ }, "strip", z.ZodTypeAny, {
207
+ disallow_root_delete: boolean;
208
+ disallow_path_manipulation: boolean;
209
+ require_command_whitelist: boolean;
210
+ scrub_output: boolean;
211
+ redact_patterns: string[];
212
+ }, {
213
+ disallow_root_delete?: boolean | undefined;
214
+ disallow_path_manipulation?: boolean | undefined;
215
+ require_command_whitelist?: boolean | undefined;
216
+ scrub_output?: boolean | undefined;
217
+ redact_patterns?: string[] | undefined;
218
+ }>>;
59
219
  }, "strip", z.ZodTypeAny, {
60
220
  allow_ai_read: boolean;
61
221
  allow_ai_write: boolean;
@@ -69,6 +229,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
69
229
  audit_log: boolean;
70
230
  blacklist_patterns: string[];
71
231
  require_variable_password: boolean;
232
+ command_blacklist: string[];
233
+ run_safety: {
234
+ disallow_root_delete: boolean;
235
+ disallow_path_manipulation: boolean;
236
+ require_command_whitelist: boolean;
237
+ scrub_output: boolean;
238
+ redact_patterns: string[];
239
+ };
72
240
  allowed_commands?: string[] | undefined;
73
241
  allowed_patterns?: string[] | undefined;
74
242
  denied_patterns?: string[] | undefined;
@@ -88,6 +256,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
88
256
  denied_patterns?: string[] | undefined;
89
257
  blacklist_patterns?: string[] | undefined;
90
258
  require_variable_password?: boolean | undefined;
259
+ command_blacklist?: string[] | undefined;
260
+ run_safety?: {
261
+ disallow_root_delete?: boolean | undefined;
262
+ disallow_path_manipulation?: boolean | undefined;
263
+ require_command_whitelist?: boolean | undefined;
264
+ scrub_output?: boolean | undefined;
265
+ redact_patterns?: string[] | undefined;
266
+ } | undefined;
91
267
  }>>;
92
268
  sync: z.ZodDefault<z.ZodObject<{
93
269
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -116,16 +292,22 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
116
292
  timeout_minutes: z.ZodDefault<z.ZodNumber>;
117
293
  max_extensions: z.ZodDefault<z.ZodNumber>;
118
294
  path: z.ZodDefault<z.ZodString>;
295
+ lockout_threshold: z.ZodDefault<z.ZodNumber>;
296
+ lockout_base_seconds: z.ZodDefault<z.ZodNumber>;
119
297
  }, "strip", z.ZodTypeAny, {
120
298
  path: string;
121
299
  enabled: boolean;
122
300
  timeout_minutes: number;
123
301
  max_extensions: number;
302
+ lockout_threshold: number;
303
+ lockout_base_seconds: number;
124
304
  }, {
125
305
  path?: string | undefined;
126
306
  enabled?: boolean | undefined;
127
307
  timeout_minutes?: number | undefined;
128
308
  max_extensions?: number | undefined;
309
+ lockout_threshold?: number | undefined;
310
+ lockout_base_seconds?: number | undefined;
129
311
  }>>;
130
312
  encryption: z.ZodDefault<z.ZodObject<{
131
313
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -144,15 +326,104 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
144
326
  enabled?: boolean | undefined;
145
327
  service?: string | undefined;
146
328
  }>>;
329
+ hsm: z.ZodDefault<z.ZodObject<{
330
+ enabled: z.ZodDefault<z.ZodBoolean>;
331
+ type: z.ZodDefault<z.ZodEnum<["yubikey", "gpg", "pkcs11"]>>;
332
+ serial: z.ZodOptional<z.ZodString>;
333
+ require_touch: z.ZodDefault<z.ZodBoolean>;
334
+ key_id: z.ZodOptional<z.ZodString>;
335
+ pkcs11_lib: z.ZodOptional<z.ZodString>;
336
+ slot: z.ZodOptional<z.ZodNumber>;
337
+ protected_key_path: z.ZodDefault<z.ZodString>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ type: "yubikey" | "gpg" | "pkcs11";
340
+ enabled: boolean;
341
+ require_touch: boolean;
342
+ protected_key_path: string;
343
+ serial?: string | undefined;
344
+ key_id?: string | undefined;
345
+ pkcs11_lib?: string | undefined;
346
+ slot?: number | undefined;
347
+ }, {
348
+ type?: "yubikey" | "gpg" | "pkcs11" | undefined;
349
+ enabled?: boolean | undefined;
350
+ serial?: string | undefined;
351
+ require_touch?: boolean | undefined;
352
+ key_id?: string | undefined;
353
+ pkcs11_lib?: string | undefined;
354
+ slot?: number | undefined;
355
+ protected_key_path?: string | undefined;
356
+ }>>;
357
+ auth: z.ZodDefault<z.ZodObject<{
358
+ method: z.ZodDefault<z.ZodEnum<["password", "keychain", "hsm", "multi"]>>;
359
+ multi_factors: z.ZodDefault<z.ZodArray<z.ZodEnum<["password", "keychain", "hsm"]>, "many">>;
360
+ fallback: z.ZodDefault<z.ZodEnum<["recovery_key", "password", "none"]>>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ method: "keychain" | "hsm" | "password" | "multi";
363
+ multi_factors: ("keychain" | "hsm" | "password")[];
364
+ fallback: "none" | "password" | "recovery_key";
365
+ }, {
366
+ method?: "keychain" | "hsm" | "password" | "multi" | undefined;
367
+ multi_factors?: ("keychain" | "hsm" | "password")[] | undefined;
368
+ fallback?: "none" | "password" | "recovery_key" | undefined;
369
+ }>>;
147
370
  security: z.ZodDefault<z.ZodObject<{
148
371
  mode: z.ZodDefault<z.ZodEnum<["hard-lock", "recoverable"]>>;
149
372
  recovery_file: z.ZodDefault<z.ZodString>;
373
+ brute_force_protection: z.ZodDefault<z.ZodObject<{
374
+ enabled: z.ZodDefault<z.ZodBoolean>;
375
+ max_attempts: z.ZodDefault<z.ZodNumber>;
376
+ lockout_duration: z.ZodDefault<z.ZodNumber>;
377
+ progressive_delay: z.ZodDefault<z.ZodBoolean>;
378
+ max_delay: z.ZodDefault<z.ZodNumber>;
379
+ permanent_lockout_threshold: z.ZodDefault<z.ZodNumber>;
380
+ permanent_lockout_action: z.ZodDefault<z.ZodEnum<["require_recovery_key", "require_admin", "permanent_lock"]>>;
381
+ notifications: z.ZodDefault<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
382
+ }, "strip", z.ZodTypeAny, {
383
+ enabled: boolean;
384
+ max_attempts: number;
385
+ lockout_duration: number;
386
+ progressive_delay: boolean;
387
+ max_delay: number;
388
+ permanent_lockout_threshold: number;
389
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
390
+ notifications: {};
391
+ }, {
392
+ enabled?: boolean | undefined;
393
+ max_attempts?: number | undefined;
394
+ lockout_duration?: number | undefined;
395
+ progressive_delay?: boolean | undefined;
396
+ max_delay?: number | undefined;
397
+ permanent_lockout_threshold?: number | undefined;
398
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
399
+ notifications?: {} | undefined;
400
+ }>>;
150
401
  }, "strip", z.ZodTypeAny, {
151
402
  mode: "hard-lock" | "recoverable";
152
403
  recovery_file: string;
404
+ brute_force_protection: {
405
+ enabled: boolean;
406
+ max_attempts: number;
407
+ lockout_duration: number;
408
+ progressive_delay: boolean;
409
+ max_delay: number;
410
+ permanent_lockout_threshold: number;
411
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
412
+ notifications: {};
413
+ };
153
414
  }, {
154
415
  mode?: "hard-lock" | "recoverable" | undefined;
155
416
  recovery_file?: string | undefined;
417
+ brute_force_protection?: {
418
+ enabled?: boolean | undefined;
419
+ max_attempts?: number | undefined;
420
+ lockout_duration?: number | undefined;
421
+ progressive_delay?: boolean | undefined;
422
+ max_delay?: number | undefined;
423
+ permanent_lockout_threshold?: number | undefined;
424
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
425
+ notifications?: {} | undefined;
426
+ } | undefined;
156
427
  }>>;
157
428
  password: z.ZodDefault<z.ZodObject<{
158
429
  min_length: z.ZodDefault<z.ZodNumber>;
@@ -198,6 +469,114 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
198
469
  accessed?: string | undefined;
199
470
  sync_to_env?: boolean | undefined;
200
471
  }>>>;
472
+ audit: z.ZodDefault<z.ZodObject<{
473
+ enabled: z.ZodDefault<z.ZodBoolean>;
474
+ retain_days: z.ZodDefault<z.ZodNumber>;
475
+ fields: z.ZodDefault<z.ZodObject<{
476
+ session_id: z.ZodDefault<z.ZodBoolean>;
477
+ client_id: z.ZodDefault<z.ZodBoolean>;
478
+ client_type: z.ZodDefault<z.ZodBoolean>;
479
+ ip: z.ZodDefault<z.ZodBoolean>;
480
+ user_agent: z.ZodDefault<z.ZodBoolean>;
481
+ purpose: z.ZodDefault<z.ZodBoolean>;
482
+ duration_ms: z.ZodDefault<z.ZodBoolean>;
483
+ variable: z.ZodDefault<z.ZodBoolean>;
484
+ message: z.ZodDefault<z.ZodBoolean>;
485
+ }, "strip", z.ZodTypeAny, {
486
+ message: boolean;
487
+ session_id: boolean;
488
+ client_id: boolean;
489
+ client_type: boolean;
490
+ ip: boolean;
491
+ user_agent: boolean;
492
+ purpose: boolean;
493
+ duration_ms: boolean;
494
+ variable: boolean;
495
+ }, {
496
+ message?: boolean | undefined;
497
+ session_id?: boolean | undefined;
498
+ client_id?: boolean | undefined;
499
+ client_type?: boolean | undefined;
500
+ ip?: boolean | undefined;
501
+ user_agent?: boolean | undefined;
502
+ purpose?: boolean | undefined;
503
+ duration_ms?: boolean | undefined;
504
+ variable?: boolean | undefined;
505
+ }>>;
506
+ hmac: z.ZodDefault<z.ZodBoolean>;
507
+ hmac_key_path: z.ZodDefault<z.ZodString>;
508
+ hmac_chain: z.ZodDefault<z.ZodBoolean>;
509
+ protection: z.ZodDefault<z.ZodEnum<["none", "append_only", "immutable", "remote"]>>;
510
+ remote_ship: z.ZodOptional<z.ZodObject<{
511
+ type: z.ZodOptional<z.ZodEnum<["syslog", "http", "file"]>>;
512
+ endpoint: z.ZodOptional<z.ZodString>;
513
+ api_key: z.ZodOptional<z.ZodString>;
514
+ batch_size: z.ZodDefault<z.ZodNumber>;
515
+ retry_count: z.ZodDefault<z.ZodNumber>;
516
+ }, "strip", z.ZodTypeAny, {
517
+ batch_size: number;
518
+ retry_count: number;
519
+ type?: "syslog" | "http" | "file" | undefined;
520
+ endpoint?: string | undefined;
521
+ api_key?: string | undefined;
522
+ }, {
523
+ type?: "syslog" | "http" | "file" | undefined;
524
+ endpoint?: string | undefined;
525
+ api_key?: string | undefined;
526
+ batch_size?: number | undefined;
527
+ retry_count?: number | undefined;
528
+ }>>;
529
+ }, "strip", z.ZodTypeAny, {
530
+ enabled: boolean;
531
+ retain_days: number;
532
+ fields: {
533
+ message: boolean;
534
+ session_id: boolean;
535
+ client_id: boolean;
536
+ client_type: boolean;
537
+ ip: boolean;
538
+ user_agent: boolean;
539
+ purpose: boolean;
540
+ duration_ms: boolean;
541
+ variable: boolean;
542
+ };
543
+ hmac: boolean;
544
+ hmac_key_path: string;
545
+ hmac_chain: boolean;
546
+ protection: "none" | "append_only" | "immutable" | "remote";
547
+ remote_ship?: {
548
+ batch_size: number;
549
+ retry_count: number;
550
+ type?: "syslog" | "http" | "file" | undefined;
551
+ endpoint?: string | undefined;
552
+ api_key?: string | undefined;
553
+ } | undefined;
554
+ }, {
555
+ enabled?: boolean | undefined;
556
+ retain_days?: number | undefined;
557
+ fields?: {
558
+ message?: boolean | undefined;
559
+ session_id?: boolean | undefined;
560
+ client_id?: boolean | undefined;
561
+ client_type?: boolean | undefined;
562
+ ip?: boolean | undefined;
563
+ user_agent?: boolean | undefined;
564
+ purpose?: boolean | undefined;
565
+ duration_ms?: boolean | undefined;
566
+ variable?: boolean | undefined;
567
+ } | undefined;
568
+ hmac?: boolean | undefined;
569
+ hmac_key_path?: string | undefined;
570
+ hmac_chain?: boolean | undefined;
571
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
572
+ remote_ship?: {
573
+ type?: "syslog" | "http" | "file" | undefined;
574
+ endpoint?: string | undefined;
575
+ api_key?: string | undefined;
576
+ batch_size?: number | undefined;
577
+ retry_count?: number | undefined;
578
+ } | undefined;
579
+ }>>;
201
580
  server: z.ZodOptional<z.ZodObject<{
202
581
  mode: z.ZodOptional<z.ZodEnum<["mcp", "rest", "openai", "gemini", "all", "auto"]>>;
203
582
  port: z.ZodOptional<z.ZodNumber>;
@@ -219,11 +598,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
219
598
  whitelist?: string[] | undefined;
220
599
  }>>;
221
600
  }, "strip", z.ZodTypeAny, {
601
+ api_key?: string | undefined;
222
602
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
223
603
  port?: number | undefined;
224
604
  host?: string | undefined;
225
605
  cors?: boolean | undefined;
226
- api_key?: string | undefined;
227
606
  auto_detect?: boolean | undefined;
228
607
  rate_limit?: {
229
608
  enabled: boolean;
@@ -231,11 +610,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
231
610
  whitelist: string[];
232
611
  } | undefined;
233
612
  }, {
613
+ api_key?: string | undefined;
234
614
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
235
615
  port?: number | undefined;
236
616
  host?: string | undefined;
237
617
  cors?: boolean | undefined;
238
- api_key?: string | undefined;
239
618
  auto_detect?: boolean | undefined;
240
619
  rate_limit?: {
241
620
  enabled?: boolean | undefined;
@@ -266,6 +645,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
266
645
  audit_log: boolean;
267
646
  blacklist_patterns: string[];
268
647
  require_variable_password: boolean;
648
+ command_blacklist: string[];
649
+ run_safety: {
650
+ disallow_root_delete: boolean;
651
+ disallow_path_manipulation: boolean;
652
+ require_command_whitelist: boolean;
653
+ scrub_output: boolean;
654
+ redact_patterns: string[];
655
+ };
269
656
  allowed_commands?: string[] | undefined;
270
657
  allowed_patterns?: string[] | undefined;
271
658
  denied_patterns?: string[] | undefined;
@@ -283,6 +670,8 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
283
670
  enabled: boolean;
284
671
  timeout_minutes: number;
285
672
  max_extensions: number;
673
+ lockout_threshold: number;
674
+ lockout_base_seconds: number;
286
675
  };
287
676
  encryption: {
288
677
  enabled: boolean;
@@ -291,9 +680,15 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
291
680
  enabled: boolean;
292
681
  service: string;
293
682
  };
294
- security: {
295
- mode: "hard-lock" | "recoverable";
296
- recovery_file: string;
683
+ hsm: {
684
+ type: "yubikey" | "gpg" | "pkcs11";
685
+ enabled: boolean;
686
+ require_touch: boolean;
687
+ protected_key_path: string;
688
+ serial?: string | undefined;
689
+ key_id?: string | undefined;
690
+ pkcs11_lib?: string | undefined;
691
+ slot?: number | undefined;
297
692
  };
298
693
  password: {
299
694
  min_length: number;
@@ -301,6 +696,51 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
301
696
  allow_numeric_only: boolean;
302
697
  allow_single_char: boolean;
303
698
  };
699
+ auth: {
700
+ method: "keychain" | "hsm" | "password" | "multi";
701
+ multi_factors: ("keychain" | "hsm" | "password")[];
702
+ fallback: "none" | "password" | "recovery_key";
703
+ };
704
+ security: {
705
+ mode: "hard-lock" | "recoverable";
706
+ recovery_file: string;
707
+ brute_force_protection: {
708
+ enabled: boolean;
709
+ max_attempts: number;
710
+ lockout_duration: number;
711
+ progressive_delay: boolean;
712
+ max_delay: number;
713
+ permanent_lockout_threshold: number;
714
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
715
+ notifications: {};
716
+ };
717
+ };
718
+ audit: {
719
+ enabled: boolean;
720
+ retain_days: number;
721
+ fields: {
722
+ message: boolean;
723
+ session_id: boolean;
724
+ client_id: boolean;
725
+ client_type: boolean;
726
+ ip: boolean;
727
+ user_agent: boolean;
728
+ purpose: boolean;
729
+ duration_ms: boolean;
730
+ variable: boolean;
731
+ };
732
+ hmac: boolean;
733
+ hmac_key_path: string;
734
+ hmac_chain: boolean;
735
+ protection: "none" | "append_only" | "immutable" | "remote";
736
+ remote_ship?: {
737
+ batch_size: number;
738
+ retry_count: number;
739
+ type?: "syslog" | "http" | "file" | undefined;
740
+ endpoint?: string | undefined;
741
+ api_key?: string | undefined;
742
+ } | undefined;
743
+ };
304
744
  project?: string | undefined;
305
745
  variables?: Record<string, {
306
746
  value: string;
@@ -313,11 +753,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
313
753
  accessed?: string | undefined;
314
754
  }> | undefined;
315
755
  server?: {
756
+ api_key?: string | undefined;
316
757
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
317
758
  port?: number | undefined;
318
759
  host?: string | undefined;
319
760
  cors?: boolean | undefined;
320
- api_key?: string | undefined;
321
761
  auto_detect?: boolean | undefined;
322
762
  rate_limit?: {
323
763
  enabled: boolean;
@@ -352,6 +792,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
352
792
  denied_patterns?: string[] | undefined;
353
793
  blacklist_patterns?: string[] | undefined;
354
794
  require_variable_password?: boolean | undefined;
795
+ command_blacklist?: string[] | undefined;
796
+ run_safety?: {
797
+ disallow_root_delete?: boolean | undefined;
798
+ disallow_path_manipulation?: boolean | undefined;
799
+ require_command_whitelist?: boolean | undefined;
800
+ scrub_output?: boolean | undefined;
801
+ redact_patterns?: string[] | undefined;
802
+ } | undefined;
355
803
  } | undefined;
356
804
  sync?: {
357
805
  enabled?: boolean | undefined;
@@ -366,6 +814,8 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
366
814
  enabled?: boolean | undefined;
367
815
  timeout_minutes?: number | undefined;
368
816
  max_extensions?: number | undefined;
817
+ lockout_threshold?: number | undefined;
818
+ lockout_base_seconds?: number | undefined;
369
819
  } | undefined;
370
820
  encryption?: {
371
821
  enabled?: boolean | undefined;
@@ -374,9 +824,15 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
374
824
  enabled?: boolean | undefined;
375
825
  service?: string | undefined;
376
826
  } | undefined;
377
- security?: {
378
- mode?: "hard-lock" | "recoverable" | undefined;
379
- recovery_file?: string | undefined;
827
+ hsm?: {
828
+ type?: "yubikey" | "gpg" | "pkcs11" | undefined;
829
+ enabled?: boolean | undefined;
830
+ serial?: string | undefined;
831
+ require_touch?: boolean | undefined;
832
+ key_id?: string | undefined;
833
+ pkcs11_lib?: string | undefined;
834
+ slot?: number | undefined;
835
+ protected_key_path?: string | undefined;
380
836
  } | undefined;
381
837
  password?: {
382
838
  min_length?: number | undefined;
@@ -384,6 +840,25 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
384
840
  allow_numeric_only?: boolean | undefined;
385
841
  allow_single_char?: boolean | undefined;
386
842
  } | undefined;
843
+ auth?: {
844
+ method?: "keychain" | "hsm" | "password" | "multi" | undefined;
845
+ multi_factors?: ("keychain" | "hsm" | "password")[] | undefined;
846
+ fallback?: "none" | "password" | "recovery_key" | undefined;
847
+ } | undefined;
848
+ security?: {
849
+ mode?: "hard-lock" | "recoverable" | undefined;
850
+ recovery_file?: string | undefined;
851
+ brute_force_protection?: {
852
+ enabled?: boolean | undefined;
853
+ max_attempts?: number | undefined;
854
+ lockout_duration?: number | undefined;
855
+ progressive_delay?: boolean | undefined;
856
+ max_delay?: number | undefined;
857
+ permanent_lockout_threshold?: number | undefined;
858
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
859
+ notifications?: {} | undefined;
860
+ } | undefined;
861
+ } | undefined;
387
862
  variables?: Record<string, {
388
863
  value: string;
389
864
  encrypted?: boolean | undefined;
@@ -394,12 +869,38 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
394
869
  accessed?: string | undefined;
395
870
  sync_to_env?: boolean | undefined;
396
871
  }> | undefined;
872
+ audit?: {
873
+ enabled?: boolean | undefined;
874
+ retain_days?: number | undefined;
875
+ fields?: {
876
+ message?: boolean | undefined;
877
+ session_id?: boolean | undefined;
878
+ client_id?: boolean | undefined;
879
+ client_type?: boolean | undefined;
880
+ ip?: boolean | undefined;
881
+ user_agent?: boolean | undefined;
882
+ purpose?: boolean | undefined;
883
+ duration_ms?: boolean | undefined;
884
+ variable?: boolean | undefined;
885
+ } | undefined;
886
+ hmac?: boolean | undefined;
887
+ hmac_key_path?: string | undefined;
888
+ hmac_chain?: boolean | undefined;
889
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
890
+ remote_ship?: {
891
+ type?: "syslog" | "http" | "file" | undefined;
892
+ endpoint?: string | undefined;
893
+ api_key?: string | undefined;
894
+ batch_size?: number | undefined;
895
+ retry_count?: number | undefined;
896
+ } | undefined;
897
+ } | undefined;
397
898
  server?: {
899
+ api_key?: string | undefined;
398
900
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
399
901
  port?: number | undefined;
400
902
  host?: string | undefined;
401
903
  cors?: boolean | undefined;
402
- api_key?: string | undefined;
403
904
  auto_detect?: boolean | undefined;
404
905
  rate_limit?: {
405
906
  enabled?: boolean | undefined;
@@ -452,25 +953,55 @@ export declare const VariableSchema: z.ZodObject<{
452
953
  export type Variable = z.infer<typeof VariableSchema>;
453
954
  export declare const OperationLogSchema: z.ZodObject<{
454
955
  timestamp: z.ZodString;
455
- operation: z.ZodEnum<["add", "get", "update", "delete", "list", "sync", "export", "unlock", "lock", "check_access"]>;
956
+ operation: z.ZodEnum<["add", "get", "update", "delete", "list", "sync", "export", "unlock", "lock", "check_access", "run", "auth_failure", "permanent_lockout", "lockout_triggered"]>;
456
957
  variable: z.ZodOptional<z.ZodString>;
457
958
  source: z.ZodEnum<["cli", "mcp", "api"]>;
458
959
  success: z.ZodBoolean;
459
960
  message: z.ZodOptional<z.ZodString>;
961
+ session_id: z.ZodOptional<z.ZodString>;
962
+ client_id: z.ZodOptional<z.ZodString>;
963
+ client_type: z.ZodOptional<z.ZodString>;
964
+ ip: z.ZodOptional<z.ZodString>;
965
+ user_agent: z.ZodOptional<z.ZodString>;
966
+ purpose: z.ZodOptional<z.ZodString>;
967
+ duration_ms: z.ZodOptional<z.ZodNumber>;
968
+ hmac: z.ZodOptional<z.ZodString>;
969
+ prev_hmac: z.ZodOptional<z.ZodString>;
970
+ chain_index: z.ZodOptional<z.ZodNumber>;
460
971
  }, "strip", z.ZodTypeAny, {
461
972
  timestamp: string;
462
- operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access";
973
+ operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access" | "run" | "auth_failure" | "permanent_lockout" | "lockout_triggered";
463
974
  source: "mcp" | "cli" | "api";
464
975
  success: boolean;
465
976
  message?: string | undefined;
977
+ session_id?: string | undefined;
978
+ client_id?: string | undefined;
979
+ client_type?: string | undefined;
980
+ ip?: string | undefined;
981
+ user_agent?: string | undefined;
982
+ purpose?: string | undefined;
983
+ duration_ms?: number | undefined;
466
984
  variable?: string | undefined;
985
+ hmac?: string | undefined;
986
+ prev_hmac?: string | undefined;
987
+ chain_index?: number | undefined;
467
988
  }, {
468
989
  timestamp: string;
469
- operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access";
990
+ operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access" | "run" | "auth_failure" | "permanent_lockout" | "lockout_triggered";
470
991
  source: "mcp" | "cli" | "api";
471
992
  success: boolean;
472
993
  message?: string | undefined;
994
+ session_id?: string | undefined;
995
+ client_id?: string | undefined;
996
+ client_type?: string | undefined;
997
+ ip?: string | undefined;
998
+ user_agent?: string | undefined;
999
+ purpose?: string | undefined;
1000
+ duration_ms?: number | undefined;
473
1001
  variable?: string | undefined;
1002
+ hmac?: string | undefined;
1003
+ prev_hmac?: string | undefined;
1004
+ chain_index?: number | undefined;
474
1005
  }>;
475
1006
  export type OperationLog = z.infer<typeof OperationLogSchema>;
476
1007
  export declare const SessionSchema: z.ZodObject<{
@@ -526,11 +1057,11 @@ export declare const ServerConfigSchema: z.ZodObject<{
526
1057
  whitelist: string[];
527
1058
  } | undefined;
528
1059
  }, {
1060
+ api_key?: string | undefined;
529
1061
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
530
1062
  port?: number | undefined;
531
1063
  host?: string | undefined;
532
1064
  cors?: boolean | undefined;
533
- api_key?: string | undefined;
534
1065
  auto_detect?: boolean | undefined;
535
1066
  rate_limit?: {
536
1067
  enabled?: boolean | undefined;