@kadi.build/core 0.0.1-alpha.12 → 0.0.1-alpha.14

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 (45) hide show
  1. package/dist/abilities/AbilityLoader.d.ts +136 -12
  2. package/dist/abilities/AbilityLoader.d.ts.map +1 -1
  3. package/dist/abilities/AbilityLoader.js +432 -64
  4. package/dist/abilities/AbilityLoader.js.map +1 -1
  5. package/dist/abilities/types.d.ts +119 -4
  6. package/dist/abilities/types.d.ts.map +1 -1
  7. package/dist/api/index.d.ts +1 -40
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +0 -57
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/client/KadiClient.d.ts.map +1 -1
  12. package/dist/client/KadiClient.js +65 -4
  13. package/dist/client/KadiClient.js.map +1 -1
  14. package/dist/config/ConfigLoader.d.ts.map +1 -1
  15. package/dist/config/ConfigLoader.js +1 -0
  16. package/dist/config/ConfigLoader.js.map +1 -1
  17. package/dist/config/ConfigResolver.d.ts.map +1 -1
  18. package/dist/config/ConfigResolver.js +1 -0
  19. package/dist/config/ConfigResolver.js.map +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/transports/NativeTransport.d.ts.map +1 -1
  25. package/dist/transports/NativeTransport.js +22 -0
  26. package/dist/transports/NativeTransport.js.map +1 -1
  27. package/dist/transports/StdioTransport.d.ts +17 -2
  28. package/dist/transports/StdioTransport.d.ts.map +1 -1
  29. package/dist/transports/StdioTransport.js +45 -10
  30. package/dist/transports/StdioTransport.js.map +1 -1
  31. package/dist/types/config.d.ts +48 -33
  32. package/dist/types/config.d.ts.map +1 -1
  33. package/dist/types/config.js.map +1 -1
  34. package/dist/types/index.d.ts +1 -1
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/utils/LockfileResolver.d.ts +179 -28
  38. package/dist/utils/LockfileResolver.d.ts.map +1 -1
  39. package/dist/utils/LockfileResolver.js +380 -39
  40. package/dist/utils/LockfileResolver.js.map +1 -1
  41. package/dist/utils/legacyHelpers.d.ts +82 -0
  42. package/dist/utils/legacyHelpers.d.ts.map +1 -0
  43. package/dist/utils/legacyHelpers.js +226 -0
  44. package/dist/utils/legacyHelpers.js.map +1 -0
  45. package/package.json +1 -1
@@ -8,36 +8,231 @@
8
8
  */
9
9
  import fs from 'fs';
10
10
  import path from 'path';
11
+ import { homedir } from 'os';
11
12
  import { KadiError, ErrorCode } from '../errors/index.js';
