@zincapp/znvault-cli 4.24.4 → 4.24.5

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 (41) hide show
  1. package/dist/commands/auth.d.ts.map +1 -1
  2. package/dist/commands/auth.js +2 -0
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/completion.js +1 -1
  5. package/dist/commands/profile-api-key.d.ts +10 -0
  6. package/dist/commands/profile-api-key.d.ts.map +1 -0
  7. package/dist/commands/profile-api-key.js +97 -0
  8. package/dist/commands/profile-api-key.js.map +1 -0
  9. package/dist/lib/config/apikey.d.ts.map +1 -1
  10. package/dist/lib/config/apikey.js +18 -13
  11. package/dist/lib/config/apikey.js.map +1 -1
  12. package/dist/lib/config/credentials.d.ts.map +1 -1
  13. package/dist/lib/config/credentials.js +12 -7
  14. package/dist/lib/config/credentials.js.map +1 -1
  15. package/dist/lib/config/index.d.ts +1 -1
  16. package/dist/lib/config/index.d.ts.map +1 -1
  17. package/dist/lib/config/index.js +1 -1
  18. package/dist/lib/config/index.js.map +1 -1
  19. package/dist/lib/config/migration.d.ts.map +1 -1
  20. package/dist/lib/config/migration.js +24 -22
  21. package/dist/lib/config/migration.js.map +1 -1
  22. package/dist/lib/config/plugins.d.ts.map +1 -1
  23. package/dist/lib/config/plugins.js +35 -29
  24. package/dist/lib/config/plugins.js.map +1 -1
  25. package/dist/lib/config/profile-lock.d.ts +7 -0
  26. package/dist/lib/config/profile-lock.d.ts.map +1 -0
  27. package/dist/lib/config/profile-lock.js +65 -0
  28. package/dist/lib/config/profile-lock.js.map +1 -0
  29. package/dist/lib/config/profile.d.ts +5 -0
  30. package/dist/lib/config/profile.d.ts.map +1 -1
  31. package/dist/lib/config/profile.js +122 -64
  32. package/dist/lib/config/profile.js.map +1 -1
  33. package/dist/lib/config/store.d.ts +6 -0
  34. package/dist/lib/config/store.d.ts.map +1 -1
  35. package/dist/lib/config/store.js +49 -16
  36. package/dist/lib/config/store.js.map +1 -1
  37. package/dist/lib/config.d.ts +1 -1
  38. package/dist/lib/config.d.ts.map +1 -1
  39. package/dist/lib/config.js +1 -1
  40. package/dist/lib/config.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AA4FzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6d3D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AA6FzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+d3D"}
