@robinmordasiewicz/f5xc-api-mcp 1.0.82-2512312028 → 1.0.82-2601010145

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 (52) hide show
  1. package/dist/auth/credential-manager.d.ts +40 -29
  2. package/dist/auth/credential-manager.d.ts.map +1 -1
  3. package/dist/auth/credential-manager.js +132 -100
  4. package/dist/auth/credential-manager.js.map +1 -1
  5. package/dist/auth/http-client.d.ts.map +1 -1
  6. package/dist/auth/http-client.js +21 -10
  7. package/dist/auth/http-client.js.map +1 -1
  8. package/dist/auth/index.d.ts +5 -0
  9. package/dist/auth/index.d.ts.map +1 -1
  10. package/dist/auth/index.js +5 -0
  11. package/dist/auth/index.js.map +1 -1
  12. package/dist/config/paths.d.ts +34 -0
  13. package/dist/config/paths.d.ts.map +1 -0
  14. package/dist/config/paths.js +67 -0
  15. package/dist/config/paths.js.map +1 -0
  16. package/dist/index.d.ts +12 -6
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +22 -11
  19. package/dist/index.js.map +1 -1
  20. package/dist/profile/index.d.ts +9 -0
  21. package/dist/profile/index.d.ts.map +1 -0
  22. package/dist/profile/index.js +8 -0
  23. package/dist/profile/index.js.map +1 -0
  24. package/dist/profile/manager.d.ts +75 -0
  25. package/dist/profile/manager.d.ts.map +1 -0
  26. package/dist/profile/manager.js +327 -0
  27. package/dist/profile/manager.js.map +1 -0
  28. package/dist/profile/types.d.ts +51 -0
  29. package/dist/profile/types.d.ts.map +1 -0
  30. package/dist/profile/types.js +8 -0
  31. package/dist/profile/types.js.map +1 -0
  32. package/dist/server.d.ts +6 -1
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +8 -2
  35. package/dist/server.js.map +1 -1
  36. package/package.json +1 -1
  37. package/dist/config/config-manager.d.ts +0 -72
  38. package/dist/config/config-manager.d.ts.map +0 -1
  39. package/dist/config/config-manager.js +0 -247
  40. package/dist/config/config-manager.js.map +0 -1
  41. package/dist/config/index.d.ts +0 -7
  42. package/dist/config/index.d.ts.map +0 -1
  43. package/dist/config/index.js +0 -7
  44. package/dist/config/index.js.map +0 -1
  45. package/dist/config/schema.d.ts +0 -74
  46. package/dist/config/schema.d.ts.map +0 -1
  47. package/dist/config/schema.js +0 -75
  48. package/dist/config/schema.js.map +0 -1
  49. package/dist/config/types.d.ts +0 -77
  50. package/dist/config/types.d.ts.map +0 -1
  51. package/dist/config/types.js +0 -31
  52. package/dist/config/types.js.map +0 -1
@@ -4,9 +4,10 @@
4
4
  * Handles authentication configuration and URL normalization.
5
5
  * Supports dual-mode operation:
6
6
  * - Documentation mode: No credentials required
7
- * - Execution mode: API token or P12 certificate authentication
7
+ * - Execution mode: API token or P12/Certificate authentication
8
+ *
9
+ * Cross-compatible with f5xc-xcsh CLI profiles.
8
10
  */
9
- import { ConfigManager } from "../config/index.js";
10
11
  /**
11
12
  * Authentication modes supported by the server
12
13
  */
@@ -20,13 +21,15 @@ export declare enum AuthMode {
20
21
  }
21
22
  /**
22
23
  * Environment variable names for authentication
24
+ * These take priority over profile settings
23
25
  */
24
26
  export declare const AUTH_ENV_VARS: {
25
27
  readonly API_URL: "F5XC_API_URL";
26
28
  readonly API_TOKEN: "F5XC_API_TOKEN";
27
- readonly P12_FILE: "F5XC_P12_FILE";
28
- readonly P12_PASSWORD: "F5XC_P12_PASSWORD";
29
- readonly PROFILE: "F5XC_PROFILE";
29
+ readonly P12_BUNDLE: "F5XC_P12_BUNDLE";
30
+ readonly CERT: "F5XC_CERT";
31
+ readonly KEY: "F5XC_KEY";
32
+ readonly NAMESPACE: "F5XC_NAMESPACE";
30
33
  };