12
13
  /**
13
- * Find project root by looking for agent.json
14
+ * Find ability in global cache
14
15
  *
15
- * Walks up directory tree from cwd until finding agent.json
16
+ * Checks ~/.kadi/abilities/ for any version of the ability.
17
+ * Returns the highest version found.
16
18
  *
17
- * @param startDir - Directory to start search from (defaults to cwd)
18
- * @returns Absolute path to project root
19
+ * @param abilityName - Name of the ability to find
20
+ * @returns Absolute path to the ability or null if not found
21
+ */
22
+ export function findInGlobalCache(abilityName) {
23
+ const globalCachePath = path.join(homedir(), '.kadi', 'abilities');
24
+ if (!fs.existsSync(globalCachePath)) {
25
+ return null;
26
+ }
27
+ try {
28
+ // Find all directories matching name@version pattern
29
+ const entries = fs.readdirSync(globalCachePath, { withFileTypes: true });
30
+ const versions = entries
31
+ .filter(d => d.isDirectory())
32
+ .filter(d => d.name.startsWith(`${abilityName}@`))
33
+ .map(d => {
34
+ const atIndex = d.name.lastIndexOf('@');
35
+ return {
36
+ version: d.name.substring(atIndex + 1),
37
+ path: path.join(globalCachePath, d.name)
38
+ };
39
+ })
40
+ .sort((a, b) => b.version.localeCompare(a.version, undefined, { numeric: true, sensitivity: 'base' }));
41
+ if (versions.length === 0) {
42
+ return null;
43
+ }
44
+ return versions[0].path;
45
+ }
46
+ catch (error) {
47
+ // If we can't read the global cache, return null
48
+ return null;
49
+ }
50
+ }
51
+ /**
52
+ * Find sibling abilities directory
53
+ *
54
+ * TEMPORARY: This function detects if we're running inside an ability
55
+ * (e.g., kadi-secret) and finds its sibling abilities.
56
+ *
57
+ * When kadi-secret loads secret-ability, both are installed in the same
58
+ * parent abilities/ directory. This function walks up the directory tree
59
+ * to find the abilities/ folder we're running from.
60
+ *
61
+ * Example: If running from:
62
+ * /opt/homebrew/.../cli/abilities/kadi-secret/0.0.1/dist/index.js
63
+ * Returns:
64
+ * /opt/homebrew/.../cli/abilities/
65
+ *
66
+ * TODO: Replace with config.json approach (see CLI-REVAMP-PLAN.md)
67
+ * Future: abilities will reference ~/.kadi/config.json for discovery
68
+ *
69
+ * @returns Sibling abilities directory path, or null if not running from an ability
70
+ */
71
+ export function findSiblingAbilitiesDir() {
72
+ try {
73
+ // Start from the current file location
74
+ // This works whether we're in src/ or dist/
75
+ const currentFile = new URL(import.meta.url).pathname;
76
+ const pathParts = currentFile.split(path.sep);
77
+ // Look for 'abilities' in the path
78
+ // Example path: [..., 'abilities', 'kadi-secret', '0.0.1', 'dist', 'utils', 'LockfileResolver.js']
79
+ const abilitiesIndex = pathParts.lastIndexOf('abilities');
80
+ if (abilitiesIndex === -1) {
81
+ // Not running from an ability context
82
+ return null;
83
+ }
84
+ // Reconstruct path up to 'abilities' directory
85
+ const abilitiesPath = pathParts.slice(0, abilitiesIndex + 1).join(path.sep);
86
+ // Verify it's actually a directory
87
+ if (fs.existsSync(abilitiesPath) && fs.statSync(abilitiesPath).isDirectory()) {
88
+ return abilitiesPath;
89
+ }
90
+ return null;
91
+ }
92
+ catch (error) {
93
+ // Error determining sibling directory
94
+ return null;
95
+ }
96
+ }
97
+ /**
98
+ * Find ability in a specific abilities directory
99
+ *
100
+ * Generic function to search for an ability in any abilities folder.
101
+ * Scans {baseDir}/{abilityName}/ for version directories and returns the highest version.
102
+ *
103
+ * @param abilityName - Name of the ability to find
104
+ * @param baseDir - Base abilities directory to search in
105
+ * @returns Object with path and version, or null if not found
106
+ */
107
+ export function findInAbilitiesDir(abilityName, baseDir) {
108
+ const abilityBaseDir = path.join(baseDir, abilityName);
109
+ if (!fs.existsSync(abilityBaseDir)) {
110
+ return null;
111
+ }
112
+ try {
113
+ // Read all version directories
114
+ const entries = fs.readdirSync(abilityBaseDir, { withFileTypes: true });
115
+ const versions = entries
116
+ .filter(entry => entry.isDirectory())
117
+ .map(entry => entry.name)
118
+ .sort((a, b) =>
119
+ // Sort in descending order (highest version first)
120
+ b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' }));
121
+ if (versions.length === 0) {
122
+ return null;
123
+ }
124
+ const highestVersion = versions[0];
125
+ const abilityPath = path.join(abilityBaseDir, highestVersion);
126
+ return {
127
+ path: abilityPath,
128
+ version: highestVersion
129
+ };
130
+ }
131
+ catch (error) {
132
+ // Error reading directory
133
+ return null;
134
+ }
135
+ }
136
+ /**
137
+ * Find the true project root by intelligently searching for agent.json
138
+ *
139
+ * This function distinguishes between:
140
+ * - **Ability manifests**: agent.json files inside abilities/name/version/
141
+ * - **Project roots**: agent.json files that represent actual projects (CLI or user projects)
142
+ *
143
+ * **Algorithm:**
144
+ * 1. Walk up directory tree from startPath
145
+ * 2. For each agent.json found, check if it's inside an abilities/ structure
146
+ * 3. If inside abilities/ → skip (it's an ability manifest, not a project root)
147
+ * 4. If NOT inside abilities/ → return (it's a true project root)
148
+ *
149
+ * **Example paths:**
150
+ * - `/opt/homebrew/.../cli/abilities/kadi-secret/0.0.1/agent.json` → SKIP (ability manifest)
151
+ * - `/opt/homebrew/.../cli/agent.json` → RETURN (CLI root)
152
+ * - `/Users/alice/my-project/agent.json` → RETURN (user project root)
153
+ *
154
+ * @param startPath - File or directory path to start searching from (defaults to cwd)
155
+ * @returns Absolute path to the true project root
19
156
  * @throws {KadiError} If no project root found
20
157
  */
21
- export function findProjectRoot(startDir = process.cwd()) {
22
- let current = path.resolve(startDir);
23
- const root = path.parse(current).root;
24
- while (current !== root) {
158
+ export function findProjectRoot(startPath) {
159
+ // Step 1: Determine starting point
160
+ // If startPath is a file, start from its directory
161
+ // If startPath is a directory or undefined, use it directly (or cwd)
162
+ let current;
163
+ if (process.env.KADI_DEBUG) {
164
+ console.log(`[DEBUG] findProjectRoot called with: ${startPath || 'undefined'}`);
165
+ }
166
+ if (startPath) {
167
+ const resolvedPath = path.resolve(startPath);
168
+ try {
169
+ const stats = fs.statSync(resolvedPath);
170
+ current = stats.isFile() ? path.dirname(resolvedPath) : resolvedPath;
171
+ }
172
+ catch {
173
+ // Path doesn't exist, use as-is and let it fail naturally
174
+ current = resolvedPath;
175
+ }
176
+ }
177
+ else {
178
+ current = process.cwd();
179
+ }
180
+ if (process.env.KADI_DEBUG) {
181
+ console.log(`[DEBUG] Starting search from: ${current}`);
182
+ }
183
+ // Step 2: Get filesystem root for boundary checking
184
+ const filesystemRoot = path.parse(current).root;
185
+ // Step 3: Walk up directory tree looking for agent.json
186
+ while (current !== filesystemRoot) {
25
187
  const agentJsonPath = path.join(current, 'agent.json');
188
+ if (process.env.KADI_DEBUG) {
189
+ console.log(`[DEBUG] Checking for agent.json at: ${current}`);
190
+ }
191
+ // Step 4: Check if agent.json exists at this level
26
192
  if (fs.existsSync(agentJsonPath)) {
193
+ if (process.env.KADI_DEBUG) {
194
+ console.log(`[DEBUG] Found agent.json at: ${agentJsonPath}`);
195
+ }
196
+ // Step 5: Determine if this agent.json is an ability manifest or project root
197
+ // Split the current path into parts for analysis
198
+ const pathParts = current.split(path.sep);
199
+ // Look for 'abilities' in the path
200
+ const abilitiesIndex = pathParts.lastIndexOf('abilities');
201
+ // Step 6: Check if we're INSIDE an abilities/ directory structure
202
+ if (abilitiesIndex !== -1 && abilitiesIndex < pathParts.length - 1) {
203
+ // We found 'abilities' in the path AND there are directories after it
204
+ // This means we're inside: .../abilities/name/version/
205
+ // This agent.json is an ability manifest, not a project root - SKIP IT
206
+ // Continue walking up to find the parent project
207
+ if (process.env.KADI_DEBUG) {
208
+ console.log(`[DEBUG] Skipping ability manifest at: ${current} (inside abilities/)`);
209
+ }
210
+ current = path.dirname(current);
211
+ continue;
212
+ }
213
+ // Step 7: This is a true project root
214
+ // - No 'abilities' in path, OR
215
+ // - 'abilities' is the last part (we're AT the abilities dir, not inside it)
216
+ // Either way, this agent.json represents a project root
217
+ if (process.env.KADI_DEBUG) {
218
+ console.log(`[DEBUG] Accepting as project root: ${current}`);
219
+ }
27
220
  return current;
28
221
  }
29
- // Move up one directory
222
+ // Step 8: No agent.json at this level, move up one directory
30
223
  current = path.dirname(current);
31
224
  }
225
+ // Step 9: Reached filesystem root without finding a project
32
226
  throw new KadiError('No KADI project found - could not locate agent.json', ErrorCode.INVALID_CONFIG, 404, {
33
- searchedFrom: startDir,
227
+ searchedFrom: startPath || process.cwd(),
34
228
  reason: 'No agent.json found in current directory or parent directories',
35
229
  suggestion: 'Make sure you are running from within a KADI project',
36
230
  alternatives: [
37
231
  'Run from a directory containing agent.json',
38
232
  'Initialize a new KADI project: kadi init',
39
233
  'Provide explicit path when loading ability'
40
- ]
234
+ ],
235
+ hint: 'KADI projects must have an agent.json file in their root directory'
41
236
  });
42
237
  }
43
238
  /**
@@ -190,41 +385,187 @@ export function readAbilityManifest(abilityPath) {
190
385
  }
191
386
  }
192
387
  /**
193
- * Auto-resolve ability configuration for loading
388
+ * Resolve ability configuration from project root
194
389
  *
195
- * Combines lockfile lookup with manifest reading to provide
196
- * all information needed to load an ability.
390
+ * **New Explicit Strategy:**
391
+ * Uses explicit project root instead of inferring from stack traces:
392
+ * 1. Use provided projectRoot directly (no inference needed)
393
+ * 2. Look in `{projectRoot}/abilities/{abilityName}/`
394
+ * 3. If not found → clear error with exact path searched
395
+ *
396
+ * **Why This Works:**
397
+ * - CLI plugins: Get projectRoot from `ctx.core.getKadiInstallPath()`
398
+ * - projectRoot: `/opt/homebrew/.../cli/`
399
+ * - Searches: `/opt/homebrew/.../cli/abilities/secret-ability/`
400
+ *
401
+ * - User projects: Get projectRoot from `process.cwd()` (default)
402
+ * - projectRoot: `/Users/alice/my-project/`
403
+ * - Searches: `/Users/alice/my-project/abilities/my-ability/`
404
+ *
405
+ * **Resolution Strategy:**
406
+ * 1. Check agent-lock.json (if exists) for exact version
407
+ * 2. Fall back to scanning abilities/ folder if no lockfile
408
+ * 3. Return highest version if multiple exist
409
+ *
410
+ * @param abilityName - Name of ability to resolve
411
+ * @param projectRoot - Project root directory (from detectProjectRoot or explicit config)
412
+ * @returns Resolved ability configuration with path, version, entry point, and manifest
197
413
  *
198
- * @param abilityName - Name of ability
199
- * @param projectRoot - Project root directory (optional, will search if not provided)
200
- * @returns Resolved ability configuration
414
+ * @throws {KadiError} If ability not found
201
415
  *
202
416
  * @example
203
417
  * ```typescript
204
- * const config = resolveAbilityConfig('math-lib');
205
- * // Returns:
206
- * // {
207
- * // path: '/path/to/project/abilities/math-lib@1.0.0',
208
- * // version: '1.0.0',
209
- * // entry: 'service.js',
210
- * // manifest: { ... }
211
- * // }
418
+ * // Called from CLI plugin (with explicit project root):
419
+ * const projectRoot = '/opt/homebrew/.../cli';
420
+ * const config = resolveAbilityConfig('secret-ability', projectRoot);
421
+ * // Searches: /opt/homebrew/.../cli/abilities/secret-ability/
422
+ *
423
+ * // Called from user project (with default project root):
424
+ * const projectRoot = process.cwd();
425
+ * const config = resolveAbilityConfig('my-ability', projectRoot);
426
+ * // Searches: {cwd}/abilities/my-ability/
212
427
  * ```
213
428
  */
214
429
  export function resolveAbilityConfig(abilityName, projectRoot) {
215
- // Find project root if not provided
216
- const root = projectRoot || findProjectRoot();
217
- // Resolve ability from lockfile
218
- const entry = resolveAbilityPath(abilityName, root);
219
- // Read ability manifest
220
- const manifest = readAbilityManifest(entry.resolved);
221
- // Get entry point (default to 'index.js' if not specified)
222
- const entryPoint = manifest.entry || 'index.js';
223
- return {
224
- path: entry.resolved,
225
- version: entry.version,
226
- entry: entryPoint,
227
- manifest
228
- };
430
+ // ========================================================================
431
+ // STEP 1: Use Explicit Project Root
432
+ // ========================================================================
433
+ // The projectRoot is provided explicitly by AbilityLoader.detectProjectRoot()
434
+ // - CLI plugins: projectRoot comes from ctx.core.getKadiInstallPath()
435
+ // - User projects: projectRoot comes from process.cwd()
436
+ //
437
+ // This is explicit and reliable - no stack parsing needed!
438
+ if (process.env.KADI_DEBUG) {
439
+ console.log(`[DEBUG] resolveAbilityConfig called:`, {
440
+ abilityName,
441
+ projectRoot
442
+ });
443
+ }
444
+ // ========================================================================
445
+ // STEP 2: Try Agent Lockfile (if exists)
446
+ // ========================================================================
447
+ // Check if agent-lock.json exists and has this ability
448
+ // If found, use the exact version and path from lockfile
449
+ try {
450
+ const lockfile = readLockfile(projectRoot);
451
+ // Look for ability in lockfile using name@version key format
452
+ // Try both with and without version suffix for compatibility
453
+ let lockfileEntry;
454
+ // First, try to find exact match with any version
455
+ for (const [key, entry] of Object.entries(lockfile.abilities)) {
456
+ // Key format: "name@version" or just "name"
457
+ const entryName = key.includes('@') ? key.substring(0, key.lastIndexOf('@')) : key;
458
+ if (entryName === abilityName) {
459
+ lockfileEntry = entry;
460
+ break;
461
+ }
462
+ }
463
+ if (lockfileEntry) {
464
+ // Found in lockfile - resolve the path
465
+ const resolvedPath = path.isAbsolute(lockfileEntry.resolved)
466
+ ? lockfileEntry.resolved
467
+ : path.resolve(projectRoot, lockfileEntry.resolved);
468
+ // Verify the path exists on disk
469
+ if (fs.existsSync(resolvedPath)) {
470
+ // Read manifest to get entry point
471
+ const manifest = readAbilityManifest(resolvedPath);
472
+ const entryPoint = manifest.entry || manifest.entrypoint || 'index.js';
473
+ // Success! Return the resolved configuration
474
+ return {
475
+ path: resolvedPath,
476
+ version: lockfileEntry.version,
477
+ entry: entryPoint,
478
+ manifest
479
+ };
480
+ }
481
+ // Path in lockfile doesn't exist - ability was deleted
482
+ throw new KadiError(`Ability '${abilityName}@${lockfileEntry.version}' is in lockfile but not found at: ${resolvedPath}`, ErrorCode.ABILITY_NOT_FOUND, 404, {
483
+ abilityName,
484
+ version: lockfileEntry.version,
485
+ expectedPath: resolvedPath,
486
+ projectRoot,
487
+ reason: 'Directory listed in lockfile does not exist',
488
+ suggestion: `Run: kadi install ${abilityName}`,
489
+ alternatives: [
490
+ `Reinstall ability: kadi install ${abilityName}`,
491
+ 'Run `kadi install` to restore all abilities',
492
+ 'Delete agent-lock.json and reinstall'
493
+ ]
494
+ });
495
+ }
496
+ }
497
+ catch (error) {
498
+ // Lockfile doesn't exist or couldn't be read
499
+ // This is okay - we'll fall through to scanning the abilities folder
500
+ // Ignore the error and continue
501
+ }
502
+ // ========================================================================
503
+ // STEP 3: Scan Abilities Folder (no lockfile or ability not in lockfile)
504
+ // ========================================================================
505
+ // Look for ability in the project's abilities folder
506
+ // Scan for all versions and pick the highest one
507
+ const abilitiesDir = path.join(projectRoot, 'abilities');
508
+ const abilityBaseDir = path.join(abilitiesDir, abilityName);
509
+ // Check if ability directory exists
510
+ if (!fs.existsSync(abilityBaseDir)) {
511
+ // Ability not found in this project
512
+ throw new KadiError(`Ability '${abilityName}' not found - searched at: ${abilityBaseDir}`, ErrorCode.ABILITY_NOT_FOUND, 404, {
513
+ abilityName,
514
+ projectRoot,
515
+ searchedPath: abilityBaseDir,
516
+ reason: `No directory found at ${abilityBaseDir}`,
517
+ suggestion: `Install the ability: kadi install ${abilityName}`,
518
+ alternatives: [
519
+ `Run: kadi install ${abilityName}`,
520
+ 'Check if ability name is correct',
521
+ 'Verify abilities/ folder exists in project root'
522
+ ],
523
+ hint: `Project root is: ${projectRoot}`
524
+ });
525
+ }
526
+ // Scan for version directories
527
+ try {
528
+ const entries = fs.readdirSync(abilityBaseDir, { withFileTypes: true });
529
+ const versions = entries
530
+ .filter(entry => entry.isDirectory())
531
+ .map(entry => entry.name)
532
+ .sort((a, b) =>
533
+ // Sort in descending order (highest version first)
534
+ b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' }));
535
+ if (versions.length === 0) {
536
+ // Directory exists but no versions inside
537
+ throw new KadiError(`Ability '${abilityName}' directory exists but contains no versions`, ErrorCode.ABILITY_NOT_FOUND, 404, {
538
+ abilityName,
539
+ abilityDirectory: abilityBaseDir,
540
+ reason: 'No version subdirectories found',
541
+ suggestion: `Reinstall the ability: kadi install ${abilityName}`,
542
+ hint: 'Expected format: abilities/name/version/'
543
+ });
544
+ }
545
+ // Use the highest version
546
+ const highestVersion = versions[0];
547
+ const abilityPath = path.join(abilityBaseDir, highestVersion);
548
+ // Read manifest
549
+ const manifest = readAbilityManifest(abilityPath);
550
+ const entryPoint = manifest.entry || manifest.entrypoint || 'index.js';
551
+ // Success! Return the resolved configuration
552
+ return {
553
+ path: abilityPath,
554
+ version: highestVersion,
555
+ entry: entryPoint,
556
+ manifest
557
+ };
558
+ }
559
+ catch (error) {
560
+ // Error reading abilities directory
561
+ if (error instanceof KadiError) {
562
+ throw error;
563
+ }
564
+ throw new KadiError(`Error scanning abilities directory for '${abilityName}'`, ErrorCode.INTERNAL_ERROR, 500, {
565
+ abilityName,
566
+ abilityDirectory: abilityBaseDir,
567
+ error: error instanceof Error ? error.message : String(error)
568
+ });
569
+ }
229
570
  }
230
571
  //# sourceMappingURL=LockfileResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LockfileResolver.js","sourceRoot":"","sources":["../../src/utils/LockfileResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LockfileResolver.js","sourceRoot":"","sources":["../../src/utils/LockfileResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Legacy Helper Functions from kadi-core alpha.2
3
+ *
4
+ * TODO: These functions are temporary and will be replaced by the config.json
5
+ * approach described in CLI-REVAMP-PLAN.md
6
+ *
7
+ * The new architecture will use:
8
+ * - ~/.kadi/config.json for configuration
9
+ * - Environment variables: KADI_HOME, KADI_CONFIG, KADI_BROKER_URL
10
+ * - Simple discovery functions implemented in CLI itself
11
+ *
12
+ * These functions are copied here ONLY to unblock development and testing.
13
+ * DO NOT rely on these for new features - they will be removed.
14
+ *
15
+ * @deprecated Will be removed once config.json approach is implemented
16
+ */
17
+ /**
18
+ * Get KADI CLI installation path
19
+ *
20
+ * TODO: Replace with KADI_HOME environment variable or ~/.kadi/config.json
21
+ *
22
+ * @deprecated Use config.json approach instead
23
+ * @returns The KADI CLI installation directory
24
+ */
25
+ export declare function getKadiInstallPath(): string;
26
+ /**
27
+ * Get broker URL by name
28
+ *
29
+ * TODO: Replace with ~/.kadi/config.json brokers section
30
+ *
31
+ * @deprecated Use config.json approach instead
32
+ * @param brokerName - Name of the broker
33
+ * @returns Broker URL or null if not found
34
+ */
35
+ export declare function getBrokerUrl(brokerName: string): string | null;
36
+ /**
37
+ * Get all broker names
38
+ *
39
+ * TODO: Replace with ~/.kadi/config.json brokers section
40
+ *
41
+ * @deprecated Use config.json approach instead
42
+ * @returns Array of broker names
43
+ */
44
+ export declare function getBrokerNames(): string[];
45
+ /**
46
+ * Get default broker name
47
+ *
48
+ * TODO: Replace with ~/.kadi/config.json default broker setting
49
+ *
50
+ * @deprecated Use config.json approach instead
51
+ * @returns Default broker name or null
52
+ */
53
+ export declare function getDefaultBrokerName(): string | null;
54
+ /**
55
+ * Set active broker
56
+ *
57
+ * TODO: Replace with ~/.kadi/config.json active broker setting
58
+ *
59
+ * @deprecated Use config.json approach instead
60
+ * @param brokerName - Name of the broker to set as active
61
+ * @returns True if broker exists and was set, false otherwise
62
+ */
63
+ export declare function setActiveBroker(brokerName: string): boolean;
64
+ /**
65
+ * Get active broker name
66
+ *
67
+ * TODO: Replace with ~/.kadi/config.json active broker setting
68
+ *
69
+ * @deprecated Use config.json approach instead
70
+ * @returns Active broker name or null
71
+ */
72
+ export declare function getActiveBrokerName(): string | null;
73
+ /**
74
+ * Get active broker URL
75
+ *
76
+ * TODO: Replace with ~/.kadi/config.json active broker setting
77
+ *
78
+ * @deprecated Use config.json approach instead
79
+ * @returns Active broker URL or null
80
+ */
81
+ export declare function getActiveBrokerUrl(): string | null;
82
+ //# sourceMappingURL=legacyHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/legacyHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA8IH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAK3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAGzC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAGpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAGlD"}