@fentz26/envcp 1.1.0 → 1.2.0-exp.8d5b91b

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 (115) hide show
  1. package/README.md +65 -421
  2. package/VERSION +1 -0
  3. package/dist/adapters/base.d.ts +31 -3
  4. package/dist/adapters/base.d.ts.map +1 -1
  5. package/dist/adapters/base.js +235 -26
  6. package/dist/adapters/base.js.map +1 -1
  7. package/dist/adapters/gemini.d.ts +1 -1
  8. package/dist/adapters/gemini.d.ts.map +1 -1
  9. package/dist/adapters/gemini.js +12 -7
  10. package/dist/adapters/gemini.js.map +1 -1
  11. package/dist/adapters/openai.d.ts +1 -1
  12. package/dist/adapters/openai.d.ts.map +1 -1
  13. package/dist/adapters/openai.js +14 -9
  14. package/dist/adapters/openai.js.map +1 -1
  15. package/dist/adapters/rest.d.ts +3 -1
  16. package/dist/adapters/rest.d.ts.map +1 -1
  17. package/dist/adapters/rest.js +99 -15
  18. package/dist/adapters/rest.js.map +1 -1
  19. package/dist/cli/index.js +678 -138
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/config/config-guard.d.ts.map +1 -1
  22. package/dist/config/config-guard.js +3 -2
  23. package/dist/config/config-guard.js.map +1 -1
  24. package/dist/config/config-hmac.d.ts +5 -0
  25. package/dist/config/config-hmac.d.ts.map +1 -0
  26. package/dist/config/config-hmac.js +29 -0
  27. package/dist/config/config-hmac.js.map +1 -0
  28. package/dist/config/manager.d.ts +20 -2
  29. package/dist/config/manager.d.ts.map +1 -1
  30. package/dist/config/manager.js +103 -26
  31. package/dist/config/manager.js.map +1 -1
  32. package/dist/mcp/server.d.ts +1 -1
  33. package/dist/mcp/server.d.ts.map +1 -1
  34. package/dist/mcp/server.js +8 -4
  35. package/dist/mcp/server.js.map +1 -1
  36. package/dist/server/unified.d.ts +4 -1
  37. package/dist/server/unified.d.ts.map +1 -1
  38. package/dist/server/unified.js +108 -39
  39. package/dist/server/unified.js.map +1 -1
  40. package/dist/service/config.d.ts +21 -0
  41. package/dist/service/config.d.ts.map +1 -0
  42. package/dist/service/config.js +94 -0
  43. package/dist/service/config.js.map +1 -0
  44. package/dist/service/generators.d.ts +14 -0
  45. package/dist/service/generators.d.ts.map +1 -0
  46. package/dist/service/generators.js +92 -0
  47. package/dist/service/generators.js.map +1 -0
  48. package/dist/service/index.d.ts +23 -0
  49. package/dist/service/index.d.ts.map +1 -0
  50. package/dist/service/index.js +215 -0
  51. package/dist/service/index.js.map +1 -0
  52. package/dist/service/platform.d.ts +5 -0
  53. package/dist/service/platform.d.ts.map +1 -0
  54. package/dist/service/platform.js +25 -0
  55. package/dist/service/platform.js.map +1 -0
  56. package/dist/storage/index.d.ts +52 -10
  57. package/dist/storage/index.d.ts.map +1 -1
  58. package/dist/storage/index.js +350 -31
  59. package/dist/storage/index.js.map +1 -1
  60. package/dist/types.d.ts +574 -14
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/types.js +79 -2
  63. package/dist/types.js.map +1 -1
  64. package/dist/utils/crypto.d.ts +9 -0
  65. package/dist/utils/crypto.d.ts.map +1 -1
  66. package/dist/utils/crypto.js +88 -19
  67. package/dist/utils/crypto.js.map +1 -1
  68. package/dist/utils/fs.d.ts +1 -0
  69. package/dist/utils/fs.d.ts.map +1 -1
  70. package/dist/utils/fs.js +12 -0
  71. package/dist/utils/fs.js.map +1 -1
  72. package/dist/utils/hsm.d.ts +82 -0
  73. package/dist/utils/hsm.d.ts.map +1 -0
  74. package/dist/utils/hsm.js +344 -0
  75. package/dist/utils/hsm.js.map +1 -0
  76. package/dist/utils/http.d.ts.map +1 -1
  77. package/dist/utils/http.js +14 -4
  78. package/dist/utils/http.js.map +1 -1
  79. package/dist/utils/keychain.d.ts.map +1 -1
  80. package/dist/utils/keychain.js +0 -8
  81. package/dist/utils/keychain.js.map +1 -1
  82. package/dist/utils/lock.d.ts +1 -1
  83. package/dist/utils/lock.d.ts.map +1 -1
  84. package/dist/utils/lock.js +4 -2
  85. package/dist/utils/lock.js.map +1 -1
  86. package/dist/utils/lockout.d.ts +56 -0
  87. package/dist/utils/lockout.d.ts.map +1 -0
  88. package/dist/utils/lockout.js +209 -0
  89. package/dist/utils/lockout.js.map +1 -0
  90. package/dist/utils/prompt.d.ts +13 -0
  91. package/dist/utils/prompt.d.ts.map +1 -0
  92. package/dist/utils/prompt.js +124 -0
  93. package/dist/utils/prompt.js.map +1 -0
  94. package/dist/utils/secure-memory.d.ts +20 -0
  95. package/dist/utils/secure-memory.d.ts.map +1 -0
  96. package/dist/utils/secure-memory.js +122 -0
  97. package/dist/utils/secure-memory.js.map +1 -0
  98. package/dist/utils/session.d.ts.map +1 -1
  99. package/dist/utils/session.js +14 -4
  100. package/dist/utils/session.js.map +1 -1
  101. package/dist/utils/update-checker.d.ts +1 -1
  102. package/dist/utils/update-checker.d.ts.map +1 -1
  103. package/dist/utils/update-checker.js +7 -5
  104. package/dist/utils/update-checker.js.map +1 -1
  105. package/dist/vault/index.d.ts +2 -0
  106. package/dist/vault/index.d.ts.map +1 -1
  107. package/dist/vault/index.js +12 -2
  108. package/dist/vault/index.js.map +1 -1
  109. package/dist/version.d.ts +2 -0
  110. package/dist/version.d.ts.map +1 -0
  111. package/dist/version.js +8 -0
  112. package/dist/version.js.map +1 -0
  113. package/package.json +18 -9
  114. package/scripts/sync-version.js +88 -0
  115. package/scripts/install.sh +0 -54