31
34
  /**
32
35
  * Credential configuration for API access
@@ -40,8 +43,12 @@ export interface Credentials {
40
43
  token: string | null;
41
44
  /** P12 certificate buffer (for cert auth) */
42
45
  p12Certificate: Buffer | null;
43
- /** P12 certificate password */
44
- p12Password: string | null;
46
+ /** Certificate content (for mTLS) */
47
+ cert: string | null;
48
+ /** Private key content (for mTLS) */
49
+ key: string | null;
50
+ /** Default namespace */
51
+ namespace: string | null;
45
52
  }
46
53
  /**
47
54
  * Normalize F5XC tenant URL to standard API endpoint format
@@ -67,41 +74,37 @@ export declare function extractTenantFromUrl(url: string): string | null;
67
74
  * Credential Manager
68
75
  *
69
76
  * Manages authentication credentials for F5 Distributed Cloud API.
70
- * Supports dual-layer credential loading with priority:
77
+ * Supports credential loading with priority:
71
78
  * 1. Environment variables (highest priority - overrides all)
72
- * 2. Named profiles from ~/.f5xc/credentials.json
79
+ * 2. Active profile from ~/.config/xcsh/ (cross-compatible with xcsh CLI)
73
80
  * 3. No credentials (documentation mode - lowest priority)
74
81
  */
75
82
  export declare class CredentialManager {
76
83
  private credentials;
77
- private activeProfile;
78
- private configManager;
79
- constructor(configManager?: ConfigManager);
80
- /**
81
- * Load credentials from environment variables
82
- */
83
- private loadFromEnvironment;
84
+ private activeProfileName;
85
+ private initialized;
86
+ constructor();
84
87
  /**
85
- * Load credentials from configuration file
88
+ * Initialize credentials asynchronously
89
+ * Must be called before using credentials
86
90
  */
87
- private loadFromConfigFile;
91
+ initialize(): Promise<void>;
88
92
  /**
89
- * Select which profile to use based on environment or config
93
+ * Load credentials from environment variables
90
94
  */
91
- private selectProfile;
95
+ private loadFromEnvironment;
92
96
  /**
93
- * Merge raw credentials from environment and config
94
- * Environment variables override profile settings
97
+ * Load credentials from active profile
95
98
  */
96
- private mergeCredentials;
99
+ private loadFromProfile;
97
100
  /**
98
- * Build credentials object from raw credentials
101
+ * Build credentials object from profile data
99
102
  */
100
103
  private buildCredentials;
101
104
  /**
102
105
  * Load credentials with priority order:
103
106
  * 1. Environment variables (highest)
104
- * 2. Profile from config file
107
+ * 2. Active profile from ~/.config/xcsh/
105
108
  * 3. No credentials - documentation mode (lowest)
106
109
  */
107
110
  private loadCredentials;
@@ -135,17 +138,25 @@ export declare class CredentialManager {
135
138
  */
136
139
  getP12Certificate(): Buffer | null;
137
140
  /**
138
- * Get P12 certificate password
141
+ * Get certificate content (for mTLS)
142
+ */
143
+ getCert(): string | null;
144
+ /**
145
+ * Get private key content (for mTLS)
146
+ */
147
+ getKey(): string | null;
148
+ /**
149
+ * Get default namespace
139
150
  */
140
- getP12Password(): string | null;
151
+ getNamespace(): string | null;
141
152
  /**
142
153
  * Get full credentials object
143
154
  */
144
155
  getCredentials(): Readonly<Credentials>;
145
156
  /**
146
- * Reload credentials from environment
157
+ * Reload credentials from environment/profile
147
158
  * Useful for testing or when credentials change
148
159
  */
149
- reload(): void;
160
+ reload(): Promise<void>;
150
161
  }
151
162
  //# sourceMappingURL=credential-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;GAEG;AACH,oBAAY,QAAQ;IAClB,kDAAkD;IAClD,IAAI,SAAS;IACb,+BAA+B;IAC/B,KAAK,UAAU;IACf,4CAA4C;IAC5C,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAaX;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,CAAC,EAAE,aAAa;IAKzC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA0CvB;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,WAAW,CAAC;IAIvC;;;OAGG;IACH,MAAM,IAAI,IAAI;CAGf"}
1
+ {"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;GAEG;AACH,oBAAY,QAAQ;IAClB,kDAAkD;IAClD,IAAI,SAAS;IACb,+BAA+B;IAC/B,KAAK,UAAU;IACf,4CAA4C;IAC5C,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qCAAqC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,WAAW,CAAS;;IAe5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqExB;;;;;OAKG;YACW,eAAe;IA0C7B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,WAAW,CAAC;IAIvC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9B"}
@@ -4,11 +4,13 @@
4
4
  * Handles authentication configuration and URL normalization.
5
5
  * Supports dual-mode operation:
6
6
  * - Documentation mode: No credentials required
7
- * - Execution mode: API token or P12 certificate authentication
7
+ * - Execution mode: API token or P12/Certificate authentication
8
+ *
9
+ * Cross-compatible with f5xc-xcsh CLI profiles.
8
10
  */
9
11
  import { readFileSync } from "fs";
10
12
  import { logger } from "../utils/logging.js";
11
- import { ConfigManager } from "../config/index.js";
13
+ import { getProfileManager } from "../profile/index.js";
12
14
  /**
13
15
  * Authentication modes supported by the server
14
16
  */
@@ -23,13 +25,15 @@ export var AuthMode;
23
25
  })(AuthMode || (AuthMode = {}));
