vaulter 0.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 (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +490 -0
  3. package/dist/bin/minienv-mcp.cjs +17 -0
  4. package/dist/bin/minienv.cjs +146 -0
  5. package/dist/cli/commands/delete.d.ts +22 -0
  6. package/dist/cli/commands/delete.d.ts.map +1 -0
  7. package/dist/cli/commands/delete.js +85 -0
  8. package/dist/cli/commands/delete.js.map +1 -0
  9. package/dist/cli/commands/export.d.ts +21 -0
  10. package/dist/cli/commands/export.d.ts.map +1 -0
  11. package/dist/cli/commands/export.js +126 -0
  12. package/dist/cli/commands/export.js.map +1 -0
  13. package/dist/cli/commands/get.d.ts +21 -0
  14. package/dist/cli/commands/get.d.ts.map +1 -0
  15. package/dist/cli/commands/get.js +62 -0
  16. package/dist/cli/commands/get.js.map +1 -0
  17. package/dist/cli/commands/init.d.ts +20 -0
  18. package/dist/cli/commands/init.d.ts.map +1 -0
  19. package/dist/cli/commands/init.js +98 -0
  20. package/dist/cli/commands/init.js.map +1 -0
  21. package/dist/cli/commands/integrations/helm.d.ts +21 -0
  22. package/dist/cli/commands/integrations/helm.d.ts.map +1 -0
  23. package/dist/cli/commands/integrations/helm.js +113 -0
  24. package/dist/cli/commands/integrations/helm.js.map +1 -0
  25. package/dist/cli/commands/integrations/kubernetes.d.ts +25 -0
  26. package/dist/cli/commands/integrations/kubernetes.d.ts.map +1 -0
  27. package/dist/cli/commands/integrations/kubernetes.js +199 -0
  28. package/dist/cli/commands/integrations/kubernetes.js.map +1 -0
  29. package/dist/cli/commands/integrations/terraform.d.ts +25 -0
  30. package/dist/cli/commands/integrations/terraform.d.ts.map +1 -0
  31. package/dist/cli/commands/integrations/terraform.js +131 -0
  32. package/dist/cli/commands/integrations/terraform.js.map +1 -0
  33. package/dist/cli/commands/key.d.ts +19 -0
  34. package/dist/cli/commands/key.d.ts.map +1 -0
  35. package/dist/cli/commands/key.js +247 -0
  36. package/dist/cli/commands/key.js.map +1 -0
  37. package/dist/cli/commands/list.d.ts +21 -0
  38. package/dist/cli/commands/list.d.ts.map +1 -0
  39. package/dist/cli/commands/list.js +94 -0
  40. package/dist/cli/commands/list.js.map +1 -0
  41. package/dist/cli/commands/pull.d.ts +22 -0
  42. package/dist/cli/commands/pull.d.ts.map +1 -0
  43. package/dist/cli/commands/pull.js +142 -0
  44. package/dist/cli/commands/pull.js.map +1 -0
  45. package/dist/cli/commands/push.d.ts +22 -0
  46. package/dist/cli/commands/push.d.ts.map +1 -0
  47. package/dist/cli/commands/push.js +181 -0
  48. package/dist/cli/commands/push.js.map +1 -0
  49. package/dist/cli/commands/services.d.ts +18 -0
  50. package/dist/cli/commands/services.d.ts.map +1 -0
  51. package/dist/cli/commands/services.js +92 -0
  52. package/dist/cli/commands/services.js.map +1 -0
  53. package/dist/cli/commands/set.d.ts +22 -0
  54. package/dist/cli/commands/set.d.ts.map +1 -0
  55. package/dist/cli/commands/set.js +93 -0
  56. package/dist/cli/commands/set.js.map +1 -0
  57. package/dist/cli/commands/sync.d.ts +23 -0
  58. package/dist/cli/commands/sync.d.ts.map +1 -0
  59. package/dist/cli/commands/sync.js +362 -0
  60. package/dist/cli/commands/sync.js.map +1 -0
  61. package/dist/cli/index.d.ts +7 -0
  62. package/dist/cli/index.d.ts.map +1 -0
  63. package/dist/cli/index.js +266 -0
  64. package/dist/cli/index.js.map +1 -0
  65. package/dist/cli/lib/create-client.d.ts +21 -0
  66. package/dist/cli/lib/create-client.d.ts.map +1 -0
  67. package/dist/cli/lib/create-client.js +68 -0
  68. package/dist/cli/lib/create-client.js.map +1 -0
  69. package/dist/cli/lib/hooks.d.ts +5 -0
  70. package/dist/cli/lib/hooks.d.ts.map +1 -0
  71. package/dist/cli/lib/hooks.js +17 -0
  72. package/dist/cli/lib/hooks.js.map +1 -0
  73. package/dist/cli/preload.d.ts +6 -0
  74. package/dist/cli/preload.d.ts.map +1 -0
  75. package/dist/cli/preload.js +7 -0
  76. package/dist/cli/preload.js.map +1 -0
  77. package/dist/client.d.ts +89 -0
  78. package/dist/client.d.ts.map +1 -0
  79. package/dist/client.js +350 -0
  80. package/dist/client.js.map +1 -0
  81. package/dist/index.d.ts +20 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +33 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/lib/batch-runner.d.ts +39 -0
  86. package/dist/lib/batch-runner.d.ts.map +1 -0
  87. package/dist/lib/batch-runner.js +117 -0
  88. package/dist/lib/batch-runner.js.map +1 -0
  89. package/dist/lib/config-loader.d.ts +45 -0
  90. package/dist/lib/config-loader.d.ts.map +1 -0
  91. package/dist/lib/config-loader.js +357 -0
  92. package/dist/lib/config-loader.js.map +1 -0
  93. package/dist/lib/env-parser.d.ts +38 -0
  94. package/dist/lib/env-parser.d.ts.map +1 -0
  95. package/dist/lib/env-parser.js +281 -0
  96. package/dist/lib/env-parser.js.map +1 -0
  97. package/dist/lib/monorepo.d.ts +39 -0
  98. package/dist/lib/monorepo.d.ts.map +1 -0
  99. package/dist/lib/monorepo.js +181 -0
  100. package/dist/lib/monorepo.js.map +1 -0
  101. package/dist/lib/pattern-matcher.d.ts +5 -0
  102. package/dist/lib/pattern-matcher.d.ts.map +1 -0
  103. package/dist/lib/pattern-matcher.js +18 -0
  104. package/dist/lib/pattern-matcher.js.map +1 -0
  105. package/dist/lib/s3-key-loader.d.ts +33 -0
  106. package/dist/lib/s3-key-loader.d.ts.map +1 -0
  107. package/dist/lib/s3-key-loader.js +83 -0
  108. package/dist/lib/s3-key-loader.js.map +1 -0
  109. package/dist/lib/secret-patterns.d.ts +10 -0
  110. package/dist/lib/secret-patterns.d.ts.map +1 -0
  111. package/dist/lib/secret-patterns.js +27 -0
  112. package/dist/lib/secret-patterns.js.map +1 -0
  113. package/dist/load.d.ts +14 -0
  114. package/dist/load.d.ts.map +1 -0
  115. package/dist/load.js +15 -0
  116. package/dist/load.js.map +1 -0
  117. package/dist/loader.d.ts +63 -0
  118. package/dist/loader.d.ts.map +1 -0
  119. package/dist/loader.js +50 -0
  120. package/dist/loader.js.map +1 -0
  121. package/dist/mcp/index.d.ts +8 -0
  122. package/dist/mcp/index.d.ts.map +1 -0
  123. package/dist/mcp/index.js +14 -0
  124. package/dist/mcp/index.js.map +1 -0
  125. package/dist/mcp/preload.d.ts +6 -0
  126. package/dist/mcp/preload.d.ts.map +1 -0
  127. package/dist/mcp/preload.js +7 -0
  128. package/dist/mcp/preload.js.map +1 -0
  129. package/dist/mcp/resources.d.ts +23 -0
  130. package/dist/mcp/resources.d.ts.map +1 -0
  131. package/dist/mcp/resources.js +112 -0
  132. package/dist/mcp/resources.js.map +1 -0
  133. package/dist/mcp/server.d.ts +16 -0
  134. package/dist/mcp/server.d.ts.map +1 -0
  135. package/dist/mcp/server.js +81 -0
  136. package/dist/mcp/server.js.map +1 -0
  137. package/dist/mcp/tools.d.ts +20 -0
  138. package/dist/mcp/tools.d.ts.map +1 -0
  139. package/dist/mcp/tools.js +405 -0
  140. package/dist/mcp/tools.js.map +1 -0
  141. package/dist/types.d.ts +182 -0
  142. package/dist/types.d.ts.map +1 -0
  143. package/dist/types.js +37 -0
  144. package/dist/types.js.map +1 -0
  145. package/package.json +114 -0
@@ -0,0 +1,405 @@
1
+ /**
2
+ * Vaulter MCP Tools
3
+ *
4
+ * Tool definitions and handlers for the MCP server
5
+ */
6
+ import { VaulterClient } from '../client.js';
7
+ import { loadConfig, loadEncryptionKey, findConfigDir, getEnvFilePath } from '../lib/config-loader.js';
8
+ import { parseEnvFile } from '../lib/env-parser.js';
9
+ import fs from 'node:fs';
10
+ /**
11
+ * Get current config and client
12
+ */
13
+ async function getClientAndConfig() {
14
+ let config = null;
15
+ try {
16
+ config = loadConfig();
17
+ }
18
+ catch {
19
+ // Config not found is OK
20
+ }
21
+ const connectionString = config?.backend?.url;
22
+ const passphrase = config ? await loadEncryptionKey(config) : undefined;
23
+ const client = new VaulterClient({
24
+ connectionString: connectionString || undefined,
25
+ passphrase: passphrase || undefined
26
+ });
27
+ return { client, config };
28
+ }
29
+ /**
30
+ * Register all available tools
31
+ */
32
+ export function registerTools() {
33
+ return [
34
+ {
35
+ name: 'vaulter_get',
36
+ description: 'Get the value of an environment variable',
37
+ inputSchema: {
38
+ type: 'object',
39
+ properties: {
40
+ key: {
41
+ type: 'string',
42
+ description: 'The name of the environment variable'
43
+ },
44
+ environment: {
45
+ type: 'string',
46
+ description: 'Environment (dev/stg/prd/sbx/dr)',
47
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
48
+ default: 'dev'
49
+ },
50
+ project: {
51
+ type: 'string',
52
+ description: 'Project name (optional, defaults to config)'
53
+ },
54
+ service: {
55
+ type: 'string',
56
+ description: 'Service name for monorepos (optional)'
57
+ }
58
+ },
59
+ required: ['key']
60
+ }
61
+ },
62
+ {
63
+ name: 'vaulter_set',
64
+ description: 'Set an environment variable value',
65
+ inputSchema: {
66
+ type: 'object',
67
+ properties: {
68
+ key: {
69
+ type: 'string',
70
+ description: 'The name of the environment variable'
71
+ },
72
+ value: {
73
+ type: 'string',
74
+ description: 'The value to set'
75
+ },
76
+ environment: {
77
+ type: 'string',
78
+ description: 'Environment (dev/stg/prd/sbx/dr)',
79
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
80
+ default: 'dev'
81
+ },
82
+ project: {
83
+ type: 'string',
84
+ description: 'Project name (optional, defaults to config)'
85
+ },
86
+ service: {
87
+ type: 'string',
88
+ description: 'Service name for monorepos (optional)'
89
+ }
90
+ },
91
+ required: ['key', 'value']
92
+ }
93
+ },
94
+ {
95
+ name: 'vaulter_delete',
96
+ description: 'Delete an environment variable',
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ key: {
101
+ type: 'string',
102
+ description: 'The name of the environment variable to delete'
103
+ },
104
+ environment: {
105
+ type: 'string',
106
+ description: 'Environment (dev/stg/prd/sbx/dr)',
107
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
108
+ default: 'dev'
109
+ },
110
+ project: {
111
+ type: 'string',
112
+ description: 'Project name (optional, defaults to config)'
113
+ },
114
+ service: {
115
+ type: 'string',
116
+ description: 'Service name for monorepos (optional)'
117
+ }
118
+ },
119
+ required: ['key']
120
+ }
121
+ },
122
+ {
123
+ name: 'vaulter_list',
124
+ description: 'List all environment variables for a project/environment',
125
+ inputSchema: {
126
+ type: 'object',
127
+ properties: {
128
+ environment: {
129
+ type: 'string',
130
+ description: 'Environment (dev/stg/prd/sbx/dr)',
131
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
132
+ default: 'dev'
133
+ },
134
+ project: {
135
+ type: 'string',
136
+ description: 'Project name (optional, defaults to config)'
137
+ },
138
+ service: {
139
+ type: 'string',
140
+ description: 'Service name for monorepos (optional)'
141
+ },
142
+ showValues: {
143
+ type: 'boolean',
144
+ description: 'Show values (default: false for security)',
145
+ default: false
146
+ }
147
+ }
148
+ }
149
+ },
150
+ {
151
+ name: 'vaulter_export',
152
+ description: 'Export environment variables in shell format',
153
+ inputSchema: {
154
+ type: 'object',
155
+ properties: {
156
+ environment: {
157
+ type: 'string',
158
+ description: 'Environment (dev/stg/prd/sbx/dr)',
159
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
160
+ default: 'dev'
161
+ },
162
+ project: {
163
+ type: 'string',
164
+ description: 'Project name (optional, defaults to config)'
165
+ },
166
+ service: {
167
+ type: 'string',
168
+ description: 'Service name for monorepos (optional)'
169
+ },
170
+ format: {
171
+ type: 'string',
172
+ description: 'Output format',
173
+ enum: ['shell', 'env', 'json', 'yaml'],
174
+ default: 'shell'
175
+ }
176
+ }
177
+ }
178
+ },
179
+ {
180
+ name: 'vaulter_sync',
181
+ description: 'Sync local .env file with backend storage',
182
+ inputSchema: {
183
+ type: 'object',
184
+ properties: {
185
+ environment: {
186
+ type: 'string',
187
+ description: 'Environment (dev/stg/prd/sbx/dr)',
188
+ enum: ['dev', 'stg', 'prd', 'sbx', 'dr'],
189
+ default: 'dev'
190
+ },
191
+ project: {
192
+ type: 'string',
193
+ description: 'Project name (optional, defaults to config)'
194
+ },
195
+ service: {
196
+ type: 'string',
197
+ description: 'Service name for monorepos (optional)'
198
+ },
199
+ dryRun: {
200
+ type: 'boolean',
201
+ description: 'Show what would be changed without making changes',
202
+ default: false
203
+ }
204
+ }
205
+ }
206
+ }
207
+ ];
208
+ }
209
+ /**
210
+ * Handle tool calls
211
+ */
212
+ export async function handleToolCall(name, args) {
213
+ const { client, config } = await getClientAndConfig();
214
+ const project = args.project || config?.project || '';
215
+ const environment = args.environment || config?.default_environment || 'dev';
216
+ const service = args.service;
217
+ if (!project) {
218
+ return {
219
+ content: [{
220
+ type: 'text',
221
+ text: 'Error: Project not specified. Either set project in args or run from a directory with .vaulter/config.yaml'
222
+ }]
223
+ };
224
+ }
225
+ try {
226
+ await client.connect();
227
+ switch (name) {
228
+ case 'vaulter_get': {
229
+ const key = args.key;
230
+ const envVar = await client.get(key, project, environment, service);
231
+ return {
232
+ content: [{
233
+ type: 'text',
234
+ text: envVar !== null ? envVar.value : `Variable ${key} not found`
235
+ }]
236
+ };
237
+ }
238
+ case 'vaulter_set': {
239
+ const key = args.key;
240
+ const value = args.value;
241
+ await client.set({
242
+ key,
243
+ value,
244
+ project,
245
+ environment,
246
+ service,
247
+ metadata: { source: 'manual' }
248
+ });
249
+ return {
250
+ content: [{
251
+ type: 'text',
252
+ text: `✓ Set ${key} in ${project}/${environment}`
253
+ }]
254
+ };
255
+ }
256
+ case 'vaulter_delete': {
257
+ const key = args.key;
258
+ const deleted = await client.delete(key, project, environment, service);
259
+ return {
260
+ content: [{
261
+ type: 'text',
262
+ text: deleted ? `✓ Deleted ${key}` : `Variable ${key} not found`
263
+ }]
264
+ };
265
+ }
266
+ case 'vaulter_list': {
267
+ const showValues = args.showValues || false;
268
+ const vars = await client.list({ project, environment, service });
269
+ if (vars.length === 0) {
270
+ return {
271
+ content: [{
272
+ type: 'text',
273
+ text: `No variables found for ${project}/${environment}`
274
+ }]
275
+ };
276
+ }
277
+ const lines = vars.map(v => showValues ? `${v.key}=${v.value}` : v.key);
278
+ return {
279
+ content: [{
280
+ type: 'text',
281
+ text: `Variables in ${project}/${environment}:\n${lines.join('\n')}`
282
+ }]
283
+ };
284
+ }
285
+ case 'vaulter_export': {
286
+ const format = args.format || 'shell';
287
+ const vars = await client.export(project, environment, service);
288
+ let output;
289
+ switch (format) {
290
+ case 'json':
291
+ output = JSON.stringify(vars, null, 2);
292
+ break;
293
+ case 'yaml':
294
+ output = Object.entries(vars)
295
+ .map(([k, v]) => `${k}: "${v.replace(/"/g, '\\"')}"`)
296
+ .join('\n');
297
+ break;
298
+ case 'env':
299
+ output = Object.entries(vars)
300
+ .map(([k, v]) => `${k}=${v}`)
301
+ .join('\n');
302
+ break;
303
+ case 'shell':
304
+ default:
305
+ output = Object.entries(vars)
306
+ .map(([k, v]) => `export ${k}="${v.replace(/"/g, '\\"')}"`)
307
+ .join('\n');
308
+ }
309
+ return {
310
+ content: [{
311
+ type: 'text',
312
+ text: output
313
+ }]
314
+ };
315
+ }
316
+ case 'vaulter_sync': {
317
+ const dryRun = args.dryRun || false;
318
+ // Read local .env file
319
+ const configDir = findConfigDir();
320
+ if (!configDir) {
321
+ return {
322
+ content: [{
323
+ type: 'text',
324
+ text: 'Error: No .vaulter directory found'
325
+ }]
326
+ };
327
+ }
328
+ const envFilePath = getEnvFilePath(configDir, environment);
329
+ if (!fs.existsSync(envFilePath)) {
330
+ return {
331
+ content: [{
332
+ type: 'text',
333
+ text: `Error: Environment file not found: ${envFilePath}`
334
+ }]
335
+ };
336
+ }
337
+ const localVars = parseEnvFile(envFilePath);
338
+ if (dryRun) {
339
+ const remoteVars = await client.export(project, environment, service);
340
+ const toAdd = [];
341
+ const toUpdate = [];
342
+ const toDelete = [];
343
+ for (const [key, value] of Object.entries(localVars)) {
344
+ if (!(key in remoteVars)) {
345
+ toAdd.push(key);
346
+ }
347
+ else if (remoteVars[key] !== value) {
348
+ toUpdate.push(key);
349
+ }
350
+ }
351
+ for (const key of Object.keys(remoteVars)) {
352
+ if (!(key in localVars)) {
353
+ toDelete.push(key);
354
+ }
355
+ }
356
+ const lines = ['Dry run - changes that would be made:'];
357
+ if (toAdd.length > 0)
358
+ lines.push(` Add: ${toAdd.join(', ')}`);
359
+ if (toUpdate.length > 0)
360
+ lines.push(` Update: ${toUpdate.join(', ')}`);
361
+ if (toDelete.length > 0)
362
+ lines.push(` Delete: ${toDelete.join(', ')}`);
363
+ if (toAdd.length === 0 && toUpdate.length === 0 && toDelete.length === 0) {
364
+ lines.push(' No changes needed');
365
+ }
366
+ return {
367
+ content: [{
368
+ type: 'text',
369
+ text: lines.join('\n')
370
+ }]
371
+ };
372
+ }
373
+ const result = await client.sync(localVars, project, environment, service, {
374
+ source: 'sync'
375
+ });
376
+ const lines = [`✓ Synced ${project}/${environment}`];
377
+ if (result.added.length > 0)
378
+ lines.push(` Added: ${result.added.length}`);
379
+ if (result.updated.length > 0)
380
+ lines.push(` Updated: ${result.updated.length}`);
381
+ if (result.deleted.length > 0)
382
+ lines.push(` Deleted: ${result.deleted.length}`);
383
+ if (result.unchanged.length > 0)
384
+ lines.push(` Unchanged: ${result.unchanged.length}`);
385
+ return {
386
+ content: [{
387
+ type: 'text',
388
+ text: lines.join('\n')
389
+ }]
390
+ };
391
+ }
392
+ default:
393
+ return {
394
+ content: [{
395
+ type: 'text',
396
+ text: `Unknown tool: ${name}`
397
+ }]
398
+ };
399
+ }
400
+ }
401
+ finally {
402
+ await client.disconnect();
403
+ }
404
+ }
405
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Vaulter - Type Definitions
3
+ */
4
+ export type Environment = 'dev' | 'stg' | 'prd' | 'sbx' | 'dr';
5
+ export declare const ENVIRONMENTS: Environment[];
6
+ export declare const ENVIRONMENT_NAMES: Record<Environment, string>;
7
+ export interface EnvVarMetadata {
8
+ description?: string;
9
+ owner?: string;
10
+ rotateAfter?: Date;
11
+ source?: 'manual' | 'sync' | 'import';
12
+ }
13
+ export interface EnvVar {
14
+ id: string;
15
+ key: string;
16
+ value: string;
17
+ project: string;
18
+ service?: string;
19
+ environment: Environment;
20
+ tags?: string[];
21
+ metadata?: EnvVarMetadata;
22
+ createdAt: Date;
23
+ updatedAt: Date;
24
+ }
25
+ export interface EnvVarInput {
26
+ key: string;
27
+ value: string;
28
+ project: string;
29
+ service?: string;
30
+ environment: Environment;
31
+ tags?: string[];
32
+ metadata?: EnvVarMetadata;
33
+ }
34
+ export interface BackendConfig {
35
+ /** Single backend URL */
36
+ url?: string;
37
+ /** Multiple backend URLs with fallback (tries in order) */
38
+ urls?: string[];
39
+ }
40
+ export interface KeySourceEnv {
41
+ env: string;
42
+ }
43
+ export interface KeySourceFile {
44
+ file: string;
45
+ }
46
+ export interface KeySourceS3 {
47
+ s3: string;
48
+ }
49
+ export type KeySource = KeySourceEnv | KeySourceFile | KeySourceS3;
50
+ export interface EncryptionConfig {
51
+ key_source?: KeySource[];
52
+ algorithm?: 'aes-256-gcm';
53
+ rotation?: {
54
+ enabled: boolean;
55
+ interval_days: number;
56
+ };
57
+ }
58
+ export interface SyncConfig {
59
+ conflict?: 'local' | 'remote' | 'prompt' | 'error';
60
+ ignore?: string[];
61
+ required?: Record<Environment, string[]>;
62
+ }
63
+ export interface KubernetesIntegrationConfig {
64
+ namespace?: string;
65
+ secret_name?: string;
66
+ configmap_name?: string;
67
+ }
68
+ export interface TerraformIntegrationConfig {
69
+ var_file?: string;
70
+ }
71
+ export interface HelmIntegrationConfig {
72
+ values_file?: string;
73
+ }
74
+ export interface IntegrationsConfig {
75
+ kubernetes?: KubernetesIntegrationConfig;
76
+ terraform?: TerraformIntegrationConfig;
77
+ helm?: HelmIntegrationConfig;
78
+ }
79
+ export interface HooksConfig {
80
+ pre_sync?: string | null;
81
+ post_sync?: string | null;
82
+ pre_pull?: string | null;
83
+ post_pull?: string | null;
84
+ }
85
+ export interface SecurityConfig {
86
+ paranoid?: boolean;
87
+ confirm_production?: boolean;
88
+ auto_encrypt?: {
89
+ patterns?: string[];
90
+ };
91
+ }
92
+ export interface VaulterConfig {
93
+ version: '1';
94
+ project: string;
95
+ service?: string;
96
+ backend?: BackendConfig;
97
+ encryption?: EncryptionConfig;
98
+ environments?: Environment[];
99
+ default_environment?: Environment;
100
+ extends?: string;
101
+ sync?: SyncConfig;
102
+ integrations?: IntegrationsConfig;
103
+ hooks?: HooksConfig;
104
+ security?: SecurityConfig;
105
+ }
106
+ export interface CLIArgs {
107
+ _: string[];
108
+ project?: string;
109
+ p?: string;
110
+ service?: string;
111
+ s?: string;
112
+ env?: string;
113
+ e?: string;
114
+ backend?: string;
115
+ b?: string;
116
+ key?: string;
117
+ k?: string;
118
+ verbose?: boolean;
119
+ v?: boolean;
120
+ 'dry-run'?: boolean;
121
+ json?: boolean;
122
+ 'no-color'?: boolean;
123
+ help?: boolean;
124
+ h?: boolean;
125
+ version?: boolean;
126
+ file?: string;
127
+ f?: string;
128
+ output?: string;
129
+ o?: string;
130
+ force?: boolean;
131
+ all?: boolean;
132
+ namespace?: string;
133
+ n?: string;
134
+ format?: string;
135
+ }
136
+ export interface CommandContext {
137
+ project: string;
138
+ service?: string;
139
+ environment: Environment;
140
+ config: VaulterConfig;
141
+ verbose: boolean;
142
+ dryRun: boolean;
143
+ jsonOutput: boolean;
144
+ noColor: boolean;
145
+ }
146
+ export interface VaulterClientOptions {
147
+ /** Single connection string */
148
+ connectionString?: string;
149
+ /** Multiple connection strings with fallback (tries in order) */
150
+ connectionStrings?: string[];
151
+ /** Encryption passphrase */
152
+ passphrase?: string;
153
+ /** Full config object */
154
+ config?: VaulterConfig;
155
+ /** Enable verbose logging */
156
+ verbose?: boolean;
157
+ }
158
+ export interface ListOptions {
159
+ project?: string;
160
+ service?: string;
161
+ environment?: Environment;
162
+ limit?: number;
163
+ offset?: number;
164
+ }
165
+ export interface SyncResult {
166
+ added: string[];
167
+ updated: string[];
168
+ deleted: string[];
169
+ unchanged: string[];
170
+ conflicts: Array<{
171
+ key: string;
172
+ localValue: string;
173
+ remoteValue: string;
174
+ }>;
175
+ localAdded?: string[];
176
+ localUpdated?: string[];
177
+ localDeleted?: string[];
178
+ }
179
+ export type ExportFormat = 'shell' | 'json' | 'yaml' | 'env' | 'tfvars';
180
+ export declare const EXPORT_FORMATS: ExportFormat[];
181
+ export declare const DEFAULT_SECRET_PATTERNS: string[];
182
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Vaulter - Type Definitions
3
+ */
4
+ export const ENVIRONMENTS = ['dev', 'stg', 'prd', 'sbx', 'dr'];
5
+ export const ENVIRONMENT_NAMES = {
6
+ dev: 'development',
7
+ stg: 'staging',
8
+ prd: 'production',
9
+ sbx: 'sandbox',
10
+ dr: 'disaster-recovery'
11
+ };
12
+ export const EXPORT_FORMATS = ['shell', 'json', 'yaml', 'env', 'tfvars'];
13
+ // ============================================================================
14
+ // Secret Detection Patterns
15
+ // ============================================================================
16
+ export const DEFAULT_SECRET_PATTERNS = [
17
+ '*_KEY',
18
+ '*_SECRET',
19
+ '*_TOKEN',
20
+ '*_PASSWORD',
21
+ '*_CREDENTIAL',
22
+ '*_PASS',
23
+ '*_PWD',
24
+ '*_PRIVATE',
25
+ '*_CERT',
26
+ '*_SSL',
27
+ '*_TLS',
28
+ '*_ENCRYPT',
29
+ '*_HASH',
30
+ '*_SALT',
31
+ 'DATABASE_URL',
32
+ 'REDIS_URL',
33
+ 'MONGODB_URL',
34
+ 'API_KEY',
35
+ 'AUTH_*'
36
+ ];
37
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,CAAC,MAAM,YAAY,GAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,SAAS;IACd,EAAE,EAAE,mBAAmB;CACxB,CAAA;AA4ND,MAAM,CAAC,MAAM,cAAc,GAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAExF,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO;IACP,UAAU;IACV,SAAS;IACT,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,WAAW;IACX,aAAa;IACb,SAAS;IACT,QAAQ;CACT,CAAA"}