package/dist/types.d.ts CHANGED
@@ -17,17 +17,163 @@ 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
+ log_path: z.ZodOptional<z.ZodString>;
89
+ protection: z.ZodDefault<z.ZodEnum<["none", "append_only", "immutable", "remote"]>>;
90
+ remote_ship: z.ZodOptional<z.ZodObject<{
91
+ type: z.ZodOptional<z.ZodEnum<["syslog", "http", "file"]>>;
92
+ endpoint: z.ZodOptional<z.ZodString>;
93
+ api_key: z.ZodOptional<z.ZodString>;
94
+ batch_size: z.ZodDefault<z.ZodNumber>;
95
+ retry_count: z.ZodDefault<z.ZodNumber>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ batch_size: number;
98
+ retry_count: number;
99
+ type?: "syslog" | "http" | "file" | undefined;
100
+ endpoint?: string | undefined;
101
+ api_key?: string | undefined;
102
+ }, {
103
+ type?: "syslog" | "http" | "file" | undefined;
104
+ endpoint?: string | undefined;
105
+ api_key?: string | undefined;
106
+ batch_size?: number | undefined;
107
+ retry_count?: number | undefined;
108
+ }>>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ enabled: boolean;
111
+ retain_days: number;
112
+ fields: {
113
+ message: boolean;
114
+ session_id: boolean;
115
+ client_id: boolean;
116
+ client_type: boolean;
117
+ ip: boolean;
118
+ user_agent: boolean;
119
+ purpose: boolean;
120
+ duration_ms: boolean;
121
+ variable: boolean;
122
+ };
123
+ hmac: boolean;
124
+ hmac_key_path: string;
125
+ hmac_chain: boolean;
126
+ protection: "none" | "append_only" | "immutable" | "remote";
127
+ log_path?: string | undefined;
128
+ remote_ship?: {
129
+ batch_size: number;
130
+ retry_count: number;
131
+ type?: "syslog" | "http" | "file" | undefined;
132
+ endpoint?: string | undefined;
133
+ api_key?: string | undefined;
134
+ } | undefined;
135
+ }, {
136
+ enabled?: boolean | undefined;
137
+ retain_days?: number | undefined;
138
+ fields?: {
139
+ message?: boolean | undefined;
140
+ session_id?: boolean | undefined;
141
+ client_id?: boolean | undefined;
142
+ client_type?: boolean | undefined;
143
+ ip?: boolean | undefined;
144
+ user_agent?: boolean | undefined;
145
+ purpose?: boolean | undefined;
146
+ duration_ms?: boolean | undefined;
147
+ variable?: boolean | undefined;
148
+ } | undefined;
149
+ hmac?: boolean | undefined;
150
+ hmac_key_path?: string | undefined;
151
+ hmac_chain?: boolean | undefined;
152
+ log_path?: string | undefined;
153
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
154
+ remote_ship?: {
155
+ type?: "syslog" | "http" | "file" | undefined;
156
+ endpoint?: string | undefined;
157
+ api_key?: string | undefined;
158
+ batch_size?: number | undefined;
159
+ retry_count?: number | undefined;
160
+ } | undefined;
161
+ }>>;
162
+ export type AuditConfig = z.infer<typeof AuditConfigSchema>;
20
163
  export declare const EnvCPConfigSchema: z.ZodObject<{
21
164
  version: z.ZodDefault<z.ZodString>;
22
165
  project: z.ZodOptional<z.ZodString>;
23
166
  vault: z.ZodDefault<z.ZodObject<{
167
+ mode: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
24
168
  default: z.ZodDefault<z.ZodEnum<["project", "global"]>>;
25
169
  global_path: z.ZodDefault<z.ZodString>;
26
170
  }, "strip", z.ZodTypeAny, {
27
171
  default: "project" | "global";
28
172
  global_path: string;
173
+ mode?: "project" | "global" | undefined;
29
174
  }, {
30
175
  default?: "project" | "global" | undefined;
176
+ mode?: "project" | "global" | undefined;
31
177
  global_path?: string | undefined;
32
178
  }>>;
33
179
  storage: z.ZodDefault<z.ZodObject<{
@@ -47,6 +193,9 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
47
193
  allow_ai_export: z.ZodDefault<z.ZodBoolean>;
48
194
  allow_ai_execute: z.ZodDefault<z.ZodBoolean>;
49
195
  allow_ai_active_check: z.ZodDefault<z.ZodBoolean>;
196
+ allow_ai_logs: z.ZodDefault<z.ZodBoolean>;
197
+ logs_default_role: z.ZodDefault<z.ZodEnum<["full", "own_sessions", "readonly", "none"]>>;
198
+ logs_roles: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEnum<["full", "own_sessions", "readonly", "none"]>>>;
50
199
  require_user_reference: z.ZodDefault<z.ZodBoolean>;
51
200
  allowed_commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
201
  require_confirmation: z.ZodDefault<z.ZodBoolean>;
@@ -56,6 +205,26 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
56
205
  denied_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
57
206
  blacklist_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
58
207
  require_variable_password: z.ZodDefault<z.ZodBoolean>;
208
+ command_blacklist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
209
+ run_safety: z.ZodDefault<z.ZodObject<{
210
+ disallow_root_delete: z.ZodDefault<z.ZodBoolean>;
211
+ disallow_path_manipulation: z.ZodDefault<z.ZodBoolean>;
212
+ require_command_whitelist: z.ZodDefault<z.ZodBoolean>;
213
+ scrub_output: z.ZodDefault<z.ZodBoolean>;
214
+ redact_patterns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ disallow_root_delete: boolean;
217
+ disallow_path_manipulation: boolean;
218
+ require_command_whitelist: boolean;
219
+ scrub_output: boolean;
220
+ redact_patterns: string[];
221
+ }, {
222
+ disallow_root_delete?: boolean | undefined;
223
+ disallow_path_manipulation?: boolean | undefined;
224
+ require_command_whitelist?: boolean | undefined;
225
+ scrub_output?: boolean | undefined;
226
+ redact_patterns?: string[] | undefined;
227
+ }>>;
59
228
  }, "strip", z.ZodTypeAny, {
60
229
  allow_ai_read: boolean;
61
230
  allow_ai_write: boolean;
@@ -63,12 +232,23 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
63
232
  allow_ai_export: boolean;
64
233
  allow_ai_execute: boolean;
65
234
  allow_ai_active_check: boolean;
235
+ allow_ai_logs: boolean;
236
+ logs_default_role: "none" | "full" | "own_sessions" | "readonly";
237
+ logs_roles: Record<string, "none" | "full" | "own_sessions" | "readonly">;
66
238
  require_user_reference: boolean;
67
239
  require_confirmation: boolean;
68
240
  mask_values: boolean;
69
241
  audit_log: boolean;
70
242
  blacklist_patterns: string[];
71
243
  require_variable_password: boolean;
244
+ command_blacklist: string[];
245
+ run_safety: {
246
+ disallow_root_delete: boolean;
247
+ disallow_path_manipulation: boolean;
248
+ require_command_whitelist: boolean;
249
+ scrub_output: boolean;
250
+ redact_patterns: string[];
251
+ };
72
252
  allowed_commands?: string[] | undefined;
73
253
  allowed_patterns?: string[] | undefined;
74
254
  denied_patterns?: string[] | undefined;
@@ -79,6 +259,9 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
79
259
  allow_ai_export?: boolean | undefined;
80
260
  allow_ai_execute?: boolean | undefined;
81
261
  allow_ai_active_check?: boolean | undefined;
262
+ allow_ai_logs?: boolean | undefined;
263
+ logs_default_role?: "none" | "full" | "own_sessions" | "readonly" | undefined;
264
+ logs_roles?: Record<string, "none" | "full" | "own_sessions" | "readonly"> | undefined;
82
265
  require_user_reference?: boolean | undefined;
83
266
  allowed_commands?: string[] | undefined;
84
267
  require_confirmation?: boolean | undefined;
@@ -88,6 +271,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
88
271
  denied_patterns?: string[] | undefined;
89
272
  blacklist_patterns?: string[] | undefined;
90
273
  require_variable_password?: boolean | undefined;
274
+ command_blacklist?: string[] | undefined;
275
+ run_safety?: {
276
+ disallow_root_delete?: boolean | undefined;
277
+ disallow_path_manipulation?: boolean | undefined;
278
+ require_command_whitelist?: boolean | undefined;
279
+ scrub_output?: boolean | undefined;
280
+ redact_patterns?: string[] | undefined;
281
+ } | undefined;
91
282
  }>>;
92
283
  sync: z.ZodDefault<z.ZodObject<{
93
284
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -116,16 +307,22 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
116
307
  timeout_minutes: z.ZodDefault<z.ZodNumber>;
117
308
  max_extensions: z.ZodDefault<z.ZodNumber>;
118
309
  path: z.ZodDefault<z.ZodString>;
310
+ lockout_threshold: z.ZodDefault<z.ZodNumber>;
311
+ lockout_base_seconds: z.ZodDefault<z.ZodNumber>;
119
312
  }, "strip", z.ZodTypeAny, {
120
313
  path: string;
121
314
  enabled: boolean;
122
315
  timeout_minutes: number;
123
316
  max_extensions: number;
317
+ lockout_threshold: number;
318
+ lockout_base_seconds: number;
124
319
  }, {
125
320
  path?: string | undefined;
126
321
  enabled?: boolean | undefined;
127
322
  timeout_minutes?: number | undefined;
128
323
  max_extensions?: number | undefined;
324
+ lockout_threshold?: number | undefined;
325
+ lockout_base_seconds?: number | undefined;
129
326
  }>>;
130
327
  encryption: z.ZodDefault<z.ZodObject<{
131
328
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -144,15 +341,104 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
144
341
  enabled?: boolean | undefined;
145
342
  service?: string | undefined;
146
343
  }>>;
344
+ hsm: z.ZodDefault<z.ZodObject<{
345
+ enabled: z.ZodDefault<z.ZodBoolean>;
346
+ type: z.ZodDefault<z.ZodEnum<["yubikey", "gpg", "pkcs11"]>>;
347
+ serial: z.ZodOptional<z.ZodString>;
348
+ require_touch: z.ZodDefault<z.ZodBoolean>;
349
+ key_id: z.ZodOptional<z.ZodString>;
350
+ pkcs11_lib: z.ZodOptional<z.ZodString>;
351
+ slot: z.ZodOptional<z.ZodNumber>;
352
+ protected_key_path: z.ZodDefault<z.ZodString>;
353
+ }, "strip", z.ZodTypeAny, {
354
+ type: "yubikey" | "gpg" | "pkcs11";
355
+ enabled: boolean;
356
+ require_touch: boolean;
357
+ protected_key_path: string;
358
+ serial?: string | undefined;
359
+ key_id?: string | undefined;
360
+ pkcs11_lib?: string | undefined;
361
+ slot?: number | undefined;
362
+ }, {
363
+ type?: "yubikey" | "gpg" | "pkcs11" | undefined;
364
+ enabled?: boolean | undefined;
365
+ serial?: string | undefined;
366
+ require_touch?: boolean | undefined;
367
+ key_id?: string | undefined;
368
+ pkcs11_lib?: string | undefined;
369
+ slot?: number | undefined;
370
+ protected_key_path?: string | undefined;
371
+ }>>;
372
+ auth: z.ZodDefault<z.ZodObject<{
373
+ method: z.ZodDefault<z.ZodEnum<["password", "keychain", "hsm", "multi"]>>;
374
+ multi_factors: z.ZodDefault<z.ZodArray<z.ZodEnum<["password", "keychain", "hsm"]>, "many">>;
375
+ fallback: z.ZodDefault<z.ZodEnum<["recovery_key", "password", "none"]>>;
376
+ }, "strip", z.ZodTypeAny, {
377
+ method: "keychain" | "hsm" | "password" | "multi";
378
+ multi_factors: ("keychain" | "hsm" | "password")[];
379
+ fallback: "none" | "password" | "recovery_key";
380
+ }, {
381
+ method?: "keychain" | "hsm" | "password" | "multi" | undefined;
382
+ multi_factors?: ("keychain" | "hsm" | "password")[] | undefined;
383
+ fallback?: "none" | "password" | "recovery_key" | undefined;
384
+ }>>;
147
385
  security: z.ZodDefault<z.ZodObject<{
148
386
  mode: z.ZodDefault<z.ZodEnum<["hard-lock", "recoverable"]>>;
149
387
  recovery_file: z.ZodDefault<z.ZodString>;
388
+ brute_force_protection: z.ZodDefault<z.ZodObject<{
389
+ enabled: z.ZodDefault<z.ZodBoolean>;
390
+ max_attempts: z.ZodDefault<z.ZodNumber>;
391
+ lockout_duration: z.ZodDefault<z.ZodNumber>;
392
+ progressive_delay: z.ZodDefault<z.ZodBoolean>;
393
+ max_delay: z.ZodDefault<z.ZodNumber>;
394
+ permanent_lockout_threshold: z.ZodDefault<z.ZodNumber>;
395
+ permanent_lockout_action: z.ZodDefault<z.ZodEnum<["require_recovery_key", "require_admin", "permanent_lock"]>>;
396
+ notifications: z.ZodDefault<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
397
+ }, "strip", z.ZodTypeAny, {
398
+ enabled: boolean;
399
+ max_attempts: number;
400
+ lockout_duration: number;
401
+ progressive_delay: boolean;
402
+ max_delay: number;
403
+ permanent_lockout_threshold: number;
404
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
405
+ notifications: {};
406
+ }, {
407
+ enabled?: boolean | undefined;
408
+ max_attempts?: number | undefined;
409
+ lockout_duration?: number | undefined;
410
+ progressive_delay?: boolean | undefined;
411
+ max_delay?: number | undefined;
412
+ permanent_lockout_threshold?: number | undefined;
413
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
414
+ notifications?: {} | undefined;
415
+ }>>;
150
416
  }, "strip", z.ZodTypeAny, {
151
417
  mode: "hard-lock" | "recoverable";
152
418
  recovery_file: string;
419
+ brute_force_protection: {
420
+ enabled: boolean;
421
+ max_attempts: number;
422
+ lockout_duration: number;
423
+ progressive_delay: boolean;
424
+ max_delay: number;
425
+ permanent_lockout_threshold: number;
426
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
427
+ notifications: {};
428
+ };
153
429
  }, {
154
430
  mode?: "hard-lock" | "recoverable" | undefined;
155
431
  recovery_file?: string | undefined;
432
+ brute_force_protection?: {
433
+ enabled?: boolean | undefined;
434
+ max_attempts?: number | undefined;
435
+ lockout_duration?: number | undefined;
436
+ progressive_delay?: boolean | undefined;
437
+ max_delay?: number | undefined;
438
+ permanent_lockout_threshold?: number | undefined;
439
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
440
+ notifications?: {} | undefined;
441
+ } | undefined;
156
442
  }>>;
157
443
  password: z.ZodDefault<z.ZodObject<{
158
444
  min_length: z.ZodDefault<z.ZodNumber>;
@@ -198,6 +484,117 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
198
484
  accessed?: string | undefined;
199
485
  sync_to_env?: boolean | undefined;
200
486
  }>>>;
487
+ audit: z.ZodDefault<z.ZodObject<{
488
+ enabled: z.ZodDefault<z.ZodBoolean>;
489
+ retain_days: z.ZodDefault<z.ZodNumber>;
490
+ fields: z.ZodDefault<z.ZodObject<{
491
+ session_id: z.ZodDefault<z.ZodBoolean>;
492
+ client_id: z.ZodDefault<z.ZodBoolean>;
493
+ client_type: z.ZodDefault<z.ZodBoolean>;
494
+ ip: z.ZodDefault<z.ZodBoolean>;
495
+ user_agent: z.ZodDefault<z.ZodBoolean>;
496
+ purpose: z.ZodDefault<z.ZodBoolean>;
497
+ duration_ms: z.ZodDefault<z.ZodBoolean>;
498
+ variable: z.ZodDefault<z.ZodBoolean>;
499
+ message: z.ZodDefault<z.ZodBoolean>;
500
+ }, "strip", z.ZodTypeAny, {
501
+ message: boolean;
502
+ session_id: boolean;
503
+ client_id: boolean;
504
+ client_type: boolean;
505
+ ip: boolean;
506
+ user_agent: boolean;
507
+ purpose: boolean;
508
+ duration_ms: boolean;
509
+ variable: boolean;
510
+ }, {
511
+ message?: boolean | undefined;
512
+ session_id?: boolean | undefined;
513
+ client_id?: boolean | undefined;
514
+ client_type?: boolean | undefined;
515
+ ip?: boolean | undefined;
516
+ user_agent?: boolean | undefined;
517
+ purpose?: boolean | undefined;
518
+ duration_ms?: boolean | undefined;
519
+ variable?: boolean | undefined;
520
+ }>>;
521
+ hmac: z.ZodDefault<z.ZodBoolean>;
522
+ hmac_key_path: z.ZodDefault<z.ZodString>;
523
+ hmac_chain: z.ZodDefault<z.ZodBoolean>;
524
+ log_path: z.ZodOptional<z.ZodString>;
525
+ protection: z.ZodDefault<z.ZodEnum<["none", "append_only", "immutable", "remote"]>>;
526
+ remote_ship: z.ZodOptional<z.ZodObject<{
527
+ type: z.ZodOptional<z.ZodEnum<["syslog", "http", "file"]>>;
528
+ endpoint: z.ZodOptional<z.ZodString>;
529
+ api_key: z.ZodOptional<z.ZodString>;
530
+ batch_size: z.ZodDefault<z.ZodNumber>;
531
+ retry_count: z.ZodDefault<z.ZodNumber>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ batch_size: number;
534
+ retry_count: number;
535
+ type?: "syslog" | "http" | "file" | undefined;
536
+ endpoint?: string | undefined;
537
+ api_key?: string | undefined;
538
+ }, {
539
+ type?: "syslog" | "http" | "file" | undefined;
540
+ endpoint?: string | undefined;
541
+ api_key?: string | undefined;
542
+ batch_size?: number | undefined;
543
+ retry_count?: number | undefined;
544
+ }>>;
545
+ }, "strip", z.ZodTypeAny, {
546
+ enabled: boolean;
547
+ retain_days: number;
548
+ fields: {
549
+ message: boolean;
550
+ session_id: boolean;
551
+ client_id: boolean;
552
+ client_type: boolean;
553
+ ip: boolean;
554
+ user_agent: boolean;
555
+ purpose: boolean;
556
+ duration_ms: boolean;
557
+ variable: boolean;
558
+ };
559
+ hmac: boolean;
560
+ hmac_key_path: string;
561
+ hmac_chain: boolean;
562
+ protection: "none" | "append_only" | "immutable" | "remote";
563
+ log_path?: string | undefined;
564
+ remote_ship?: {
565
+ batch_size: number;
566
+ retry_count: number;
567
+ type?: "syslog" | "http" | "file" | undefined;
568
+ endpoint?: string | undefined;
569
+ api_key?: string | undefined;
570
+ } | undefined;
571
+ }, {
572
+ enabled?: boolean | undefined;
573
+ retain_days?: number | undefined;
574
+ fields?: {
575
+ message?: boolean | undefined;
576
+ session_id?: boolean | undefined;
577
+ client_id?: boolean | undefined;
578
+ client_type?: boolean | undefined;
579
+ ip?: boolean | undefined;
580
+ user_agent?: boolean | undefined;
581
+ purpose?: boolean | undefined;
582
+ duration_ms?: boolean | undefined;
583
+ variable?: boolean | undefined;
584
+ } | undefined;
585
+ hmac?: boolean | undefined;
586
+ hmac_key_path?: string | undefined;
587
+ hmac_chain?: boolean | undefined;
588
+ log_path?: string | undefined;
589
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
590
+ remote_ship?: {
591
+ type?: "syslog" | "http" | "file" | undefined;
592
+ endpoint?: string | undefined;
593
+ api_key?: string | undefined;
594
+ batch_size?: number | undefined;
595
+ retry_count?: number | undefined;
596
+ } | undefined;
597
+ }>>;
201
598
  server: z.ZodOptional<z.ZodObject<{
202
599
  mode: z.ZodOptional<z.ZodEnum<["mcp", "rest", "openai", "gemini", "all", "auto"]>>;
203
600
  port: z.ZodOptional<z.ZodNumber>;
@@ -219,11 +616,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
219
616
  whitelist?: string[] | undefined;
220
617
  }>>;
221
618
  }, "strip", z.ZodTypeAny, {
619
+ api_key?: string | undefined;
222
620
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
223
621
  port?: number | undefined;
224
622
  host?: string | undefined;
225
623
  cors?: boolean | undefined;
226
- api_key?: string | undefined;
227
624
  auto_detect?: boolean | undefined;
228
625
  rate_limit?: {
229
626
  enabled: boolean;
@@ -231,11 +628,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
231
628
  whitelist: string[];
232
629
  } | undefined;
233
630
  }, {
631
+ api_key?: string | undefined;
234
632
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
235
633
  port?: number | undefined;
236
634
  host?: string | undefined;
237
635
  cors?: boolean | undefined;
238
- api_key?: string | undefined;
239
636
  auto_detect?: boolean | undefined;
240
637
  rate_limit?: {
241
638
  enabled?: boolean | undefined;
@@ -248,6 +645,7 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
248
645
  vault: {
249
646
  default: "project" | "global";
250
647
  global_path: string;
648
+ mode?: "project" | "global" | undefined;
251
649
  };
252
650
  storage: {
253
651
  path: string;
@@ -260,12 +658,23 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
260
658
  allow_ai_export: boolean;
261
659
  allow_ai_execute: boolean;
262
660
  allow_ai_active_check: boolean;
661
+ allow_ai_logs: boolean;
662
+ logs_default_role: "none" | "full" | "own_sessions" | "readonly";
663
+ logs_roles: Record<string, "none" | "full" | "own_sessions" | "readonly">;
263
664
  require_user_reference: boolean;
264
665
  require_confirmation: boolean;
265
666
  mask_values: boolean;
266
667
  audit_log: boolean;
267
668
  blacklist_patterns: string[];
268
669
  require_variable_password: boolean;
670
+ command_blacklist: string[];
671
+ run_safety: {
672
+ disallow_root_delete: boolean;
673
+ disallow_path_manipulation: boolean;
674
+ require_command_whitelist: boolean;
675
+ scrub_output: boolean;
676
+ redact_patterns: string[];
677
+ };
269
678
  allowed_commands?: string[] | undefined;
270
679
  allowed_patterns?: string[] | undefined;
271
680
  denied_patterns?: string[] | undefined;
@@ -283,6 +692,8 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
283
692
  enabled: boolean;
284
693
  timeout_minutes: number;
285
694
  max_extensions: number;
695
+ lockout_threshold: number;
696
+ lockout_base_seconds: number;
286
697
  };
287
698
  encryption: {
288
699
  enabled: boolean;
@@ -291,9 +702,15 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
291
702
  enabled: boolean;
292
703
  service: string;
293
704
  };
294
- security: {
295
- mode: "hard-lock" | "recoverable";
296
- recovery_file: string;
705
+ hsm: {
706
+ type: "yubikey" | "gpg" | "pkcs11";
707
+ enabled: boolean;
708
+ require_touch: boolean;
709
+ protected_key_path: string;
710
+ serial?: string | undefined;
711
+ key_id?: string | undefined;
712
+ pkcs11_lib?: string | undefined;
713
+ slot?: number | undefined;
297
714
  };
298
715
  password: {
299
716
  min_length: number;
@@ -301,6 +718,52 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
301
718
  allow_numeric_only: boolean;
302
719
  allow_single_char: boolean;
303
720
  };
721
+ auth: {
722
+ method: "keychain" | "hsm" | "password" | "multi";
723
+ multi_factors: ("keychain" | "hsm" | "password")[];
724
+ fallback: "none" | "password" | "recovery_key";
725
+ };
726
+ security: {
727
+ mode: "hard-lock" | "recoverable";
728
+ recovery_file: string;
729
+ brute_force_protection: {
730
+ enabled: boolean;
731
+ max_attempts: number;
732
+ lockout_duration: number;
733
+ progressive_delay: boolean;
734
+ max_delay: number;
735
+ permanent_lockout_threshold: number;
736
+ permanent_lockout_action: "require_recovery_key" | "require_admin" | "permanent_lock";
737
+ notifications: {};
738
+ };
739
+ };
740
+ audit: {
741
+ enabled: boolean;
742
+ retain_days: number;
743
+ fields: {
744
+ message: boolean;
745
+ session_id: boolean;
746
+ client_id: boolean;
747
+ client_type: boolean;
748
+ ip: boolean;
749
+ user_agent: boolean;
750
+ purpose: boolean;
751
+ duration_ms: boolean;
752
+ variable: boolean;
753
+ };
754
+ hmac: boolean;
755
+ hmac_key_path: string;
756
+ hmac_chain: boolean;
757
+ protection: "none" | "append_only" | "immutable" | "remote";
758
+ log_path?: string | undefined;
759
+ remote_ship?: {
760
+ batch_size: number;
761
+ retry_count: number;
762
+ type?: "syslog" | "http" | "file" | undefined;
763
+ endpoint?: string | undefined;
764
+ api_key?: string | undefined;
765
+ } | undefined;
766
+ };
304
767
  project?: string | undefined;
305
768
  variables?: Record<string, {
306
769
  value: string;
@@ -313,11 +776,11 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
313
776
  accessed?: string | undefined;
314
777
  }> | undefined;
315
778
  server?: {
779
+ api_key?: string | undefined;
316
780
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
317
781
  port?: number | undefined;
318
782
  host?: string | undefined;
319
783
  cors?: boolean | undefined;
320
- api_key?: string | undefined;
321
784
  auto_detect?: boolean | undefined;
322
785
  rate_limit?: {
323
786
  enabled: boolean;
@@ -330,6 +793,7 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
330
793
  version?: string | undefined;
331
794
  vault?: {
332
795
  default?: "project" | "global" | undefined;
796
+ mode?: "project" | "global" | undefined;
333
797
  global_path?: string | undefined;
334
798
  } | undefined;
335
799
  storage?: {
@@ -343,6 +807,9 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
343
807
  allow_ai_export?: boolean | undefined;
344
808
  allow_ai_execute?: boolean | undefined;
345
809
  allow_ai_active_check?: boolean | undefined;
810
+ allow_ai_logs?: boolean | undefined;
811
+ logs_default_role?: "none" | "full" | "own_sessions" | "readonly" | undefined;
812
+ logs_roles?: Record<string, "none" | "full" | "own_sessions" | "readonly"> | undefined;
346
813
  require_user_reference?: boolean | undefined;
347
814
  allowed_commands?: string[] | undefined;
348
815
  require_confirmation?: boolean | undefined;
@@ -352,6 +819,14 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
352
819
  denied_patterns?: string[] | undefined;
353
820
  blacklist_patterns?: string[] | undefined;
354
821
  require_variable_password?: boolean | undefined;
822
+ command_blacklist?: string[] | undefined;
823
+ run_safety?: {
824
+ disallow_root_delete?: boolean | undefined;
825
+ disallow_path_manipulation?: boolean | undefined;
826
+ require_command_whitelist?: boolean | undefined;
827
+ scrub_output?: boolean | undefined;
828
+ redact_patterns?: string[] | undefined;
829
+ } | undefined;
355
830
  } | undefined;
356
831
  sync?: {
357
832
  enabled?: boolean | undefined;
@@ -366,6 +841,8 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
366
841
  enabled?: boolean | undefined;
367
842
  timeout_minutes?: number | undefined;
368
843
  max_extensions?: number | undefined;
844
+ lockout_threshold?: number | undefined;
845
+ lockout_base_seconds?: number | undefined;
369
846
  } | undefined;
370
847
  encryption?: {
371
848
  enabled?: boolean | undefined;
@@ -374,9 +851,15 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
374
851
  enabled?: boolean | undefined;
375
852
  service?: string | undefined;
376
853
  } | undefined;
377
- security?: {
378
- mode?: "hard-lock" | "recoverable" | undefined;
379
- recovery_file?: string | undefined;
854
+ hsm?: {
855
+ type?: "yubikey" | "gpg" | "pkcs11" | undefined;
856
+ enabled?: boolean | undefined;
857
+ serial?: string | undefined;
858
+ require_touch?: boolean | undefined;
859
+ key_id?: string | undefined;
860
+ pkcs11_lib?: string | undefined;
861
+ slot?: number | undefined;
862
+ protected_key_path?: string | undefined;
380
863
  } | undefined;
381
864
  password?: {
382
865
  min_length?: number | undefined;
@@ -384,6 +867,25 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
384
867
  allow_numeric_only?: boolean | undefined;
385
868
  allow_single_char?: boolean | undefined;
386
869
  } | undefined;
870
+ auth?: {
871
+ method?: "keychain" | "hsm" | "password" | "multi" | undefined;
872
+ multi_factors?: ("keychain" | "hsm" | "password")[] | undefined;
873
+ fallback?: "none" | "password" | "recovery_key" | undefined;
874
+ } | undefined;
875
+ security?: {
876
+ mode?: "hard-lock" | "recoverable" | undefined;
877
+ recovery_file?: string | undefined;
878
+ brute_force_protection?: {
879
+ enabled?: boolean | undefined;
880
+ max_attempts?: number | undefined;
881
+ lockout_duration?: number | undefined;
882
+ progressive_delay?: boolean | undefined;
883
+ max_delay?: number | undefined;
884
+ permanent_lockout_threshold?: number | undefined;
885
+ permanent_lockout_action?: "require_recovery_key" | "require_admin" | "permanent_lock" | undefined;
886
+ notifications?: {} | undefined;
887
+ } | undefined;
888
+ } | undefined;
387
889
  variables?: Record<string, {
388
890
  value: string;
389
891
  encrypted?: boolean | undefined;
@@ -394,12 +896,39 @@ export declare const EnvCPConfigSchema: z.ZodObject<{
394
896
  accessed?: string | undefined;
395
897
  sync_to_env?: boolean | undefined;
396
898
  }> | undefined;
899
+ audit?: {
900
+ enabled?: boolean | undefined;
901
+ retain_days?: number | undefined;
902
+ fields?: {
903
+ message?: boolean | undefined;
904
+ session_id?: boolean | undefined;
905
+ client_id?: boolean | undefined;
906
+ client_type?: boolean | undefined;
907
+ ip?: boolean | undefined;
908
+ user_agent?: boolean | undefined;
909
+ purpose?: boolean | undefined;
910
+ duration_ms?: boolean | undefined;
911
+ variable?: boolean | undefined;
912
+ } | undefined;
913
+ hmac?: boolean | undefined;
914
+ hmac_key_path?: string | undefined;
915
+ hmac_chain?: boolean | undefined;
916
+ log_path?: string | undefined;
917
+ protection?: "none" | "append_only" | "immutable" | "remote" | undefined;
918
+ remote_ship?: {
919
+ type?: "syslog" | "http" | "file" | undefined;
920
+ endpoint?: string | undefined;
921
+ api_key?: string | undefined;
922
+ batch_size?: number | undefined;
923
+ retry_count?: number | undefined;
924
+ } | undefined;
925
+ } | undefined;
397
926
  server?: {
927
+ api_key?: string | undefined;
398
928
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
399
929
  port?: number | undefined;
400
930
  host?: string | undefined;
401
931
  cors?: boolean | undefined;
402
- api_key?: string | undefined;
403
932
  auto_detect?: boolean | undefined;
404
933
  rate_limit?: {
405
934
  enabled?: boolean | undefined;
@@ -450,27 +979,58 @@ export declare const VariableSchema: z.ZodObject<{
450
979
  protected_value?: string | undefined;
451
980
  }>;
452
981
  export type Variable = z.infer<typeof VariableSchema>;
982
+ export type LogsRole = 'full' | 'own_sessions' | 'readonly' | 'none';
453
983
  export declare const OperationLogSchema: z.ZodObject<{
454
984
  timestamp: z.ZodString;
455
- operation: z.ZodEnum<["add", "get", "update", "delete", "list", "sync", "export", "unlock", "lock", "check_access"]>;
985
+ operation: z.ZodEnum<["add", "get", "update", "delete", "list", "sync", "export", "unlock", "lock", "check_access", "run", "auth_failure", "permanent_lockout", "lockout_triggered"]>;
456
986
  variable: z.ZodOptional<z.ZodString>;
457
987
  source: z.ZodEnum<["cli", "mcp", "api"]>;
458
988
  success: z.ZodBoolean;
459
989
  message: z.ZodOptional<z.ZodString>;
990
+ session_id: z.ZodOptional<z.ZodString>;
991
+ client_id: z.ZodOptional<z.ZodString>;
992
+ client_type: z.ZodOptional<z.ZodString>;
993
+ ip: z.ZodOptional<z.ZodString>;
994
+ user_agent: z.ZodOptional<z.ZodString>;
995
+ purpose: z.ZodOptional<z.ZodString>;
996
+ duration_ms: z.ZodOptional<z.ZodNumber>;
997
+ hmac: z.ZodOptional<z.ZodString>;
998
+ prev_hmac: z.ZodOptional<z.ZodString>;
999
+ chain_index: z.ZodOptional<z.ZodNumber>;
460
1000
  }, "strip", z.ZodTypeAny, {
461
1001
  timestamp: string;
462
- operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access";
1002
+ operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access" | "run" | "auth_failure" | "permanent_lockout" | "lockout_triggered";
463
1003
  source: "mcp" | "cli" | "api";
464
1004
  success: boolean;
465
1005
  message?: string | undefined;
1006
+ session_id?: string | undefined;
1007
+ client_id?: string | undefined;
1008
+ client_type?: string | undefined;
1009
+ ip?: string | undefined;
1010
+ user_agent?: string | undefined;
1011
+ purpose?: string | undefined;
1012
+ duration_ms?: number | undefined;
466
1013
  variable?: string | undefined;
1014
+ hmac?: string | undefined;
1015
+ prev_hmac?: string | undefined;
1016
+ chain_index?: number | undefined;
467
1017
  }, {
468
1018
  timestamp: string;
469
- operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access";
1019
+ operation: "sync" | "add" | "get" | "update" | "delete" | "list" | "export" | "unlock" | "lock" | "check_access" | "run" | "auth_failure" | "permanent_lockout" | "lockout_triggered";
470
1020
  source: "mcp" | "cli" | "api";
471
1021
  success: boolean;
472
1022
  message?: string | undefined;
1023
+ session_id?: string | undefined;
1024
+ client_id?: string | undefined;
1025
+ client_type?: string | undefined;
1026
+ ip?: string | undefined;
1027
+ user_agent?: string | undefined;
1028
+ purpose?: string | undefined;
1029
+ duration_ms?: number | undefined;
473
1030
  variable?: string | undefined;
1031
+ hmac?: string | undefined;
1032
+ prev_hmac?: string | undefined;
1033
+ chain_index?: number | undefined;
474
1034
  }>;
475
1035
  export type OperationLog = z.infer<typeof OperationLogSchema>;
476
1036
  export declare const SessionSchema: z.ZodObject<{
@@ -526,11 +1086,11 @@ export declare const ServerConfigSchema: z.ZodObject<{
526
1086
  whitelist: string[];
527
1087
  } | undefined;
528
1088
  }, {
1089
+ api_key?: string | undefined;
529
1090
  mode?: "mcp" | "rest" | "openai" | "gemini" | "all" | "auto" | undefined;
530
1091
  port?: number | undefined;
531
1092
  host?: string | undefined;
532
1093
  cors?: boolean | undefined;
533
- api_key?: string | undefined;
534
1094
  auto_detect?: boolean | undefined;
535
1095
  rate_limit?: {
536
1096
  enabled?: boolean | undefined;