24
26
  /**
25
27
  * Environment variable names for authentication
28
+ * These take priority over profile settings
26
29
  */
27
30
  export const AUTH_ENV_VARS = {
28
31
  API_URL: "F5XC_API_URL",
29
32
  API_TOKEN: "F5XC_API_TOKEN",
30
- P12_FILE: "F5XC_P12_FILE",
31
- P12_PASSWORD: "F5XC_P12_PASSWORD",
32
- PROFILE: "F5XC_PROFILE",
33
+ P12_BUNDLE: "F5XC_P12_BUNDLE",
34
+ CERT: "F5XC_CERT",
35
+ KEY: "F5XC_KEY",
36
+ NAMESPACE: "F5XC_NAMESPACE",
33
37
  };
34
38
  /**
35
39
  * URL normalization patterns
@@ -88,118 +92,106 @@ export function extractTenantFromUrl(url) {
88
92
  * Credential Manager
89
93
  *
90
94
  * Manages authentication credentials for F5 Distributed Cloud API.
91
- * Supports dual-layer credential loading with priority:
95
+ * Supports credential loading with priority:
92
96
  * 1. Environment variables (highest priority - overrides all)
93
- * 2. Named profiles from ~/.f5xc/credentials.json
97
+ * 2. Active profile from ~/.config/xcsh/ (cross-compatible with xcsh CLI)
94
98
  * 3. No credentials (documentation mode - lowest priority)
95
99
  */