@@ -6,6 +6,7 @@ import { getCredentials, clearCredentials, setConfigValue, getAllConfig, getConf
6
6
  import { promptUsername, promptPassword, promptTotp, promptSelect } from '../lib/prompts.js';
7
7
  import * as output from '../lib/output.js';
8
8
  import { webLogin, isWebLoginSupported } from '../lib/web-login.js';
9
+ import { registerProfileApiKeyCommands } from './profile-api-key.js';
9
10
  /**
10
11
  * Read password from a file.
11
12
  * The file should contain the password on the first line.
@@ -236,6 +237,7 @@ export function registerAuthCommands(program) {
236
237
  const profileCmd = program
237
238
  .command('profile')
238
239
  .description('Manage configuration profiles');
240
+ registerProfileApiKeyCommands(profileCmd);
239
241
  // List profiles
240
242
  profileCmd
241
243
  .command('list')
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ _znvault_completions() {
34
34
  local notification_cmds="config test"
35
35
  local advisor_cmds="audit rules suggest llm"
36
36
  local advisor_llm_cmds="status get config test delete"
37
- local profile_cmds="list create delete use rename"
37
+ local profile_cmds="list create delete use rename api-key"
38
38
  local crypto_cmds="status list grant revoke transfer-root"
39
39
  local device_cmds="list revoke enroll"
40
40
  local unseal_cmds="status seal"
@@ -0,0 +1,10 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register the explicit, stdin-only API-key profile import surface.
4
+ *
5
+ * The key never enters argv, the environment, stdout, stderr, or an
6
+ * intermediate file. The target must be a new, unauthenticated profile so an
7
+ * import cannot silently replace an existing principal.
8
+ */
9
+ export declare function registerProfileApiKeyCommands(profileCmd: Command): void;
10
+ //# sourceMappingURL=profile-api-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-api-key.d.ts","sourceRoot":"","sources":["../../src/commands/profile-api-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDzC;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAgDvE"}
@@ -0,0 +1,97 @@
1
+ import { fstatSync } from 'node:fs';
2
+ import { getProfile, mutateProfileAuthentication } from '../lib/config.js';
3
+ import * as output from '../lib/output.js';
4
+ const API_KEY_PATTERN = /^znv_[0-9a-f]{64}$/;
5
+ const MAX_STDIN_BYTES = 70; // 68-byte key plus one optional CRLF.
6
+ async function readApiKeyFromStdin() {
7
+ if (process.stdin.isTTY) {
8
+ throw new Error('API key import requires piped stdin');
9
+ }
10
+ const stdinStat = fstatSync(0);
11
+ if (!stdinStat.isFIFO() && !stdinStat.isSocket()) {
12
+ throw new Error('API key import requires piped stdin');
13
+ }
14
+ const chunks = [];
15
+ let totalBytes = 0;
16
+ for await (const chunk of process.stdin) {
17
+ const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk), 'utf8');
18
+ totalBytes += bytes.length;
19
+ if (totalBytes > MAX_STDIN_BYTES) {
20
+ for (const buffered of chunks)
21
+ buffered.fill(0);
22
+ bytes.fill(0);
23
+ throw new Error('Invalid API key input');
24
+ }
25
+ chunks.push(bytes);
26
+ }
27
+ const raw = Buffer.concat(chunks, totalBytes);
28
+ for (const chunk of chunks)
29
+ chunk.fill(0);
30
+ let value = raw.toString('utf8');
31
+ raw.fill(0);
32
+ if (value.endsWith('\r\n')) {
33
+ value = value.slice(0, -2);
34
+ }
35
+ else if (value.endsWith('\n')) {
36
+ value = value.slice(0, -1);
37
+ }
38
+ if (!API_KEY_PATTERN.test(value)) {
39
+ throw new Error('Invalid API key input');
40
+ }
41
+ return value;
42
+ }
43
+ /**
44
+ * Register the explicit, stdin-only API-key profile import surface.
45
+ *
46
+ * The key never enters argv, the environment, stdout, stderr, or an
47
+ * intermediate file. The target must be a new, unauthenticated profile so an
48
+ * import cannot silently replace an existing principal.
49
+ */
50
+ export function registerProfileApiKeyCommands(profileCmd) {
51
+ const apiKeyCmd = profileCmd
52
+ .command('api-key')
53
+ .description('Manage API-key authentication for profiles');
54
+ apiKeyCmd
55
+ .command('import <profile>')
56
+ .description('Import an API key from stdin into an empty profile')
57
+ .option('--stdin', 'Read the API key from standard input (required)')
58
+ .option('--json', 'Output a secret-free JSON receipt')
59
+ .action(async (profileName, options) => {
60
+ try {
61
+ if (options.stdin !== true) {
62
+ throw new Error('Refusing API key import without --stdin');
63
+ }
64
+ const profile = getProfile(profileName);
65
+ if (!profile) {
66
+ throw new Error(`Profile '${profileName}' not found`);
67
+ }
68
+ if (profile.apiKey || profile.credentials) {
69
+ throw new Error(`Profile '${profileName}' already has authentication configured`);
70
+ }
71
+ const apiKey = await readApiKeyFromStdin();
72
+ mutateProfileAuthentication(profileName, (currentProfile) => {
73
+ if (currentProfile.apiKey || currentProfile.credentials) {
74
+ throw new Error(`Profile '${profileName}' already has authentication configured`);
75
+ }
76
+ return { ...currentProfile, apiKey };
77
+ });
78
+ const receipt = {
79
+ success: true,
80
+ profile: profileName,
81
+ authMethod: 'api-key',
82
+ secretsEmitted: false,
83
+ };
84
+ if (options.json) {
85
+ output.json(receipt);
86
+ }
87
+ else {
88
+ output.success(`API key imported into profile '${profileName}'`);
89
+ }
90
+ }
91
+ catch (err) {
92
+ output.error(err instanceof Error ? err.message : 'API key import failed');
93
+ process.exit(1);
94
+ }
95
+ });
96
+ }
97
+ //# sourceMappingURL=profile-api-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-api-key.js","sourceRoot":"","sources":["../../src/commands/profile-api-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAE3C,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAC7C,MAAM,eAAe,GAAG,EAAE,CAAC,CAAC,sCAAsC;AAOlE,KAAK,UAAU,mBAAmB;IAChC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAClF,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;YACjC,KAAK,MAAM,QAAQ,IAAI,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEZ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAmB;IAC/D,MAAM,SAAS,GAAG,UAAU;SACzB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,4CAA4C,CAAC,CAAC;IAE7D,SAAS;SACN,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,SAAS,EAAE,iDAAiD,CAAC;SACpE,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAA4B,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,aAAa,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,yCAAyC,CAAC,CAAC;YACpF,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC3C,2BAA2B,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE;gBAC1D,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,yCAAyC,CAAC,CAAC;gBACpF,CAAC;gBACD,OAAO,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,SAAS;gBACrB,cAAc,EAAE,KAAK;aACtB,CAAC;YACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,kCAAkC,WAAW,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../../src/lib/config/apikey.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAOlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,SAAS,CAQ5D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
1
+ {"version":3,"file":"apikey.d.ts","sourceRoot":"","sources":["../../../src/lib/config/apikey.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAWlF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,SAAS,CAQ5D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAQlC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD"}
@@ -1,5 +1,5 @@
1
1
  // Path: src/lib/config/apikey.ts
2
- import { getActiveProfileName, getCurrentProfile, saveProfile } from './profile.js';
2
+ import { getActiveProfileName, getCurrentProfile, mutateProfileAuthentication } from './profile.js';
3
3
  /**
4
4
  * Check if we have API key authentication (env or stored in profile)
5
5
  */
@@ -17,13 +17,17 @@ export function getApiKey() {
17
17
  */
18
18
  export function storeApiKey(apiKey, keyId, keyName) {
19
19
  const profileName = getActiveProfileName();
20
- const profile = getCurrentProfile();
21
- profile.apiKey = apiKey;
22
- if (keyId)
23
- profile.apiKeyId = keyId;
24
- if (keyName)
25
- profile.apiKeyName = keyName;
26
- saveProfile(profileName, profile);
20
+ mutateProfileAuthentication(profileName, (profile) => {
21
+ if (profile.credentials) {
22
+ throw new Error('Profile is configured for JWT authentication');
23
+ }
24
+ profile.apiKey = apiKey;
25
+ if (keyId)
26
+ profile.apiKeyId = keyId;
27
+ if (keyName)
28
+ profile.apiKeyName = keyName;
29
+ return profile;
30
+ });
27
31
  }
28
32
  /**
29
33
  * Get stored API key info from current profile
@@ -43,11 +47,12 @@ export function getStoredApiKeyInfo() {
43
47
  */
44
48
  export function clearApiKey() {
45
49
  const profileName = getActiveProfileName();
46
- const profile = getCurrentProfile();
47
- delete profile.apiKey;
48
- delete profile.apiKeyId;
49
- delete profile.apiKeyName;
50
- saveProfile(profileName, profile);
50
+ mutateProfileAuthentication(profileName, (profile) => {
51
+ delete profile.apiKey;
52
+ delete profile.apiKeyId;
53
+ delete profile.apiKeyName;
54
+ return profile;
55
+ });
51
56
  }
52
57
  /**
53
58
  * Get stored API key from current profile
@@ -1 +1 @@
1
- {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/lib/config/apikey.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAOjC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpF;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,OAAgB;IAC1E,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,KAAK;QAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IACpC,IAAI,OAAO;QAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;IAC1C,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,EAAE,EAAE,OAAO,CAAC,QAAQ;QACpB,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,CAAC;IACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;IACxB,OAAO,OAAO,CAAC,UAAU,CAAC;IAC1B,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/lib/config/apikey.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAOjC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEpG;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,KAAc,EAAE,OAAgB;IAC1E,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,2BAA2B,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;QACnD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,IAAI,KAAK;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpC,IAAI,OAAO;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,MAAM;QACnB,EAAE,EAAE,OAAO,CAAC,QAAQ;QACpB,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,2BAA2B,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;QACnD,OAAO,OAAO,CAAC,MAAM,CAAC;QACtB,OAAO,OAAO,CAAC,QAAQ,CAAC;QACxB,OAAO,OAAO,CAAC,UAAU,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/lib/config/credentials.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAKrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAQvE;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1B;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAmB,GAAG,cAAc,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuBtF"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/lib/config/credentials.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CASrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAQvE;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1B;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAmB,GAAG,cAAc,CAQ7E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuBtF"}
@@ -1,5 +1,5 @@
1
1
  // Path: src/lib/config/credentials.ts
2
- import { getActiveProfileName, getCurrentProfile, saveProfile } from './profile.js';
2
+ import { getActiveProfileName, getCurrentProfile, mutateProfileAuthentication } from './profile.js';
3
3
  import { TOKEN_REFRESH_BUFFER_MS, PENDING_REFRESH_TTL } from '../constants.js';
4
4
  import { debug } from '../debug.js';
5
5
  /**
@@ -12,18 +12,23 @@ import { debug } from '../debug.js';
12
12
  */
13
13
  export function storeCredentials(credentials) {
14
14
  const profileName = getActiveProfileName();
15
- const profile = getCurrentProfile();
16
- profile.credentials = credentials;
17
- saveProfile(profileName, profile);
15
+ mutateProfileAuthentication(profileName, (profile) => {
16
+ if (profile.apiKey) {
17
+ throw new Error('Profile is configured for API key authentication');
18
+ }
19
+ profile.credentials = credentials;
20
+ return profile;
21
+ });
18
22
  }
19
23
  /**
20
24
  * Clear stored credentials
21
25
  */
22
26
  export function clearCredentials() {
23
27
  const profileName = getActiveProfileName();
24
- const profile = getCurrentProfile();
25
- delete profile.credentials;
26
- saveProfile(profileName, profile);
28
+ mutateProfileAuthentication(profileName, (profile) => {
29
+ delete profile.credentials;
30
+ return profile;
31
+ });
27
32
  }
28
33
  /**
29
34
  * Get stored credentials
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/lib/config/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/lib/config/credentials.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { CONFIG_DEFAULTS, DEFAULT_PROFILE } from './types.js';
8
8
  export { store, setRuntimeProfile, resetConfig, getConfigPath, _resetStoreInstance } from './store.js';
9
9
  export { ensureMigrated, resetMigrationState } from './migration.js';
10
10
  export { invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats, } from './cache.js';
11
- export { getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, } from './profile.js';
11
+ export { getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, mutateProfileAuthentication, } from './profile.js';
12
12
  export { storeCredentials, clearCredentials, getCredentials, isTokenExpired, hasEnvCredentials, getEnvCredentials, decodeRefreshJti, writePendingRefreshMarker, decidePendingRefresh, logPendingRefreshRecovery, type MarkerDecision, } from './credentials.js';
13
13
  export { hasApiKey, getApiKey, storeApiKey, getStoredApiKeyInfo, clearApiKey, getStoredApiKey, } from './apikey.js';
14
14
  export { getPlugins, addPlugin, removePlugin, setPluginEnabled, clearPlugins, } from './plugins.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAEjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAGH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAEjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC"}
@@ -7,7 +7,7 @@ export { ensureMigrated, resetMigrationState } from './migration.js';
7
7
  // Cache
8
8
  export { invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats, } from './cache.js';
9
9
  // Profile management
10
- export { getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, } from './profile.js';
10
+ export { getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, mutateProfileAuthentication, } from './profile.js';
11
11
  // Credentials
12
12
  export { storeCredentials, clearCredentials, getCredentials, isTokenExpired, hasEnvCredentials, getEnvCredentials,
13
13
  // refresh-token-race-fix §A.1 additions:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAUhC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvG,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErE,QAAQ;AACR,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,qBAAqB;AACrB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,cAAc,CAAC;AAEtB,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB;AACjB,yCAAyC;AACzC,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,yBAAyB;AACzB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,aAAa;AACb,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,cAAc;AACd,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,yCAAyC;AACzC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAUhC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEvG,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErE,QAAQ;AACR,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,qBAAqB;AACrB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB;AACjB,yCAAyC;AACzC,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,UAAU;AACV,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,yBAAyB;AACzB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,aAAa;AACb,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,cAAc;AACd,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,yCAAyC;AACzC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/lib/config/migration.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAarC;AAgCD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/lib/config/migration.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAarC;AAkCD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * Config migration from legacy format to profile-based format
4
4
  */
5
- import { store } from './store.js';
5
+ import { store, withStoreMutation } from './store.js';
6
6
  import { CONFIG_DEFAULTS, DEFAULT_PROFILE } from './types.js';
7
7
  /**
8
8
  * Flag to track if migration has been attempted
@@ -28,27 +28,29 @@ export function ensureMigrated() {
28
28
  * Migrate legacy config to profile-based config
29
29
  */
30
30
  function migrateIfNeeded() {
31
- // Check if we have legacy config (url at root level but no profiles)
32
- const legacyUrl = store.get('url');
33
- const profiles = store.get('profiles');
34
- if (legacyUrl && Object.keys(profiles).length === 0) {
35
- // Migrate legacy config to default profile
36
- const defaultProfile = {
37
- url: legacyUrl,
38
- insecure: store.get('insecure') ?? CONFIG_DEFAULTS.insecure,
39
- timeout: store.get('timeout') ?? CONFIG_DEFAULTS.timeout,
40
- defaultTenant: store.get('defaultTenant'),
41
- credentials: store.get('credentials'),
42
- };
43
- store.set('profiles', { [DEFAULT_PROFILE]: defaultProfile });
44
- store.set('activeProfile', DEFAULT_PROFILE);
45
- // Clean up legacy keys
46
- store.delete('url');
47
- store.delete('insecure');
48
- store.delete('timeout');
49
- store.delete('defaultTenant');
50
- store.delete('credentials');
51
- }
31
+ withStoreMutation(() => {
32
+ // Check if we have legacy config (url at root level but no profiles)
33
+ const legacyUrl = store.get('url');
34
+ const profiles = store.get('profiles');
35
+ if (legacyUrl && Object.keys(profiles).length === 0) {
36
+ // Migrate legacy config to default profile
37
+ const defaultProfile = {
38
+ url: legacyUrl,
39
+ insecure: store.get('insecure') ?? CONFIG_DEFAULTS.insecure,
40
+ timeout: store.get('timeout') ?? CONFIG_DEFAULTS.timeout,
41
+ defaultTenant: store.get('defaultTenant'),
42
+ credentials: store.get('credentials'),
43
+ };
44
+ store.set('profiles', { [DEFAULT_PROFILE]: defaultProfile });
45
+ store.set('activeProfile', DEFAULT_PROFILE);
46
+ // Clean up legacy keys
47
+ store.delete('url');
48
+ store.delete('insecure');
49
+ store.delete('timeout');
50
+ store.delete('defaultTenant');
51
+ store.delete('credentials');
52
+ }
53
+ });
52
54
  }
53
55
  /**
54
56
  * Reset migration state (for testing)
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../src/lib/config/migration.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAE5E;;GAEG;AACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,kBAAkB;QAAE,OAAO;IAC/B,kBAAkB,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yCAAyC;QACzC,OAAO,CAAC,KAAK,CACX,mCAAmC,EACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,qEAAqE;IACrE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,2CAA2C;QAC3C,MAAM,cAAc,GAAY;YAC9B,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,QAAQ;YAC3D,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,OAAO;YACxD,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;YACzC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;SACtC,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7D,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAE5C,uBAAuB;QACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../src/lib/config/migration.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAE5E;;GAEG;AACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,kBAAkB;QAAE,OAAO;IAC/B,kBAAkB,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC;QACH,eAAe,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yCAAyC;QACzC,OAAO,CAAC,KAAK,CACX,mCAAmC,EACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,iBAAiB,CAAC,GAAG,EAAE;QACrB,qEAAqE;QACrE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,2CAA2C;YAC3C,MAAM,cAAc,GAAY;gBAC9B,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,QAAQ;gBAC3D,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,OAAO;gBACxD,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;gBACzC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;aACtC,CAAC;YAEF,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;YAC7D,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAE5C,uBAAuB;YACvB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/lib/config/plugins.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAcvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAa3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAYjF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/lib/config/plugins.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;GAEG;AACH,wBAAgB,UAAU,IAAI,eAAe,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAgBvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAe3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAcjF;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
@@ -1,5 +1,5 @@
1
1
  // Path: src/lib/config/plugins.ts
2
- import { store } from './store.js';
2
+ import { store, withStoreMutation } from './store.js';
3
3
  /**
4
4
  * Get all configured plugins
5
5
  */
@@ -10,44 +10,50 @@ export function getPlugins() {
10
10
  * Add a plugin configuration
11
11
  */
12
12
  export function addPlugin(config) {
13
- const plugins = getPlugins();
14
- const source = config.package ?? config.path;
15
- // Check for duplicate
16
- const existing = plugins.findIndex(p => (p.package ?? p.path) === source);
17
- if (existing >= 0) {
18
- // Update existing
19
- plugins[existing] = config;
20
- }
21
- else {
22
- plugins.push(config);
23
- }
24
- store.set('plugins', plugins);
13
+ withStoreMutation(() => {
14
+ const plugins = getPlugins();
15
+ const source = config.package ?? config.path;
16
+ // Check for duplicate
17
+ const existing = plugins.findIndex(p => (p.package ?? p.path) === source);
18
+ if (existing >= 0) {
19
+ // Update existing
20
+ plugins[existing] = config;
21
+ }
22
+ else {
23
+ plugins.push(config);
24
+ }
25
+ store.set('plugins', plugins);
26
+ });
25
27
  }
26
28
  /**
27
29
  * Remove a plugin by package name or path
28
30
  */
29
31
  export function removePlugin(packageOrPath) {
30
- const plugins = getPlugins();
31
- const initialLength = plugins.length;
32
- const filtered = plugins.filter(p => p.package !== packageOrPath && p.path !== packageOrPath);
33
- if (filtered.length < initialLength) {
34
- store.set('plugins', filtered);
35
- return true;
36
- }
37
- return false;
32
+ return withStoreMutation(() => {
33
+ const plugins = getPlugins();
34
+ const initialLength = plugins.length;
35
+ const filtered = plugins.filter(p => p.package !== packageOrPath && p.path !== packageOrPath);
36
+ if (filtered.length < initialLength) {
37
+ store.set('plugins', filtered);
38
+ return true;
39
+ }
40
+ return false;
41
+ });
38
42
  }
39
43
  /**
40
44
  * Enable or disable a plugin
41
45
  */
42
46
  export function setPluginEnabled(packageOrPath, enabled) {
43
- const plugins = getPlugins();
44
- const plugin = plugins.find(p => p.package === packageOrPath || p.path === packageOrPath);
45
- if (plugin) {
46
- plugin.enabled = enabled;
47
- store.set('plugins', plugins);
48
- return true;
49
- }
50
- return false;
47
+ return withStoreMutation(() => {
48
+ const plugins = getPlugins();
49
+ const plugin = plugins.find(p => p.package === packageOrPath || p.path === packageOrPath);
50
+ if (plugin) {
51
+ plugin.enabled = enabled;
52
+ store.set('plugins', plugins);
53
+ return true;
54
+ }
55
+ return false;
56
+ });
51
57
  }
52
58
  /**
53
59
  * Clear all plugins
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/config/plugins.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAOlC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;IAE7C,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;IAC1E,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,kBAAkB;QAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB;IAChD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CACxD,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,OAAgB;IACtE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CACxD,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/lib/config/plugins.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAOlC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,iBAAiB,CAAC,GAAG,EAAE;QACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;QAE7C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;QAC1E,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,kBAAkB;YAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,aAAqB;IAChD,OAAO,iBAAiB,CAAC,GAAG,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CACxD,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACpC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,OAAgB;IACtE,OAAO,iBAAiB,CAAC,GAAG,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CACxD,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Execute one synchronous profile-store transaction under a cross-process
3
+ * lock. Profile mutations are deliberately tiny and synchronous; a dead
4
+ * process is reclaimable after the stale interval.
5
+ */
6
+ export declare function withProfileMutationLock<T>(configPath: string, operation: () => T): T;
7
+ //# sourceMappingURL=profile-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-lock.d.ts","sourceRoot":"","sources":["../../../src/lib/config/profile-lock.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CA4BpF"}
@@ -0,0 +1,65 @@
1
+ import { existsSync, lstatSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import lockfile from 'proper-lockfile';
4
+ const PROFILE_LOCK_STALE_MS = 10_000;
5
+ const PROFILE_LOCK_RETRY_MS = 100;
6
+ const PROFILE_LOCK_RETRIES = 50;
7
+ const sleepBuffer = new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));
8
+ let heldDepth = 0;
9
+ function profileLockTarget(configPath) {
10
+ const directory = join(dirname(configPath), 'locks');
11
+ mkdirSync(directory, { recursive: true, mode: 0o700 });
12
+ const target = join(directory, 'profile-store.lock');
13
+ if (!existsSync(target)) {
14
+ try {
15
+ writeFileSync(target, '', { flag: 'wx', mode: 0o600 });
16
+ }
17
+ catch (error) {
18
+ if (error.code !== 'EEXIST') {
19
+ throw new Error('CLI profile store lock is unavailable');
20
+ }
21
+ }
22
+ }
23
+ const stat = lstatSync(target);
24
+ if (!stat.isFile() || stat.isSymbolicLink() || (stat.mode & 0o077) !== 0) {
25
+ throw new Error('CLI profile store lock is unsafe');
26
+ }
27
+ return target;
28
+ }
29
+ /**
30
+ * Execute one synchronous profile-store transaction under a cross-process
31
+ * lock. Profile mutations are deliberately tiny and synchronous; a dead
32
+ * process is reclaimable after the stale interval.
33
+ */
34
+ export function withProfileMutationLock(configPath, operation) {
35
+ if (heldDepth > 0)
36
+ return operation();
37
+ let release;
38
+ const target = profileLockTarget(configPath);
39
+ for (let attempt = 0; attempt <= PROFILE_LOCK_RETRIES; attempt += 1) {
40
+ try {
41
+ release = lockfile.lockSync(target, { stale: PROFILE_LOCK_STALE_MS });
42
+ break;
43
+ }
44
+ catch (error) {
45
+ if (error.code !== 'ELOCKED') {
46
+ throw new Error('CLI profile store lock is unavailable');
47
+ }
48
+ if (attempt === PROFILE_LOCK_RETRIES) {
49
+ throw new Error('CLI profile store is busy');
50
+ }
51
+ Atomics.wait(sleepBuffer, 0, 0, PROFILE_LOCK_RETRY_MS);
52
+ }
53
+ }
54
+ if (!release)
55
+ throw new Error('CLI profile store is busy');
56
+ heldDepth += 1;
57
+ try {
58
+ return operation();
59
+ }
60
+ finally {
61
+ heldDepth -= 1;
62
+ release();
63
+ }
64
+ }
65
+ //# sourceMappingURL=profile-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-lock.js","sourceRoot":"","sources":["../../../src/lib/config/profile-lock.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@ export declare function getCurrentProfile(): Profile;
11
11
  * Save profile data (invalidates cache)
12
12
  */
13
13
  export declare function saveProfile(profileName: string, profile: Profile): void;
14
+ /**
15
+ * Atomically mutate authentication fields for exactly one existing profile.
16
+ * Generic profile writes preserve these fields and cannot clobber them.
17
+ */
18
+ export declare function mutateProfileAuthentication(profileName: string, mutation: (profile: Profile) => Profile): Profile;
14
19
  /**
15
20
  * List all profiles
16
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/lib/config/profile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoC,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9F;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqB3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAOvE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAW5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAI3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiClH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAmBhD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAG5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAwBpE"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/lib/config/profile.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoC,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAgB9F;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqB3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAOvE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GACtC,OAAO,CAoBT;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAW5C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAI3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsClH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAkBhD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAG5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuBpE"}
@@ -2,10 +2,30 @@
2
2
  /**
3
3
  * Profile management operations
4
4
  */
5
- import { store, getRuntimeProfile } from './store.js';
5
+ import { store, getRuntimeProfile, withStoreMutation } from './store.js';
6
6
  import { ensureMigrated } from './migration.js';
7
7
  import { CONFIG_DEFAULTS, DEFAULT_PROFILE } from './types.js';
8
8
  import { getCachedProfile, cacheProfile, invalidateProfileCache } from './cache.js';
9
+ function preserveAuthentication(current, proposed) {
10
+ const next = { ...proposed };
11
+ if (current?.credentials !== undefined)
12
+ next.credentials = current.credentials;
13
+ else
14
+ delete next.credentials;
15
+ if (current?.apiKey !== undefined)
16
+ next.apiKey = current.apiKey;
17
+ else
18
+ delete next.apiKey;
19
+ if (current?.apiKeyId !== undefined)
20
+ next.apiKeyId = current.apiKeyId;
21
+ else
22
+ delete next.apiKeyId;
23
+ if (current?.apiKeyName !== undefined)
24
+ next.apiKeyName = current.apiKeyName;
25
+ else
26
+ delete next.apiKeyName;
27
+ return next;
28
+ }
9
29
  /**
10
30
  * Get the current active profile name
11
31
  */
@@ -39,11 +59,37 @@ export function getCurrentProfile() {
39
59
  * Save profile data (invalidates cache)
40
60
  */
41
61
  export function saveProfile(profileName, profile) {
42
- const profiles = store.get('profiles');
43
- profiles[profileName] = profile;
44
- store.set('profiles', profiles);
45
- // Invalidate cache for this profile
46
- invalidateProfileCache(profileName);
62
+ withStoreMutation(() => {
63
+ const profiles = store.get('profiles');
64
+ profiles[profileName] = preserveAuthentication(profiles[profileName], profile);
65
+ store.set('profiles', profiles);
66
+ invalidateProfileCache(profileName);
67
+ });
68
+ }
69
+ /**
70
+ * Atomically mutate authentication fields for exactly one existing profile.
71
+ * Generic profile writes preserve these fields and cannot clobber them.
72
+ */
73
+ export function mutateProfileAuthentication(profileName, mutation) {
74
+ return withStoreMutation(() => {
75
+ const profiles = store.get('profiles');
76
+ const hasProfile = Object.prototype.hasOwnProperty.call(profiles, profileName);
77
+ if (!hasProfile && profileName !== DEFAULT_PROFILE) {
78
+ throw new Error(`Profile '${profileName}' not found`);
79
+ }
80
+ const current = hasProfile
81
+ ? profiles[profileName]
82
+ : {
83
+ url: CONFIG_DEFAULTS.url,
84
+ insecure: CONFIG_DEFAULTS.insecure,
85
+ timeout: CONFIG_DEFAULTS.timeout,
86
+ };
87
+ const updated = mutation({ ...current });
88
+ profiles[profileName] = updated;
89
+ store.set('profiles', profiles);
90
+ invalidateProfileCache(profileName);
91
+ return updated;
92
+ });
47
93
  }
48
94
  /**
49
95
  * List all profiles
@@ -85,34 +131,39 @@ export function profileExists(name) {
85
131
  * Create a new profile
86
132
  */
87
133
  export function createProfile(name, options) {
88
- const profiles = store.get('profiles');
89
- if (name in profiles) {
90
- throw new Error(`Profile '${name}' already exists`);
91
- }
92
- let newProfile;
93
- if (options.copyFrom) {
94
- if (!(options.copyFrom in profiles)) {
95
- throw new Error(`Source profile '${options.copyFrom}' not found`);
134
+ withStoreMutation(() => {
135
+ const profiles = store.get('profiles');
136
+ if (name in profiles) {
137
+ throw new Error(`Profile '${name}' already exists`);
96
138
  }
97
- newProfile = { ...profiles[options.copyFrom] };
98
- // Don't copy credentials
99
- newProfile.credentials = undefined;
100
- }
101
- else {
102
- newProfile = {
103
- url: options.url ?? CONFIG_DEFAULTS.url,
104
- insecure: options.insecure ?? CONFIG_DEFAULTS.insecure,
105
- timeout: CONFIG_DEFAULTS.timeout,
106
- };
107
- }
108
- if (options.url) {
109
- newProfile.url = options.url;
110
- }
111
- if (options.insecure !== undefined) {
112
- newProfile.insecure = options.insecure;
113
- }
114
- profiles[name] = newProfile;
115
- store.set('profiles', profiles);
139
+ let newProfile;
140
+ if (options.copyFrom) {
141
+ if (!(options.copyFrom in profiles)) {
142
+ throw new Error(`Source profile '${options.copyFrom}' not found`);
143
+ }
144
+ newProfile = { ...profiles[options.copyFrom] };
145
+ delete newProfile.credentials;
146
+ delete newProfile.apiKey;
147
+ delete newProfile.apiKeyId;
148
+ delete newProfile.apiKeyName;
149
+ }
150
+ else {
151
+ newProfile = {
152
+ url: options.url ?? CONFIG_DEFAULTS.url,
153
+ insecure: options.insecure ?? CONFIG_DEFAULTS.insecure,
154
+ timeout: CONFIG_DEFAULTS.timeout,
155
+ };
156
+ }
157
+ if (options.url) {
158
+ newProfile.url = options.url;
159
+ }
160
+ if (options.insecure !== undefined) {
161
+ newProfile.insecure = options.insecure;
162
+ }
163
+ profiles[name] = newProfile;
164
+ store.set('profiles', profiles);
165
+ invalidateProfileCache(name);
166
+ });
116
167
  }
117
168
  /**
118
169
  * Delete a profile
@@ -121,27 +172,31 @@ export function deleteProfile(name) {
121
172
  if (name === DEFAULT_PROFILE) {
122
173
  throw new Error(`Cannot delete the '${DEFAULT_PROFILE}' profile`);
123
174
  }
124
- const profiles = store.get('profiles');
125
- if (!(name in profiles)) {
126
- throw new Error(`Profile '${name}' not found`);
127
- }
128
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
129
- delete profiles[name];
130
- store.set('profiles', profiles);
131
- // If we deleted the active profile, switch to default
132
- if (store.get('activeProfile') === name) {
133
- store.set('activeProfile', DEFAULT_PROFILE);
134
- }
175
+ withStoreMutation(() => {
176
+ const profiles = store.get('profiles');
177
+ if (!(name in profiles)) {
178
+ throw new Error(`Profile '${name}' not found`);
179
+ }
180
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
181
+ delete profiles[name];
182
+ store.set('profiles', profiles);
183
+ invalidateProfileCache(name);
184
+ if (store.get('activeProfile') === name) {
185
+ store.set('activeProfile', DEFAULT_PROFILE);
186
+ }
187
+ });
135
188
  }
136
189
  /**
137
190
  * Switch active profile
138
191
  */
139
192
  export function switchProfile(name) {
140
- const profiles = store.get('profiles');
141
- if (!(name in profiles)) {
142
- throw new Error(`Profile '${name}' not found`);
143
- }
144
- store.set('activeProfile', name);
193
+ withStoreMutation(() => {
194
+ const profiles = store.get('profiles');
195
+ if (!(name in profiles)) {
196
+ throw new Error(`Profile '${name}' not found`);
197
+ }
198
+ store.set('activeProfile', name);
199
+ });
145
200
  }
146
201
  /**
147
202
  * Get a specific profile
@@ -157,20 +212,23 @@ export function renameProfile(oldName, newName) {
157
212
  if (oldName === DEFAULT_PROFILE) {
158
213
  throw new Error(`Cannot rename the '${DEFAULT_PROFILE}' profile`);
159
214
  }
160
- const profiles = store.get('profiles');
161
- if (!(oldName in profiles)) {
162
- throw new Error(`Profile '${oldName}' not found`);
163
- }
164
- if (newName in profiles) {
165
- throw new Error(`Profile '${newName}' already exists`);
166
- }
167
- profiles[newName] = profiles[oldName];
168
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
169
- delete profiles[oldName];
170
- store.set('profiles', profiles);
171
- // Update active profile if needed
172
- if (store.get('activeProfile') === oldName) {
173
- store.set('activeProfile', newName);
174
- }
215
+ withStoreMutation(() => {
216
+ const profiles = store.get('profiles');
217
+ if (!(oldName in profiles)) {
218
+ throw new Error(`Profile '${oldName}' not found`);
219
+ }
220
+ if (newName in profiles) {
221
+ throw new Error(`Profile '${newName}' already exists`);
222
+ }
223
+ profiles[newName] = profiles[oldName];
224
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
225
+ delete profiles[oldName];
226
+ store.set('profiles', profiles);
227
+ invalidateProfileCache(oldName);
228
+ invalidateProfileCache(newName);
229
+ if (store.get('activeProfile') === oldName) {
230
+ store.set('activeProfile', newName);
231
+ }
232
+ });
175
233
  }
176
234
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/lib/config/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/lib/config/profile.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@
9
9
  */
10
10
  import Conf from 'conf';
11
11
  import type { ConfigStore } from './types.js';
12
+ /**
13
+ * Run a complete read-modify-write transaction against the shared config
14
+ * file. Every mutation must use this authority so another CLI process cannot
15
+ * rewrite a stale whole-file snapshot over profile authentication.
16
+ */
17
+ export declare function withStoreMutation<T>(operation: () => T): T;
12
18
  /**
13
19
  * Store proxy that lazily initializes the underlying Conf instance.
14
20
  * This ensures mocks are applied before the real Conf is created.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgC9C;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,WAAW,CAelC,CAAC;AAKH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAmD9C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAG1D;AAUD;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,WAAW,CAsBlC,CAAC;AAKH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -10,32 +10,58 @@
10
10
  */
11
11
  import Conf from 'conf';
12
12
  import { DEFAULT_PROFILE } from './types.js';
13
+ import { withProfileMutationLock } from './profile-lock.js';
13
14
  // Lazy-initialized store instance
14
15
  let _store = null;
16
+ function storeOptions(includeDefaults) {
17
+ const configDir = process.env.ZNVAULT_CONFIG_DIR;
18
+ return {
19
+ projectName: 'znvault',
20
+ configFileMode: 0o600,
21
+ ...(configDir ? { cwd: configDir } : {}),
22
+ ...(includeDefaults
23
+ ? {
24
+ defaults: {
25
+ activeProfile: DEFAULT_PROFILE,
26
+ profiles: {},
27
+ plugins: [],
28
+ },
29
+ }
30
+ : {}),
31
+ };
32
+ }
33
+ function resolveConfigPath() {
34
+ // A Conf instance without defaults only resolves/reads the path; it cannot
35
+ // create or rewrite the JSON file during construction.
36
+ return new Conf(storeOptions(false)).path;
37
+ }
15
38
  /**
16
39
  * Get the config store instance (lazy initialization).
17
40
  * This allows mocks to be set up before the store is created.
18
41
  */
19
42
  function getStoreInstance() {
20
43
  if (!_store) {
21
- // Check for custom config directory (used for test isolation)
22
- const configDir = process.env.ZNVAULT_CONFIG_DIR;
23
- _store = new Conf({
24
- projectName: 'znvault',
25
- // Profiles contain rotating access/refresh tokens. Preserve 0600 on
26
- // every atomic rewrite instead of inheriting a permissive process umask.
27
- configFileMode: 0o600,
28
- // Use custom config directory if specified (for test isolation)
29
- ...(configDir ? { cwd: configDir } : {}),
30
- defaults: {
31
- activeProfile: DEFAULT_PROFILE,
32
- profiles: {},
33
- plugins: [],
34
- },
35
- });
44
+ const configPath = resolveConfigPath();
45
+ _store = withProfileMutationLock(configPath, () => new Conf(storeOptions(true)));
36
46
  }
37
47
  return _store;
38
48
  }
49
+ /**
50
+ * Run a complete read-modify-write transaction against the shared config
51
+ * file. Every mutation must use this authority so another CLI process cannot
52
+ * rewrite a stale whole-file snapshot over profile authentication.
53
+ */
54
+ export function withStoreMutation(operation) {
55
+ const instance = getStoreInstance();
56
+ return withProfileMutationLock(instance.path, operation);
57
+ }
58
+ const MUTATING_STORE_METHODS = new Set([
59
+ 'set',
60
+ 'delete',
61
+ 'clear',
62
+ 'reset',
63
+ 'appendToArray',
64
+ ]);
39
65
  /**
40
66
  * Store proxy that lazily initializes the underlying Conf instance.
41
67
  * This ensures mocks are applied before the real Conf is created.
@@ -46,11 +72,18 @@ export const store = new Proxy({}, {
46
72
  // eslint-disable-next-line @typescript-eslint/unbound-method -- the very next lines bind any function to `instance` before returning it; that binding is this proxy's purpose
47
73
  const value = instance[prop];
48
74
  if (typeof value === 'function') {
49
- return value.bind(instance);
75
+ const bound = value.bind(instance);
76
+ if (MUTATING_STORE_METHODS.has(prop)) {
77
+ return (...args) => withStoreMutation(() => bound(...args));
78
+ }
79
+ return bound;
50
80
  }
51
81
  return value;
52
82
  },
53
83
  set(_target, prop, value) {
84
+ if (prop === 'store') {
85
+ throw new Error('Direct CLI config store replacement is forbidden');
86
+ }
54
87
  const instance = getStoreInstance();
55
88
  instance[prop] = value;
56
89
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC;;;;;;;;GAQG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,kCAAkC;AAClC,IAAI,MAAM,GAA6B,IAAI,CAAC;AAE5C;;;GAGG;AACH,SAAS,gBAAgB;IACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8DAA8D;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAEjD,MAAM,GAAG,IAAI,IAAI,CAAc;YAC7B,WAAW,EAAE,SAAS;YACtB,oEAAoE;YACpE,yEAAyE;YACzE,cAAc,EAAE,KAAK;YACrB,gEAAgE;YAChE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,QAAQ,EAAE;gBACR,aAAa,EAAE,eAAe;gBAC9B,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;aACZ;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAsB,IAAI,KAAK,CAAC,EAAuB,EAAE;IACzE,GAAG,CAAC,OAAO,EAAE,IAA6B;QACxC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,8KAA8K;QAC9K,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,IAA6B,EAAE,KAAc;QACxD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACnC,QAA+C,CAAC,IAAc,CAAC,GAAG,KAAK,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,oDAAoD;AACpD,IAAI,sBAAsB,GAAkB,IAAI,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,sBAAsB,GAAG,OAAO,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,IAAI,CAAC;IACd,sBAAsB,GAAG,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/lib/config/store.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@
4
4
  * This file maintains backward compatibility by re-exporting from the
5
5
  * modularized config/ directory structure.
6
6
  */
7
- export { type Profile, type ConfigStore, type ProfileInfo, type ApiKeyInfo, CONFIG_DEFAULTS, DEFAULT_PROFILE, store, setRuntimeProfile, resetConfig, getConfigPath, ensureMigrated, resetMigrationState, invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats, getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, storeCredentials, clearCredentials, getCredentials, isTokenExpired, hasEnvCredentials, getEnvCredentials, decodeRefreshJti, writePendingRefreshMarker, decidePendingRefresh, logPendingRefreshRecovery, type MarkerDecision, hasApiKey, getApiKey, storeApiKey, getStoredApiKeyInfo, clearApiKey, getStoredApiKey, getPlugins, addPlugin, removePlugin, setPluginEnabled, clearPlugins, getConfig, getConfigValue, setConfigValue, getEffectiveUrl, getAllConfig, validateEnvironment, assertValidEnvironment, getValidatedEnvCredentials, getValidatedApiKey, getValidatedUrl, type ValidationResult, storeAutoUnsealSecret, getAutoUnsealSecret, hasAutoUnsealSecret, clearAutoUnsealSecret, generateTOTPCode, parseOTPAuthURI, } from './config/index.js';
7
+ export { type Profile, type ConfigStore, type ProfileInfo, type ApiKeyInfo, CONFIG_DEFAULTS, DEFAULT_PROFILE, store, setRuntimeProfile, resetConfig, getConfigPath, ensureMigrated, resetMigrationState, invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats, getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, mutateProfileAuthentication, storeCredentials, clearCredentials, getCredentials, isTokenExpired, hasEnvCredentials, getEnvCredentials, decodeRefreshJti, writePendingRefreshMarker, decidePendingRefresh, logPendingRefreshRecovery, type MarkerDecision, hasApiKey, getApiKey, storeApiKey, getStoredApiKeyInfo, clearApiKey, getStoredApiKey, getPlugins, addPlugin, removePlugin, setPluginEnabled, clearPlugins, getConfig, getConfigValue, setConfigValue, getEffectiveUrl, getAllConfig, validateEnvironment, assertValidEnvironment, getValidatedEnvCredentials, getValidatedApiKey, getValidatedUrl, type ValidationResult, storeAutoUnsealSecret, getAutoUnsealSecret, hasAutoUnsealSecret, clearAutoUnsealSecret, generateTOTPCode, parseOTPAuthURI, } from './config/index.js';
8
8
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,eAAe,EACf,eAAe,EAGf,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EAGb,cAAc,EACd,mBAAmB,EAGnB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EAGb,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EAGb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,cAAc,EAGnB,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,EAGf,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EAGZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EAGZ,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EAGrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,eAAe,EACf,eAAe,EAGf,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EAGb,cAAc,EACd,mBAAmB,EAGnB,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EAGb,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,EAG3B,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,cAAc,EAGnB,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,EAGf,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EAGZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY,EAGZ,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,KAAK,gBAAgB,EAGrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -13,7 +13,7 @@ ensureMigrated, resetMigrationState,
13
13
  // Cache
14
14
  invalidateProfileCache, invalidateAllProfileCaches, invalidateConfigCache, invalidateAllCaches, getCacheStats,
15
15
  // Profile management
16
- getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile,
16
+ getActiveProfileName, getCurrentProfile, saveProfile, listProfiles, listProfileNames, profileExists, createProfile, deleteProfile, switchProfile, getProfile, renameProfile, mutateProfileAuthentication,
17
17
  // Credentials
18
18
  storeCredentials, clearCredentials, getCredentials, isTokenExpired, hasEnvCredentials, getEnvCredentials, decodeRefreshJti, writePendingRefreshMarker, decidePendingRefresh, logPendingRefreshRecovery,
19
19
  // API key
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B;;;;;GAKG;AAEH,OAAO,EAML,eAAe,EACf,eAAe;AAEf,QAAQ;AACR,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa;AAEb,YAAY;AACZ,cAAc,EACd,mBAAmB;AAEnB,QAAQ;AACR,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa;AAEb,qBAAqB;AACrB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa;AAEb,cAAc;AACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB;AAGzB,UAAU;AACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe;AAEf,UAAU;AACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY;AAEZ,yBAAyB;AACzB,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY;AAEZ,aAAa;AACb,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe;AAGf,cAAc;AACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B;;;;;GAKG;AAEH,OAAO,EAML,eAAe,EACf,eAAe;AAEf,QAAQ;AACR,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa;AAEb,YAAY;AACZ,cAAc,EACd,mBAAmB;AAEnB,QAAQ;AACR,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,aAAa;AAEb,qBAAqB;AACrB,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B;AAE3B,cAAc;AACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB;AAGzB,UAAU;AACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe;AAEf,UAAU;AACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY;AAEZ,yBAAyB;AACzB,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,YAAY;AAEZ,aAAa;AACb,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe;AAGf,cAAc;AACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zincapp/znvault-cli",
3
- "version": "4.24.4",
3
+ "version": "4.24.5",
4
4
  "description": "Official CLI for ZnVault administration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",