@centient/secrets 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 (57) hide show
  1. package/dist/cli/messages.d.ts +60 -0
  2. package/dist/cli/messages.d.ts.map +1 -0
  3. package/dist/cli/messages.js +63 -0
  4. package/dist/cli/messages.js.map +1 -0
  5. package/dist/cli/secrets-cli.d.ts +38 -0
  6. package/dist/cli/secrets-cli.d.ts.map +1 -0
  7. package/dist/cli/secrets-cli.js +532 -0
  8. package/dist/cli/secrets-cli.js.map +1 -0
  9. package/dist/crypto/vault-common.d.ts +63 -0
  10. package/dist/crypto/vault-common.d.ts.map +1 -0
  11. package/dist/crypto/vault-common.js +180 -0
  12. package/dist/crypto/vault-common.js.map +1 -0
  13. package/dist/environment/EnvironmentManager.d.ts +171 -0
  14. package/dist/environment/EnvironmentManager.d.ts.map +1 -0
  15. package/dist/environment/EnvironmentManager.js +604 -0
  16. package/dist/environment/EnvironmentManager.js.map +1 -0
  17. package/dist/index.d.ts +12 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +17 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/platform/agent-detect.d.ts +15 -0
  22. package/dist/platform/agent-detect.d.ts.map +1 -0
  23. package/dist/platform/agent-detect.js +22 -0
  24. package/dist/platform/agent-detect.js.map +1 -0
  25. package/dist/platform/platform.d.ts +51 -0
  26. package/dist/platform/platform.d.ts.map +1 -0
  27. package/dist/platform/platform.js +141 -0
  28. package/dist/platform/platform.js.map +1 -0
  29. package/dist/vault/types.d.ts +54 -0
  30. package/dist/vault/types.d.ts.map +1 -0
  31. package/dist/vault/types.js +12 -0
  32. package/dist/vault/types.js.map +1 -0
  33. package/dist/vault/vault-env.d.ts +58 -0
  34. package/dist/vault/vault-env.d.ts.map +1 -0
  35. package/dist/vault/vault-env.js +73 -0
  36. package/dist/vault/vault-env.js.map +1 -0
  37. package/dist/vault/vault-gpg.d.ts +40 -0
  38. package/dist/vault/vault-gpg.d.ts.map +1 -0
  39. package/dist/vault/vault-gpg.js +149 -0
  40. package/dist/vault/vault-gpg.js.map +1 -0
  41. package/dist/vault/vault-libsecret.d.ts +51 -0
  42. package/dist/vault/vault-libsecret.d.ts.map +1 -0
  43. package/dist/vault/vault-libsecret.js +115 -0
  44. package/dist/vault/vault-libsecret.js.map +1 -0
  45. package/dist/vault/vault-utils.d.ts +12 -0
  46. package/dist/vault/vault-utils.d.ts.map +1 -0
  47. package/dist/vault/vault-utils.js +16 -0
  48. package/dist/vault/vault-utils.js.map +1 -0
  49. package/dist/vault/vault-windows.d.ts +71 -0
  50. package/dist/vault/vault-windows.d.ts.map +1 -0
  51. package/dist/vault/vault-windows.js +186 -0
  52. package/dist/vault/vault-windows.js.map +1 -0
  53. package/dist/vault/vault.d.ts +53 -0
  54. package/dist/vault/vault.d.ts.map +1 -0
  55. package/dist/vault/vault.js +132 -0
  56. package/dist/vault/vault.js.map +1 -0
  57. package/package.json +37 -0