96
100
  export class CredentialManager {
97
101
  credentials;
98
- activeProfile = null;
99
- configManager;
100
- constructor(configManager) {
101
- this.configManager = configManager ?? new ConfigManager();
102
- this.credentials = this.loadCredentials();
102
+ activeProfileName = null;
103
+ initialized = false;
104
+ constructor() {
105
+ // Initialize with empty credentials - will be loaded async
106
+ this.credentials = {
107
+ mode: AuthMode.NONE,
108
+ apiUrl: null,
109
+ token: null,
110
+ p12Certificate: null,
111
+ cert: null,
112
+ key: null,
113
+ namespace: null,
114
+ };
115
+ }
116
+ /**
117
+ * Initialize credentials asynchronously
118
+ * Must be called before using credentials
119
+ */
120
+ async initialize() {
121
+ if (this.initialized)
122
+ return;
123
+ this.credentials = await this.loadCredentials();
124
+ this.initialized = true;
103
125
  }
104
126
  /**
105
127
  * Load credentials from environment variables
106
128
  */
107
129
  loadFromEnvironment() {
130
+ const apiUrl = process.env[AUTH_ENV_VARS.API_URL];
131
+ const apiToken = process.env[AUTH_ENV_VARS.API_TOKEN];
132
+ const p12Bundle = process.env[AUTH_ENV_VARS.P12_BUNDLE];
133
+ const cert = process.env[AUTH_ENV_VARS.CERT];
134
+ const key = process.env[AUTH_ENV_VARS.KEY];
135
+ const defaultNamespace = process.env[AUTH_ENV_VARS.NAMESPACE];
136
+ const hasAuth = !!(apiToken || p12Bundle || (cert && key));
108
137
  return {
109
- apiUrl: process.env[AUTH_ENV_VARS.API_URL],
110
- token: process.env[AUTH_ENV_VARS.API_TOKEN],
111
- p12File: process.env[AUTH_ENV_VARS.P12_FILE],
112
- p12Password: process.env[AUTH_ENV_VARS.P12_PASSWORD],
138
+ name: "__env__",
139
+ apiUrl: apiUrl || "",
140
+ apiToken,
141
+ p12Bundle,
142
+ cert,
143
+ key,
144
+ defaultNamespace,
145
+ hasAuth,
113
146
  };
114
147
  }
115
148
  /**
116
- * Load credentials from configuration file
149
+ * Load credentials from active profile
117
150
  */
118
- loadFromConfigFile() {
151
+ async loadFromProfile() {
119
152
  try {
120
- const config = this.configManager.readSync();
121
- if (!config || Object.keys(config.profiles).length === 0) {
122
- return null;
123
- }
124
- const profileName = this.selectProfile(config);
125
- if (!profileName) {
126
- return null;
127
- }
128
- const profile = config.profiles[profileName];
129
- if (!profile) {
130
- return null;
153
+ const profileManager = getProfileManager();
154
+ const profile = await profileManager.getActiveProfile();
155
+ if (profile) {
156
+ this.activeProfileName = profile.name;
157
+ return profile;
131
158
  }
132
- this.activeProfile = profileName;
133
- // Touch the profile to update lastUsedAt (async, but don't block)
134
- this.configManager.touchProfile(profileName).catch(() => {
135
- // Silently ignore touch errors
136
- });
137
- return {
138
- apiUrl: profile.apiUrl,
139
- token: profile.apiToken,
140
- p12File: profile.p12File,
141
- p12Password: profile.p12Password,
142
- };
159
+ return null;
143
160
  }
144
161
  catch (error) {
145
- logger.debug("Failed to load credentials from config file", {
162
+ logger.debug("Failed to load credentials from profile", {
146
163
  error: error instanceof Error ? error.message : String(error),
147
164
  });
148
165
  return null;
149
166
  }
150
167
  }
151
168
  /**
152
- * Select which profile to use based on environment or config
153
- */
154
- selectProfile(config) {
155
- // Check if F5XC_PROFILE is explicitly set
156
- const envProfile = process.env[AUTH_ENV_VARS.PROFILE];
157
- if (envProfile && config.profiles[envProfile]) {
158
- return envProfile;
159
- }
160
- // Fall back to default profile if set
161
- return config.defaultProfile ?? null;
162
- }
163
- /**
164
- * Merge raw credentials from environment and config
165
- * Environment variables override profile settings
166
- */
167
- mergeCredentials(envCreds, profileCreds) {
168
- return {
169
- apiUrl: envCreds.apiUrl ?? profileCreds.apiUrl,
170
- token: envCreds.token ?? profileCreds.token,
171
- p12File: envCreds.p12File ?? profileCreds.p12File,
172
- p12Password: envCreds.p12Password ?? profileCreds.p12Password,
173
- };
174
- }
175
- /**
176
- * Build credentials object from raw credentials
169
+ * Build credentials object from profile data
177
170
  */
178
- buildCredentials(rawCreds) {
179
- const apiUrl = rawCreds.apiUrl;
180
- const token = rawCreds.token;
181
- const p12File = rawCreds.p12File;
182
- const p12Password = rawCreds.p12Password;
171
+ buildCredentials(profile) {
172
+ const apiUrl = profile.apiUrl;
183
173
  // Determine authentication mode
184
174
  let mode = AuthMode.NONE;
185
175
  let normalizedUrl = null;
186
176
  let p12Certificate = null;
177
+ let cert = null;
178
+ let key = null;
187
179
  if (apiUrl) {
188
180
  normalizedUrl = normalizeApiUrl(apiUrl);
189
- if (p12File) {
190
- // Certificate authentication takes precedence
181
+ if (profile.p12Bundle) {
182
+ // P12 certificate authentication
191
183
  mode = AuthMode.CERTIFICATE;
192
184
  try {
193
- p12Certificate = readFileSync(p12File);
194
- logger.info("Loaded P12 certificate", { file: p12File });
185
+ p12Certificate = readFileSync(profile.p12Bundle);
186
+ logger.info("Loaded P12 certificate", { file: profile.p12Bundle });
195
187
  }
196
188
  catch (error) {
197
189
  logger.error("Failed to load P12 certificate", {
198
- file: p12File,
190
+ file: profile.p12Bundle,
199
191
  error: error instanceof Error ? error.message : String(error),
200
192
  });
201
193
  // Fall back to token auth if certificate load fails
202
- if (token) {
194
+ if (profile.apiToken) {
203
195
  mode = AuthMode.TOKEN;
204
196
  logger.info("Falling back to token authentication");
205
197
  }
@@ -208,48 +200,72 @@ export class CredentialManager {
208
200
  }
209
201
  }
210
202
  }
211
- else if (token) {
203
+ else if (profile.cert && profile.key) {
204
+ // Certificate + key authentication
205
+ mode = AuthMode.CERTIFICATE;
206
+ try {
207
+ cert = readFileSync(profile.cert, "utf-8");
208
+ key = readFileSync(profile.key, "utf-8");
209
+ logger.info("Loaded certificate and key", {
210
+ cert: profile.cert,
211
+ key: profile.key,
212
+ });
213
+ }
214
+ catch (error) {
215
+ logger.error("Failed to load certificate/key", {
216
+ error: error instanceof Error ? error.message : String(error),
217
+ });
218
+ if (profile.apiToken) {
219
+ mode = AuthMode.TOKEN;
220
+ logger.info("Falling back to token authentication");
221
+ }
222
+ else {
223
+ mode = AuthMode.NONE;
224
+ }
225
+ }
226
+ }
227
+ else if (profile.apiToken) {
212
228
  mode = AuthMode.TOKEN;
213
229
  }
214
230
  }
215
231
  return {
216
232
  mode,
217
233
  apiUrl: normalizedUrl,
218
- token: token ?? null,
234
+ token: profile.apiToken ?? null,
219
235
  p12Certificate,
220
- p12Password: p12Password ?? null,
236
+ cert,
237
+ key,
238
+ namespace: profile.defaultNamespace ?? null,
221
239
  };
222
240
  }
223
241
  /**
224
242
  * Load credentials with priority order:
225
243
  * 1. Environment variables (highest)
226
- * 2. Profile from config file
244
+ * 2. Active profile from ~/.config/xcsh/
227
245
  * 3. No credentials - documentation mode (lowest)
228
246
  */
229
- loadCredentials() {
230
- // Step 1: Try environment variables first (highest priority)
247
+ async loadCredentials() {
248
+ // Step 1: Check environment variables first (highest priority)
231
249
  const envCreds = this.loadFromEnvironment();
232
- if (envCreds.apiUrl && (envCreds.token || envCreds.p12File)) {
250
+ if (envCreds.apiUrl && envCreds.hasAuth) {
233
251
  const credentials = this.buildCredentials(envCreds);
234
252
  const tenant = credentials.apiUrl ? extractTenantFromUrl(credentials.apiUrl) : null;
235
253
  logger.info("Credentials loaded from environment variables", {
236
254
  mode: credentials.mode,
237
255
  tenant,
238
- profile: this.activeProfile,
239
256
  });
240
257
  return credentials;
241
258
  }
242
- // Step 2: Try config file profile (medium priority)
243
- const profileCreds = this.loadFromConfigFile();
244
- if (profileCreds) {
245
- const merged = this.mergeCredentials(envCreds, profileCreds);
246
- const credentials = this.buildCredentials(merged);
259
+ // Step 2: Try active profile from ~/.config/xcsh/
260
+ const profile = await this.loadFromProfile();
261
+ if (profile) {
262
+ const credentials = this.buildCredentials(profile);
247
263
  if (credentials.mode !== AuthMode.NONE) {
248
264
  const tenant = credentials.apiUrl ? extractTenantFromUrl(credentials.apiUrl) : null;
249
- logger.info("Credentials loaded from config profile", {
265
+ logger.info("Credentials loaded from profile", {
250
266
  mode: credentials.mode,
251
267
  tenant,
252
- profile: this.activeProfile,
268
+ profile: this.activeProfileName,
253
269
  });
254
270
  return credentials;
255
271
  }
@@ -261,7 +277,9 @@ export class CredentialManager {
261
277
  apiUrl: null,
262
278
  token: null,
263
279
  p12Certificate: null,
264
- p12Password: null,
280
+ cert: null,
281
+ key: null,
282
+ namespace: null,
265
283
  };
266
284
  }
267
285
  /**
@@ -269,7 +287,7 @@ export class CredentialManager {
269
287
  * Returns null if credentials are from environment variables or no profile is active
270
288
  */
271
289
  getActiveProfile() {
272
- return this.activeProfile;
290
+ return this.activeProfileName;
273
291
  }
274
292
  /**
275
293
  * Get the current authentication mode
@@ -308,10 +326,22 @@ export class CredentialManager {
308
326
  return this.credentials.p12Certificate;
309
327
  }
310
328
  /**
311
- * Get P12 certificate password
329
+ * Get certificate content (for mTLS)
330
+ */
331
+ getCert() {
332
+ return this.credentials.cert;
333
+ }
334
+ /**
335
+ * Get private key content (for mTLS)
336
+ */
337
+ getKey() {
338
+ return this.credentials.key;
339
+ }
340
+ /**
341
+ * Get default namespace
312
342
  */
313
- getP12Password() {
314
- return this.credentials.p12Password;
343
+ getNamespace() {
344
+ return this.credentials.namespace;
315
345
  }
316
346
  /**
317
347
  * Get full credentials object
@@ -320,11 +350,13 @@ export class CredentialManager {
320
350
  return Object.freeze({ ...this.credentials });
321
351
  }
322
352
  /**
323
- * Reload credentials from environment
353
+ * Reload credentials from environment/profile
324
354
  * Useful for testing or when credentials change
325
355
  */
326
- reload() {
327
- this.credentials = this.loadCredentials();
356
+ async reload() {
357
+ this.initialized = false;
358
+ this.activeProfileName = null;
359
+ await this.initialize();
328
360
  }
329
361
  }
330
362
  //# sourceMappingURL=credential-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;GAEG;AACH,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,kDAAkD;IAClD,yBAAa,CAAA;IACb,+BAA+B;IAC/B,2BAAe,CAAA;IACf,4CAA4C;IAC5C,uCAA2B,CAAA;AAC7B,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,eAAe;IACzB,YAAY,EAAE,mBAAmB;IACjC,OAAO,EAAE,cAAc;CACf,CAAC;AA6BX;;GAEG;AACH,MAAM,YAAY,GAAG;IACnB,0EAA0E;IAC1E,UAAU,EAAE,oDAAoD;IAChE,qDAAqD;IACrD,YAAY,EAAE,kEAAkE;IAChF,mCAAmC;IACnC,gBAAgB,EAAE,kBAAkB;CACrC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,mDAAmD;IACnD,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE3D,8CAA8C;IAC9C,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,GAAG,GAAG,WAAW,MAAM,IAAI,OAAO,yBAAyB,CAAC;IAC9D,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,GAAG,GAAG,WAAW,MAAM,IAAI,OAAO,yBAAyB,CAAC;IAC9D,CAAC;IAED,qBAAqB;IACrB,OAAO,GAAG,GAAG,MAAM,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IACpB,WAAW,CAAc;IACzB,aAAa,GAAkB,IAAI,CAAC;IACpC,aAAa,CAAgB;IAErC,YAAY,aAA6B;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC5C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC;SACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAE7C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YAEjC,kEAAkE;YAClE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACtD,+BAA+B;YACjC,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,QAAQ;gBACvB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBAC1D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAkB;QACtC,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,sCAAsC;QACtC,OAAO,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,QAAwB,EAAE,YAA4B;QAC7E,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;YAC9C,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK;YAC3C,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;YACjD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAwB;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,gCAAgC;QAChC,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,cAAc,GAAkB,IAAI,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACX,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAExC,IAAI,OAAO,EAAE,CAAC;gBACZ,8CAA8C;gBAC9C,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAC5B,IAAI,CAAC;oBACH,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;wBAC7C,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;oBACH,oDAAoD;oBACpD,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;wBACtB,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACjB,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,KAAK,IAAI,IAAI;YACpB,cAAc;YACd,WAAW,EAAE,WAAW,IAAI,IAAI;SACjC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,eAAe;QACrB,6DAA6D;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;gBAC3D,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,oDAAoD;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAElD,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;oBACpD,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,MAAM;oBACN,OAAO,EAAE,IAAI,CAAC,aAAa;iBAC5B,CAAC,CAAC;gBACH,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EACZ,aAAa,EACb,kBAAkB,EAGnB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,iBAAiB,EAAY,MAAM,yBAAyB,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;IACR,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAA6B;gBAE/B,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAqB;IAS/E;;OAEG;IACH,OAAO,CAAC,YAAY;IAoHpB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1F;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI7F;;OAEG;YACW,OAAO;IAgCrB;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;CAGzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,CAAC,EAAE,gBAAgB,GACxB,UAAU,CAEZ"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EACZ,aAAa,EACb,kBAAkB,EAGnB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,iBAAiB,EAAY,MAAM,yBAAyB,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;IACR,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,MAAM,CAA6B;gBAE/B,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,GAAE,gBAAqB;IAS/E;;OAEG;IACH,OAAO,CAAC,YAAY;IA8HpB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1F;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI1B;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI7F;;OAEG;YACW,OAAO;IAgCrB;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;CAGzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,CAAC,EAAE,gBAAgB,GACxB,UAAU,CAEZ"}
@@ -65,16 +65,27 @@ export class HttpClient {
65
65
  }
66
66
  else if (authMode === AuthMode.CERTIFICATE) {
67
67
  const p12Buffer = this.credentialManager.getP12Certificate();
68
- const p12Password = this.credentialManager.getP12Password();
69
- if (!p12Buffer) {
70
- throw new AuthenticationError("P12 certificate not loaded");
68
+ const cert = this.credentialManager.getCert();
69
+ const key = this.credentialManager.getKey();
70
+ if (p12Buffer) {
71
+ // Create HTTPS agent with P12 certificate for mTLS
72
+ // F5XC P12 certificates typically don't require a password
73
+ axiosConfig.httpsAgent = new https.Agent({
74
+ pfx: p12Buffer,
75
+ rejectUnauthorized: true,
76
+ });
77
+ }
78
+ else if (cert && key) {
79
+ // Create HTTPS agent with separate cert/key for mTLS
80
+ axiosConfig.httpsAgent = new https.Agent({
81
+ cert,
82
+ key,
83
+ rejectUnauthorized: true,
84
+ });
85
+ }
86
+ else {
87
+ throw new AuthenticationError("Certificate not loaded - provide P12 bundle or cert/key pair");
71
88
  }
72
- // Create HTTPS agent with P12 certificate for mTLS
73
- axiosConfig.httpsAgent = new https.Agent({
74
- pfx: p12Buffer,
75
- passphrase: p12Password ?? undefined,
76
- rejectUnauthorized: true,
77
- });
78
89
  }
79
90
  const client = axios.create(axiosConfig);
80
91
  // Add request interceptor for logging
@@ -164,7 +175,7 @@ export class HttpClient {
164
175
  async request(method, path, data, config) {
165
176
  if (!this.client) {
166
177
  throw new AuthenticationError("HTTP client not available - server is in documentation mode. " +
167
- "Set F5XC_API_URL and F5XC_API_TOKEN or F5XC_P12_FILE to enable API execution.");
178
+ "Set F5XC_API_URL and F5XC_API_TOKEN (or F5XC_P12_BUNDLE for certificate auth) to enable API execution.");
168
179
  }
169
180
  const startTime = Date.now();
170
181
  const response = await this.client.request({
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAqB,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAc/E;;GAEG;AACH,MAAM,cAAc,GAA+B;IACjD,OAAO,EAAE,KAAK,EAAE,aAAa;IAC7B,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;CACb,CAAC;AAgBF;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,GAAyB,IAAI,CAAC;IACpC,iBAAiB,CAAoB;IACrC,MAAM,CAA6B;IAE3C,YAAY,iBAAoC,EAAE,SAA2B,EAAE;QAC7E,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAuB;YACtC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;aACvB;SACF,CAAC;QAEF,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;YAC5D,CAAC;YACD,WAAW,CAAC,OAAO,GAAG;gBACpB,GAAG,WAAW,CAAC,OAAO;gBACtB,aAAa,EAAE,YAAY,KAAK,EAAE;aACnC,CAAC;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC;YAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;YAC9D,CAAC;YAED,mDAAmD;YACnD,WAAW,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;gBACvC,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,WAAW,IAAI,SAAS;gBACpC,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEzC,sCAAsC;QACtC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC7B,CAAC,MAAkC,EAAE,EAAE;YACrC,iDAAiD;YAChD,MAA2E,CAAC,QAAQ,GAAG;gBACtF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;oBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE;oBACpC,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,0DAA0D;QAC1D,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC9B,CAAC,QAAuB,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAEvB,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9E,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;oBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;oBACxB,QAAQ,EAAE,GAAG,QAAQ,IAAI;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;gBACtC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;gBAE/D,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;oBACxB,MAAM;oBACN,OAAO;oBACP,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG;iBACvB,CAAC,CAAC;gBAEH,8BAA8B;gBAC9B,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjC,OAAO;YACP,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAc,IAAY,EAAE,MAA2B;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,IAAc,EACd,MAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,IAAc,EACd,MAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAc,IAAY,EAAE,MAA2B;QACjE,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc,EACd,MAA2B;QAE3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,mBAAmB,CAC3B,+DAA+D;gBAC7D,+EAA+E,CAClF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI;YAC5C,MAAM;YACN,GAAG,EAAE,IAAI;YACT,IAAI;YACJ,GAAG,MAAM;SACV,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAiC;YACnD,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,iBAAoC,EACpC,MAAyB;IAEzB,OAAO,IAAI,UAAU,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  /**
2
2
  * Auth Module - Export all authentication utilities
3
+ *
4
+ * Cross-compatible with f5xc-xcsh CLI.
5
+ * Profiles are stored in ~/.config/xcsh/ (shared with xcsh CLI).
3
6
  */
4
7
  export { AuthMode, AUTH_ENV_VARS, CredentialManager, normalizeApiUrl, extractTenantFromUrl, } from "./credential-manager.js";
5
8
  export type { Credentials } from "./credential-manager.js";
6
9
  export { HttpClient, createHttpClient } from "./http-client.js";
7
10
  export type { HttpClientConfig, ApiResponse } from "./http-client.js";
11
+ export { ProfileManager, getProfileManager } from "../profile/index.js";
12
+ export type { Profile, ProfileConfig, ProfileResult, ProfileValidationError, } from "../profile/index.js";
8
13
  //# sourceMappingURL=index.d.ts.map