@@ -0,0 +1,604 @@
1
+ /**
2
+ * Environment Manager
3
+ *
4
+ * Manages multi-environment support for the secrets management system.
5
+ * Provides isolated configuration and vault storage per environment.
6
+ *
7
+ * Directory structure:
8
+ * ~/.centient/environments/
9
+ * ├── dev/
10
+ * │ ├── config.json
11
+ * │ └── vault.enc
12
+ * ├── staging/
13
+ * │ ├── config.json
14
+ * │ └── vault.enc
15
+ * └── prod/
16
+ * ├── config.json
17
+ * └── vault.enc
18
+ * ~/.centient/current -> environments/dev/ (symlink)
19
+ *
20
+ * Security:
21
+ * - All operations that modify environments check for AI agent context
22
+ * - Agents can read/list environments but cannot switch or create
23
+ * - This prevents accidental environment changes during AI sessions
24
+ */
25
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync, lstatSync, symlinkSync, unlinkSync, readlinkSync, rmSync, } from "fs";
26
+ import { join, basename, relative } from "path";
27
+ import { homedir } from "os";
28
+ // =============================================================================
29
+ // Constants
30
+ // =============================================================================
31
+ const CENTIENT_DIR = join(homedir(), ".centient");
32
+ const ENVIRONMENTS_DIR = join(CENTIENT_DIR, "environments");
33
+ const CURRENT_LINK = join(CENTIENT_DIR, "current");
34
+ const DEFAULT_ENVIRONMENT = "dev";
35
+ const RESERVED_NAMES = ["current", "environments", "config", "logs", "cache"];
36
+ // =============================================================================
37
+ // Agent Detection
38
+ // =============================================================================
39
+ /**
40
+ * Check if running in an AI agent environment.
41
+ *
42
+ * Detects Claude Code and similar AI agent contexts by checking for
43
+ * environment variables that indicate an agent session.
44
+ */
45
+ function isAgentEnvironment() {
46
+ return !!(process.env.CLAUDE_PROJECT_DIR ||
47
+ process.env.MCP_CONTEXT ||
48
+ process.env.CLAUDE_CODE_SESSION ||
49
+ process.env.CLAUDE_CODE_ENTRY_POINT);
50
+ }
51
+ // =============================================================================
52
+ // Path Utilities
53
+ // =============================================================================
54
+ /**
55
+ * Get the path to an environment directory
56
+ */
57
+ function getEnvironmentPath(name) {
58
+ return join(ENVIRONMENTS_DIR, name);
59
+ }
60
+ /**
61
+ * Get the path to an environment's config.json
62
+ */
63
+ function getEnvironmentConfigPath(name) {
64
+ return join(getEnvironmentPath(name), "config.json");
65
+ }
66
+ /**
67
+ * Get the path to an environment's vault.enc
68
+ */
69
+ function getEnvironmentVaultPath(name) {
70
+ return join(getEnvironmentPath(name), "vault.enc");
71
+ }
72
+ // =============================================================================
73
+ // Validation
74
+ // =============================================================================
75
+ /**
76
+ * Validate environment name
77
+ *
78
+ * Rules:
79
+ * - 1-32 characters
80
+ * - Alphanumeric, hyphens, underscores only
81
+ * - Cannot be a reserved name
82
+ * - Cannot start with a hyphen or underscore
83
+ */
84
+ function validateEnvironmentName(name) {
85
+ if (!name || name.length === 0) {
86
+ return { valid: false, error: "Environment name is required" };
87
+ }
88
+ if (name.length > 32) {
89
+ return {
90
+ valid: false,
91
+ error: "Environment name must be 32 characters or less",
92
+ };
93
+ }
94
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(name)) {
95
+ return {
96
+ valid: false,
97
+ error: "Environment name must start with alphanumeric and contain only alphanumeric, hyphens, and underscores",
98
+ };
99
+ }
100
+ if (RESERVED_NAMES.includes(name.toLowerCase())) {
101
+ return {
102
+ valid: false,
103
+ error: `"${name}" is a reserved name and cannot be used as an environment name`,
104
+ };
105
+ }
106
+ return { valid: true };
107
+ }
108
+ // =============================================================================
109
+ // Environment Manager Class
110
+ // =============================================================================
111
+ export class EnvironmentManager {
112
+ /**
113
+ * List all available environments
114
+ *
115
+ * Returns information about each environment including:
116
+ * - Name
117
+ * - Path
118
+ * - Whether it's currently active
119
+ * - Whether it has config and vault files
120
+ */
121
+ listEnvironments() {
122
+ // Ensure environments directory exists
123
+ if (!existsSync(ENVIRONMENTS_DIR)) {
124
+ return {
125
+ success: true,
126
+ environments: [],
127
+ currentEnvironment: null,
128
+ message: "No environments configured. Run 'centient env create dev' to create your first environment.",
129
+ };
130
+ }
131
+ const currentEnv = this.getCurrentEnvironment();
132
+ const environments = [];
133
+ try {
134
+ const entries = readdirSync(ENVIRONMENTS_DIR, { withFileTypes: true });
135
+ for (const entry of entries) {
136
+ if (entry.isDirectory()) {
137
+ const envPath = getEnvironmentPath(entry.name);
138
+ const configPath = getEnvironmentConfigPath(entry.name);
139
+ const vaultPath = getEnvironmentVaultPath(entry.name);
140
+ let lastModified;
141
+ try {
142
+ const stats = lstatSync(envPath);
143
+ lastModified = stats.mtime;
144
+ }
145
+ catch {
146
+ // Ignore stat errors
147
+ }
148
+ environments.push({
149
+ name: entry.name,
150
+ path: envPath,
151
+ isActive: entry.name === currentEnv,
152
+ hasConfig: existsSync(configPath),
153
+ hasVault: existsSync(vaultPath),
154
+ lastModified,
155
+ });
156
+ }
157
+ }
158
+ // Sort by name, but put active environment first
159
+ environments.sort((a, b) => {
160
+ if (a.isActive)
161
+ return -1;
162
+ if (b.isActive)
163
+ return 1;
164
+ return a.name.localeCompare(b.name);
165
+ });
166
+ return {
167
+ success: true,
168
+ environments,
169
+ currentEnvironment: currentEnv,
170
+ };
171
+ }
172
+ catch (error) {
173
+ return {
174
+ success: false,
175
+ environments: [],
176
+ currentEnvironment: null,
177
+ message: `Failed to list environments: ${error instanceof Error ? error.message : String(error)}`,
178
+ };
179
+ }
180
+ }
181
+ /**
182
+ * Get the currently active environment name
183
+ *
184
+ * Returns the name of the environment that the 'current' symlink points to,
185
+ * or null if no environment is set.
186
+ */
187
+ getCurrentEnvironment() {
188
+ if (!existsSync(CURRENT_LINK)) {
189
+ return null;
190
+ }
191
+ try {
192
+ const stats = lstatSync(CURRENT_LINK);
193
+ if (!stats.isSymbolicLink()) {
194
+ return null;
195
+ }
196
+ const target = readlinkSync(CURRENT_LINK);
197
+ // Handle both absolute and relative symlink targets
198
+ const envName = target.includes("environments/")
199
+ ? basename(target)
200
+ : basename(target);
201
+ // Verify the target environment exists
202
+ if (existsSync(getEnvironmentPath(envName))) {
203
+ return envName;
204
+ }
205
+ return null;
206
+ }
207
+ catch {
208
+ return null;
209
+ }
210
+ }
211
+ /**
212
+ * Get details about a specific environment
213
+ */
214
+ getEnvironment(name) {
215
+ const validation = validateEnvironmentName(name);
216
+ if (!validation.valid) {
217
+ return null;
218
+ }
219
+ const envPath = getEnvironmentPath(name);
220
+ if (!existsSync(envPath)) {
221
+ return null;
222
+ }
223
+ const configPath = getEnvironmentConfigPath(name);
224
+ const vaultPath = getEnvironmentVaultPath(name);
225
+ const currentEnv = this.getCurrentEnvironment();
226
+ let lastModified;
227
+ try {
228
+ const stats = lstatSync(envPath);
229
+ lastModified = stats.mtime;
230
+ }
231
+ catch {
232
+ // Ignore stat errors
233
+ }
234
+ return {
235
+ name,
236
+ path: envPath,
237
+ isActive: name === currentEnv,
238
+ hasConfig: existsSync(configPath),
239
+ hasVault: existsSync(vaultPath),
240
+ lastModified,
241
+ };
242
+ }
243
+ /**
244
+ * Switch to a different environment
245
+ *
246
+ * Updates the 'current' symlink to point to the specified environment.
247
+ * This operation is blocked for AI agents to prevent accidental
248
+ * environment changes during automated sessions.
249
+ *
250
+ * @param name - Name of the environment to switch to
251
+ */
252
+ switchEnvironment(name) {
253
+ // Block agent access
254
+ if (isAgentEnvironment()) {
255
+ return {
256
+ success: false,
257
+ message: "Environment switching is not available to AI agents. " +
258
+ "This is a security measure to prevent accidental environment changes during automated sessions.",
259
+ nextAction: "Have a human run 'centient env switch <name>' from a terminal",
260
+ };
261
+ }
262
+ // Validate name
263
+ const validation = validateEnvironmentName(name);
264
+ if (!validation.valid) {
265
+ return {
266
+ success: false,
267
+ message: validation.error || "Invalid environment name",
268
+ };
269
+ }
270
+ // Check if environment exists
271
+ const envPath = getEnvironmentPath(name);
272
+ if (!existsSync(envPath)) {
273
+ return {
274
+ success: false,
275
+ message: `Environment "${name}" does not exist`,
276
+ nextAction: `Create it with 'centient env create ${name}'`,
277
+ };
278
+ }
279
+ // Check if already active
280
+ const currentEnv = this.getCurrentEnvironment();
281
+ if (currentEnv === name) {
282
+ return {
283
+ success: true,
284
+ message: `Already using environment "${name}"`,
285
+ environment: this.getEnvironment(name) || undefined,
286
+ };
287
+ }
288
+ try {
289
+ // Remove existing symlink if it exists
290
+ if (existsSync(CURRENT_LINK)) {
291
+ unlinkSync(CURRENT_LINK);
292
+ }
293
+ // Create relative symlink (more portable)
294
+ const relativeTarget = relative(CENTIENT_DIR, envPath);
295
+ symlinkSync(relativeTarget, CURRENT_LINK);
296
+ const env = this.getEnvironment(name);
297
+ return {
298
+ success: true,
299
+ message: `Switched to environment "${name}"`,
300
+ environment: env || undefined,
301
+ };
302
+ }
303
+ catch (error) {
304
+ return {
305
+ success: false,
306
+ message: `Failed to switch environment: ${error instanceof Error ? error.message : String(error)}`,
307
+ };
308
+ }
309
+ }
310
+ /**
311
+ * Create a new environment
312
+ *
313
+ * Creates the environment directory with initial config.json.
314
+ * Optionally sets it as the current environment.
315
+ * This operation is blocked for AI agents.
316
+ *
317
+ * @param name - Name for the new environment
318
+ * @param options - Creation options
319
+ */
320
+ createEnvironment(name, options) {
321
+ // Block agent access
322
+ if (isAgentEnvironment()) {
323
+ return {
324
+ success: false,
325
+ message: "Environment creation is not available to AI agents. " +
326
+ "This is a security measure to prevent automated environment modifications.",
327
+ nextAction: "Have a human run 'centient env create <name>' from a terminal",
328
+ };
329
+ }
330
+ // Validate name
331
+ const validation = validateEnvironmentName(name);
332
+ if (!validation.valid) {
333
+ return {
334
+ success: false,
335
+ message: validation.error || "Invalid environment name",
336
+ };
337
+ }
338
+ // Check if environment already exists
339
+ const envPath = getEnvironmentPath(name);
340
+ if (existsSync(envPath)) {
341
+ return {
342
+ success: false,
343
+ message: `Environment "${name}" already exists`,
344
+ environment: this.getEnvironment(name) || undefined,
345
+ };
346
+ }
347
+ // Check if copying from another environment
348
+ let baseConfig = {};
349
+ if (options?.copyFrom) {
350
+ const sourceConfigPath = getEnvironmentConfigPath(options.copyFrom);
351
+ if (!existsSync(sourceConfigPath)) {
352
+ return {
353
+ success: false,
354
+ message: `Source environment "${options.copyFrom}" does not have a config to copy`,
355
+ };
356
+ }
357
+ try {
358
+ baseConfig = JSON.parse(readFileSync(sourceConfigPath, "utf-8"));
359
+ }
360
+ catch (error) {
361
+ return {
362
+ success: false,
363
+ message: `Failed to read config from "${options.copyFrom}": ${error instanceof Error ? error.message : String(error)}`,
364
+ };
365
+ }
366
+ }
367
+ try {
368
+ // Ensure environments directory exists
369
+ mkdirSync(ENVIRONMENTS_DIR, { recursive: true });
370
+ // Create environment directory
371
+ mkdirSync(envPath, { recursive: true });
372
+ // Create initial config
373
+ const envConfig = {
374
+ description: options?.description || `${name} environment`,
375
+ createdAt: new Date().toISOString(),
376
+ createdBy: process.env.USER || process.env.USERNAME || "unknown",
377
+ };
378
+ const fullConfig = {
379
+ ...baseConfig,
380
+ _environment: envConfig,
381
+ };
382
+ writeFileSync(getEnvironmentConfigPath(name), JSON.stringify(fullConfig, null, 2), "utf-8");
383
+ // Set as current if requested or if it's the first environment
384
+ const shouldSetCurrent = options?.setAsCurrent ||
385
+ (!existsSync(CURRENT_LINK) && name === DEFAULT_ENVIRONMENT);
386
+ if (shouldSetCurrent) {
387
+ const switchResult = this.switchEnvironment(name);
388
+ if (!switchResult.success) {
389
+ // Environment created but switch failed - still report success with warning
390
+ return {
391
+ success: true,
392
+ message: `Environment "${name}" created but failed to set as current: ${switchResult.message}`,
393
+ environment: this.getEnvironment(name) || undefined,
394
+ };
395
+ }
396
+ }
397
+ return {
398
+ success: true,
399
+ message: shouldSetCurrent
400
+ ? `Environment "${name}" created and set as current`
401
+ : `Environment "${name}" created`,
402
+ environment: this.getEnvironment(name) || undefined,
403
+ nextAction: shouldSetCurrent
404
+ ? undefined
405
+ : `Switch to it with 'centient env switch ${name}'`,
406
+ };
407
+ }
408
+ catch (error) {
409
+ return {
410
+ success: false,
411
+ message: `Failed to create environment: ${error instanceof Error ? error.message : String(error)}`,
412
+ };
413
+ }
414
+ }
415
+ /**
416
+ * Delete an environment
417
+ *
418
+ * Removes the environment directory and all its contents.
419
+ * Cannot delete the currently active environment.
420
+ * This operation is blocked for AI agents.
421
+ *
422
+ * @param name - Name of the environment to delete
423
+ * @param options - Deletion options
424
+ */
425
+ deleteEnvironment(name, options) {
426
+ // Block agent access
427
+ if (isAgentEnvironment()) {
428
+ return {
429
+ success: false,
430
+ message: "Environment deletion is not available to AI agents. " +
431
+ "This is a security measure to prevent accidental data loss.",
432
+ nextAction: "Have a human run 'centient env delete <name>' from a terminal",
433
+ };
434
+ }
435
+ // Validate name
436
+ const validation = validateEnvironmentName(name);
437
+ if (!validation.valid) {
438
+ return {
439
+ success: false,
440
+ message: validation.error || "Invalid environment name",
441
+ };
442
+ }
443
+ // Check if environment exists
444
+ const envPath = getEnvironmentPath(name);
445
+ if (!existsSync(envPath)) {
446
+ return {
447
+ success: false,
448
+ message: `Environment "${name}" does not exist`,
449
+ };
450
+ }
451
+ // Cannot delete current environment
452
+ const currentEnv = this.getCurrentEnvironment();
453
+ if (currentEnv === name) {
454
+ return {
455
+ success: false,
456
+ message: `Cannot delete the current environment "${name}"`,
457
+ nextAction: `Switch to another environment first with 'centient env switch <other>'`,
458
+ };
459
+ }
460
+ // Check for vault.enc if not forcing
461
+ const vaultPath = getEnvironmentVaultPath(name);
462
+ if (existsSync(vaultPath) && !options?.force) {
463
+ return {
464
+ success: false,
465
+ message: `Environment "${name}" has encrypted secrets. Use --force to delete anyway.`,
466
+ nextAction: `Run 'centient env delete ${name} --force' to confirm deletion`,
467
+ };
468
+ }
469
+ try {
470
+ // Remove directory recursively
471
+ rmSync(envPath, { recursive: true, force: true });
472
+ return {
473
+ success: true,
474
+ message: `Environment "${name}" deleted`,
475
+ };
476
+ }
477
+ catch (error) {
478
+ return {
479
+ success: false,
480
+ message: `Failed to delete environment: ${error instanceof Error ? error.message : String(error)}`,
481
+ };
482
+ }
483
+ }
484
+ /**
485
+ * Initialize the environment system
486
+ *
487
+ * Creates the default 'dev' environment if no environments exist.
488
+ * Sets up the 'current' symlink to point to 'dev'.
489
+ * This operation is blocked for AI agents.
490
+ */
491
+ initialize() {
492
+ // Block agent access for initialization
493
+ if (isAgentEnvironment()) {
494
+ return {
495
+ success: false,
496
+ message: "Environment initialization is not available to AI agents. " +
497
+ "This is a security measure to prevent automated environment setup.",
498
+ nextAction: "Have a human run 'centient env init' from a terminal",
499
+ };
500
+ }
501
+ // Check if already initialized
502
+ const listResult = this.listEnvironments();
503
+ if (listResult.environments.length > 0) {
504
+ return {
505
+ success: true,
506
+ message: `Environment system already initialized with ${listResult.environments.length} environment(s)`,
507
+ environment: listResult.environments.find((e) => e.isActive) || undefined,
508
+ };
509
+ }
510
+ // Create default environment
511
+ const createResult = this.createEnvironment(DEFAULT_ENVIRONMENT, {
512
+ setAsCurrent: true,
513
+ description: "Default development environment",
514
+ });
515
+ if (!createResult.success) {
516
+ return createResult;
517
+ }
518
+ return {
519
+ success: true,
520
+ message: `Environment system initialized with default "${DEFAULT_ENVIRONMENT}" environment`,
521
+ environment: createResult.environment,
522
+ };
523
+ }
524
+ /**
525
+ * Get the path to the current environment's directory
526
+ *
527
+ * Returns the resolved path that the 'current' symlink points to,
528
+ * or null if no current environment is set.
529
+ */
530
+ getCurrentEnvironmentPath() {
531
+ const currentEnv = this.getCurrentEnvironment();
532
+ if (!currentEnv) {
533
+ return null;
534
+ }
535
+ return getEnvironmentPath(currentEnv);
536
+ }
537
+ /**
538
+ * Get the path to the current environment's config.json
539
+ */
540
+ getCurrentConfigPath() {
541
+ const currentEnv = this.getCurrentEnvironment();
542
+ if (!currentEnv) {
543
+ return null;
544
+ }
545
+ return getEnvironmentConfigPath(currentEnv);
546
+ }
547
+ /**
548
+ * Get the path to the current environment's vault.enc
549
+ */
550
+ getCurrentVaultPath() {
551
+ const currentEnv = this.getCurrentEnvironment();
552
+ if (!currentEnv) {
553
+ return null;
554
+ }
555
+ return getEnvironmentVaultPath(currentEnv);
556
+ }
557
+ /**
558
+ * Check if the environment system is initialized
559
+ */
560
+ isInitialized() {
561
+ return existsSync(ENVIRONMENTS_DIR) && existsSync(CURRENT_LINK);
562
+ }
563
+ }
564
+ // =============================================================================
565
+ // Singleton Instance
566
+ // =============================================================================
567
+ let defaultManager = null;
568
+ /**
569
+ * Get the singleton EnvironmentManager instance
570
+ */
571
+ export function getEnvironmentManager() {
572
+ if (!defaultManager) {
573
+ defaultManager = new EnvironmentManager();
574
+ }
575
+ return defaultManager;
576
+ }
577
+ /**
578
+ * Reset the singleton instance (for testing)
579
+ */
580
+ export function resetEnvironmentManager() {
581
+ defaultManager = null;
582
+ }
583
+ // =============================================================================
584
+ // Convenience Exports
585
+ // =============================================================================
586
+ /**
587
+ * Get the environments directory path
588
+ */
589
+ export function getEnvironmentsDir() {
590
+ return ENVIRONMENTS_DIR;
591
+ }
592
+ /**
593
+ * Get the current symlink path
594
+ */
595
+ export function getCurrentLinkPath() {
596
+ return CURRENT_LINK;
597
+ }
598
+ /**
599
+ * Get the default environment name
600
+ */
601
+ export function getDefaultEnvironmentName() {
602
+ return DEFAULT_ENVIRONMENT;
603
+ }
604
+ //# sourceMappingURL=EnvironmentManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentManager.js","sourceRoot":"","sources":["../../src/environment/EnvironmentManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { encrypt, decrypt, encryptObject, decryptObject } from "./crypto/vault-common.js";
2
+ export { ALGORITHM, IV_LENGTH, AUTH_TAG_LENGTH, KEY_LENGTH } from "./crypto/vault-common.js";
3
+ export { storeCredential, getCredential, deleteCredential, getActiveVaultType, isSessionValid } from "./vault/vault.js";
4
+ export type { VaultBackend, VaultType, StoredCredentialMeta } from "./vault/types.js";
5
+ export { isTTY, canUnicode, isHeadless, canLaunchBrowser, isCIEnvironment, isDockerContainer, isSSHSession } from "./platform/platform.js";
6
+ export { isAgentEnvironment } from "./platform/agent-detect.js";
7
+ export { getEnvironmentManager, EnvironmentManager } from "./environment/EnvironmentManager.js";
8
+ export { runSecrets } from "./cli/secrets-cli.js";
9
+ export type { SecretsOptions } from "./cli/secrets-cli.js";
10
+ export { getKeyFromKeychain, storeKeyInKeychain, storeStringInKeychain, getStringFromKeychain, deleteFromKeychain } from "./crypto/vault-common.js";
11
+ export { isValidKey } from "./vault/vault-utils.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxH,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGtF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGhG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGpJ,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ // Encryption
2
+ export { encrypt, decrypt, encryptObject, decryptObject } from "./crypto/vault-common.js";
3
+ export { ALGORITHM, IV_LENGTH, AUTH_TAG_LENGTH, KEY_LENGTH } from "./crypto/vault-common.js";
4
+ // Credential vault
5
+ export { storeCredential, getCredential, deleteCredential, getActiveVaultType, isSessionValid } from "./vault/vault.js";
6
+ // Platform detection
7
+ export { isTTY, canUnicode, isHeadless, canLaunchBrowser, isCIEnvironment, isDockerContainer, isSSHSession } from "./platform/platform.js";
8
+ export { isAgentEnvironment } from "./platform/agent-detect.js";
9
+ // Environment management
10
+ export { getEnvironmentManager, EnvironmentManager } from "./environment/EnvironmentManager.js";
11
+ // CLI
12
+ export { runSecrets } from "./cli/secrets-cli.js";
13
+ // Key storage helpers
14
+ export { getKeyFromKeychain, storeKeyInKeychain, storeStringInKeychain, getStringFromKeychain, deleteFromKeychain } from "./crypto/vault-common.js";
15
+ // Validation
16
+ export { isValidKey } from "./vault/vault-utils.js";
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7F,mBAAmB;AACnB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGxH,qBAAqB;AACrB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3I,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEhG,MAAM;AACN,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,sBAAsB;AACtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEpJ,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}