cost-katana-cli 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +343 -0
  3. package/bin/cost-katana.js +20 -0
  4. package/dist/commands/agent-inspect.d.ts +3 -0
  5. package/dist/commands/agent-inspect.d.ts.map +1 -0
  6. package/dist/commands/agent-inspect.js +630 -0
  7. package/dist/commands/agent-inspect.js.map +1 -0
  8. package/dist/commands/analytics.d.ts +3 -0
  9. package/dist/commands/analytics.d.ts.map +1 -0
  10. package/dist/commands/analytics.js +375 -0
  11. package/dist/commands/analytics.js.map +1 -0
  12. package/dist/commands/analyze.d.ts +3 -0
  13. package/dist/commands/analyze.d.ts.map +1 -0
  14. package/dist/commands/analyze.js +286 -0
  15. package/dist/commands/analyze.js.map +1 -0
  16. package/dist/commands/ask.d.ts +3 -0
  17. package/dist/commands/ask.d.ts.map +1 -0
  18. package/dist/commands/ask.js +137 -0
  19. package/dist/commands/ask.js.map +1 -0
  20. package/dist/commands/audit-firewall.d.ts +3 -0
  21. package/dist/commands/audit-firewall.d.ts.map +1 -0
  22. package/dist/commands/audit-firewall.js +737 -0
  23. package/dist/commands/audit-firewall.js.map +1 -0
  24. package/dist/commands/budget.d.ts +3 -0
  25. package/dist/commands/budget.d.ts.map +1 -0
  26. package/dist/commands/budget.js +283 -0
  27. package/dist/commands/budget.js.map +1 -0
  28. package/dist/commands/bulk-optimize.d.ts +3 -0
  29. package/dist/commands/bulk-optimize.d.ts.map +1 -0
  30. package/dist/commands/bulk-optimize.js +863 -0
  31. package/dist/commands/bulk-optimize.js.map +1 -0
  32. package/dist/commands/chat.d.ts +3 -0
  33. package/dist/commands/chat.d.ts.map +1 -0
  34. package/dist/commands/chat.js +292 -0
  35. package/dist/commands/chat.js.map +1 -0
  36. package/dist/commands/check-cache.d.ts +3 -0
  37. package/dist/commands/check-cache.d.ts.map +1 -0
  38. package/dist/commands/check-cache.js +267 -0
  39. package/dist/commands/check-cache.js.map +1 -0
  40. package/dist/commands/compare.d.ts +3 -0
  41. package/dist/commands/compare.d.ts.map +1 -0
  42. package/dist/commands/compare.js +131 -0
  43. package/dist/commands/compare.js.map +1 -0
  44. package/dist/commands/config.d.ts +3 -0
  45. package/dist/commands/config.d.ts.map +1 -0
  46. package/dist/commands/config.js +421 -0
  47. package/dist/commands/config.js.map +1 -0
  48. package/dist/commands/craft-workflow.d.ts +3 -0
  49. package/dist/commands/craft-workflow.d.ts.map +1 -0
  50. package/dist/commands/craft-workflow.js +844 -0
  51. package/dist/commands/craft-workflow.js.map +1 -0
  52. package/dist/commands/debug-prompt.d.ts +3 -0
  53. package/dist/commands/debug-prompt.d.ts.map +1 -0
  54. package/dist/commands/debug-prompt.js +614 -0
  55. package/dist/commands/debug-prompt.js.map +1 -0
  56. package/dist/commands/diff-prompts.d.ts +3 -0
  57. package/dist/commands/diff-prompts.d.ts.map +1 -0
  58. package/dist/commands/diff-prompts.js +553 -0
  59. package/dist/commands/diff-prompts.js.map +1 -0
  60. package/dist/commands/high-cost-prompts.d.ts +3 -0
  61. package/dist/commands/high-cost-prompts.d.ts.map +1 -0
  62. package/dist/commands/high-cost-prompts.js +719 -0
  63. package/dist/commands/high-cost-prompts.js.map +1 -0
  64. package/dist/commands/init.d.ts +3 -0
  65. package/dist/commands/init.d.ts.map +1 -0
  66. package/dist/commands/init.js +325 -0
  67. package/dist/commands/init.js.map +1 -0
  68. package/dist/commands/key.d.ts +3 -0
  69. package/dist/commands/key.d.ts.map +1 -0
  70. package/dist/commands/key.js +574 -0
  71. package/dist/commands/key.js.map +1 -0
  72. package/dist/commands/list-models.d.ts +3 -0
  73. package/dist/commands/list-models.d.ts.map +1 -0
  74. package/dist/commands/list-models.js +154 -0
  75. package/dist/commands/list-models.js.map +1 -0
  76. package/dist/commands/models.d.ts +3 -0
  77. package/dist/commands/models.d.ts.map +1 -0
  78. package/dist/commands/models.js +107 -0
  79. package/dist/commands/models.js.map +1 -0
  80. package/dist/commands/optimize.d.ts +3 -0
  81. package/dist/commands/optimize.d.ts.map +1 -0
  82. package/dist/commands/optimize.js +345 -0
  83. package/dist/commands/optimize.js.map +1 -0
  84. package/dist/commands/project.d.ts +3 -0
  85. package/dist/commands/project.d.ts.map +1 -0
  86. package/dist/commands/project.js +475 -0
  87. package/dist/commands/project.js.map +1 -0
  88. package/dist/commands/prompt-metrics.d.ts +3 -0
  89. package/dist/commands/prompt-metrics.d.ts.map +1 -0
  90. package/dist/commands/prompt-metrics.js +665 -0
  91. package/dist/commands/prompt-metrics.js.map +1 -0
  92. package/dist/commands/replay-session.d.ts +3 -0
  93. package/dist/commands/replay-session.d.ts.map +1 -0
  94. package/dist/commands/replay-session.js +615 -0
  95. package/dist/commands/replay-session.js.map +1 -0
  96. package/dist/commands/retry-log.d.ts +3 -0
  97. package/dist/commands/retry-log.d.ts.map +1 -0
  98. package/dist/commands/retry-log.js +686 -0
  99. package/dist/commands/retry-log.js.map +1 -0
  100. package/dist/commands/rewrite-prompt.d.ts +3 -0
  101. package/dist/commands/rewrite-prompt.d.ts.map +1 -0
  102. package/dist/commands/rewrite-prompt.js +802 -0
  103. package/dist/commands/rewrite-prompt.js.map +1 -0
  104. package/dist/commands/set-budget.d.ts +3 -0
  105. package/dist/commands/set-budget.d.ts.map +1 -0
  106. package/dist/commands/set-budget.js +909 -0
  107. package/dist/commands/set-budget.js.map +1 -0
  108. package/dist/commands/simulate-cost.d.ts +3 -0
  109. package/dist/commands/simulate-cost.d.ts.map +1 -0
  110. package/dist/commands/simulate-cost.js +873 -0
  111. package/dist/commands/simulate-cost.js.map +1 -0
  112. package/dist/commands/suggest-models.d.ts +3 -0
  113. package/dist/commands/suggest-models.d.ts.map +1 -0
  114. package/dist/commands/suggest-models.js +674 -0
  115. package/dist/commands/suggest-models.js.map +1 -0
  116. package/dist/commands/test.d.ts +3 -0
  117. package/dist/commands/test.d.ts.map +1 -0
  118. package/dist/commands/test.js +187 -0
  119. package/dist/commands/test.js.map +1 -0
  120. package/dist/commands/trace-workflow.d.ts +3 -0
  121. package/dist/commands/trace-workflow.d.ts.map +1 -0
  122. package/dist/commands/trace-workflow.js +651 -0
  123. package/dist/commands/trace-workflow.js.map +1 -0
  124. package/dist/commands/trace.d.ts +3 -0
  125. package/dist/commands/trace.d.ts.map +1 -0
  126. package/dist/commands/trace.js +468 -0
  127. package/dist/commands/trace.js.map +1 -0
  128. package/dist/commands/track.d.ts +3 -0
  129. package/dist/commands/track.d.ts.map +1 -0
  130. package/dist/commands/track.js +404 -0
  131. package/dist/commands/track.js.map +1 -0
  132. package/dist/index.d.ts +4 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +169 -0
  135. package/dist/index.js.map +1 -0
  136. package/dist/utils/config.d.ts +46 -0
  137. package/dist/utils/config.d.ts.map +1 -0
  138. package/dist/utils/config.js +321 -0
  139. package/dist/utils/config.js.map +1 -0
  140. package/dist/utils/logger.d.ts +21 -0
  141. package/dist/utils/logger.d.ts.map +1 -0
  142. package/dist/utils/logger.js +101 -0
  143. package/dist/utils/logger.js.map +1 -0
  144. package/dist/utils/models.d.ts +22 -0
  145. package/dist/utils/models.d.ts.map +1 -0
  146. package/dist/utils/models.js +2251 -0
  147. package/dist/utils/models.js.map +1 -0
  148. package/package.json +107 -0
@@ -0,0 +1,421 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.configCommand = configCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const inquirer_1 = __importDefault(require("inquirer"));
42
+ const logger_1 = require("../utils/logger");
43
+ const config_1 = require("../utils/config");
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ function configCommand(program) {
47
+ program
48
+ .command('config')
49
+ .description('Manage CLI configuration')
50
+ .option('-s, --set <key=value>', 'Set a configuration value')
51
+ .option('-g, --get <key>', 'Get a configuration value')
52
+ .option('-d, --delete <key>', 'Delete a configuration value')
53
+ .option('-l, --list', 'List all configuration values')
54
+ .option('-e, --export <path>', 'Export configuration to file')
55
+ .option('-i, --import <path>', 'Import configuration from file')
56
+ .option('-r, --reset', 'Reset configuration to defaults')
57
+ .action(async (options) => {
58
+ try {
59
+ await handleConfig(options);
60
+ }
61
+ catch (error) {
62
+ logger_1.logger.error('Configuration command failed:', error);
63
+ process.exit(1);
64
+ }
65
+ });
66
+ }
67
+ async function handleConfig(options) {
68
+ // Handle different config operations
69
+ if (options.set) {
70
+ await handleSetConfig(options.set);
71
+ }
72
+ else if (options.get) {
73
+ await handleGetConfig(options.get);
74
+ }
75
+ else if (options.delete) {
76
+ await handleDeleteConfig(options.delete);
77
+ }
78
+ else if (options.list) {
79
+ await handleListConfig();
80
+ }
81
+ else if (options.export) {
82
+ await handleExportConfig(options.export);
83
+ }
84
+ else if (options.import) {
85
+ await handleImportConfig(options.import);
86
+ }
87
+ else if (options.reset) {
88
+ await handleResetConfig();
89
+ }
90
+ else {
91
+ // Interactive mode
92
+ await handleInteractiveConfig();
93
+ }
94
+ }
95
+ async function handleSetConfig(keyValue) {
96
+ const [key, value] = keyValue.split('=');
97
+ if (!key || !value) {
98
+ logger_1.logger.error('Invalid format. Use: --set key=value');
99
+ return;
100
+ }
101
+ // Validate key
102
+ const validKeys = [
103
+ 'apiKey', 'baseUrl', 'defaultModel', 'defaultTemperature',
104
+ 'defaultMaxTokens', 'costLimitPerDay', 'enableAnalytics',
105
+ 'enableOptimization', 'enableFailover', 'theme', 'outputFormat',
106
+ 'modelMappings', 'providers', 'debugMode'
107
+ ];
108
+ if (!validKeys.includes(key)) {
109
+ logger_1.logger.error(`Invalid configuration key: ${key}`);
110
+ logger_1.logger.info(`Valid keys: ${validKeys.join(', ')}`);
111
+ return;
112
+ }
113
+ // Set value with type conversion
114
+ let typedValue = value;
115
+ if (key === 'defaultTemperature' || key === 'defaultMaxTokens' || key === 'costLimitPerDay') {
116
+ typedValue = parseFloat(value);
117
+ if (isNaN(typedValue)) {
118
+ logger_1.logger.error(`Invalid number value for ${key}: ${value}`);
119
+ return;
120
+ }
121
+ }
122
+ else if (key === 'enableAnalytics' || key === 'enableOptimization' || key === 'enableFailover') {
123
+ typedValue = value.toLowerCase() === 'true';
124
+ }
125
+ else if (key === 'modelMappings' || key === 'providers') {
126
+ try {
127
+ typedValue = JSON.parse(value);
128
+ }
129
+ catch (error) {
130
+ logger_1.logger.error(`Invalid JSON value for ${key}: ${value}`);
131
+ return;
132
+ }
133
+ }
134
+ config_1.configManager.set(key, typedValue);
135
+ logger_1.logger.success(`Configuration updated: ${key} = ${value}`);
136
+ }
137
+ async function handleGetConfig(key) {
138
+ if (!config_1.configManager.has(key)) {
139
+ logger_1.logger.warn(`Configuration key not found: ${key}`);
140
+ logger_1.logger.info('Use "cost-katana init" to set up your configuration');
141
+ return;
142
+ }
143
+ const value = config_1.configManager.get(key);
144
+ console.log(chalk_1.default.cyan(`${key}:`), value);
145
+ }
146
+ async function handleDeleteConfig(key) {
147
+ if (!config_1.configManager.has(key)) {
148
+ logger_1.logger.error(`Configuration key not found: ${key}`);
149
+ return;
150
+ }
151
+ config_1.configManager.delete(key);
152
+ logger_1.logger.success(`Configuration deleted: ${key}`);
153
+ }
154
+ async function handleListConfig() {
155
+ const config = config_1.configManager.getAll();
156
+ console.log(chalk_1.default.cyan.bold('\n📋 Current Configuration'));
157
+ console.log(chalk_1.default.gray('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
158
+ if (Object.keys(config).length === 0) {
159
+ console.log(chalk_1.default.yellow('No configuration set yet.'));
160
+ console.log(chalk_1.default.gray('Use "cost-katana init" to set up your configuration'));
161
+ }
162
+ else {
163
+ Object.entries(config).forEach(([key, value]) => {
164
+ const displayValue = key === 'apiKey' && value ?
165
+ `${value.substring(0, 8)}...` :
166
+ JSON.stringify(value);
167
+ console.log(`${chalk_1.default.yellow(key)}: ${chalk_1.default.white(displayValue)}`);
168
+ });
169
+ }
170
+ console.log(chalk_1.default.gray('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
171
+ console.log(chalk_1.default.gray(`Configuration file: ${config_1.configManager.getPath()}`));
172
+ }
173
+ async function handleExportConfig(filePath) {
174
+ const fullPath = path.resolve(filePath);
175
+ if (config_1.configManager.saveToFile(fullPath)) {
176
+ logger_1.logger.success(`Configuration exported to: ${fullPath}`);
177
+ }
178
+ else {
179
+ logger_1.logger.error('Failed to export configuration');
180
+ }
181
+ }
182
+ async function handleImportConfig(filePath) {
183
+ const fullPath = path.resolve(filePath);
184
+ if (!fs.existsSync(fullPath)) {
185
+ logger_1.logger.error(`Configuration file not found: ${fullPath}`);
186
+ return;
187
+ }
188
+ if (config_1.configManager.loadFromFile(fullPath)) {
189
+ logger_1.logger.success(`Configuration imported from: ${fullPath}`);
190
+ }
191
+ else {
192
+ logger_1.logger.error('Failed to import configuration');
193
+ }
194
+ }
195
+ async function handleResetConfig() {
196
+ const { confirm } = await inquirer_1.default.prompt([
197
+ {
198
+ type: 'confirm',
199
+ name: 'confirm',
200
+ message: 'Are you sure you want to reset all configuration to defaults?',
201
+ default: false,
202
+ },
203
+ ]);
204
+ if (confirm) {
205
+ config_1.configManager.clear();
206
+ logger_1.logger.success('Configuration reset to defaults');
207
+ }
208
+ else {
209
+ logger_1.logger.info('Reset cancelled');
210
+ }
211
+ }
212
+ async function handleInteractiveConfig() {
213
+ console.log(chalk_1.default.cyan.bold('\n🔧 Configuration Manager'));
214
+ console.log(chalk_1.default.gray('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
215
+ const { action } = await inquirer_1.default.prompt([
216
+ {
217
+ type: 'list',
218
+ name: 'action',
219
+ message: 'What would you like to do?',
220
+ choices: [
221
+ { name: 'View current configuration', value: 'list' },
222
+ { name: 'Set a configuration value', value: 'set' },
223
+ { name: 'Export configuration', value: 'export' },
224
+ { name: 'Import configuration', value: 'import' },
225
+ { name: 'Reset to defaults', value: 'reset' },
226
+ { name: 'Exit', value: 'exit' },
227
+ ],
228
+ },
229
+ ]);
230
+ switch (action) {
231
+ case 'list':
232
+ await handleListConfig();
233
+ break;
234
+ case 'set':
235
+ await handleInteractiveSet();
236
+ break;
237
+ case 'export':
238
+ await handleInteractiveExport();
239
+ break;
240
+ case 'import':
241
+ await handleInteractiveImport();
242
+ break;
243
+ case 'reset':
244
+ await handleResetConfig();
245
+ break;
246
+ case 'exit':
247
+ logger_1.logger.info('Goodbye!');
248
+ break;
249
+ }
250
+ }
251
+ async function handleInteractiveSet() {
252
+ const validKeys = [
253
+ 'apiKey', 'baseUrl', 'defaultModel', 'defaultTemperature',
254
+ 'defaultMaxTokens', 'costLimitPerDay', 'enableAnalytics',
255
+ 'enableOptimization', 'enableFailover', 'theme', 'outputFormat'
256
+ ];
257
+ const { key } = await inquirer_1.default.prompt([
258
+ {
259
+ type: 'list',
260
+ name: 'key',
261
+ message: 'Select configuration key to set:',
262
+ choices: validKeys.map(k => ({ name: k, value: k })),
263
+ },
264
+ ]);
265
+ let value;
266
+ if (key === 'apiKey') {
267
+ const { apiKey } = await inquirer_1.default.prompt([
268
+ {
269
+ type: 'password',
270
+ name: 'apiKey',
271
+ message: 'Enter API key:',
272
+ validate: (input) => {
273
+ if (!input.trim())
274
+ return 'API key is required';
275
+ return true;
276
+ },
277
+ },
278
+ ]);
279
+ value = apiKey;
280
+ }
281
+ else if (key === 'defaultModel') {
282
+ const { model } = await inquirer_1.default.prompt([
283
+ {
284
+ type: 'list',
285
+ name: 'model',
286
+ message: 'Select default model:',
287
+ choices: [
288
+ { name: 'GPT-4 Turbo', value: 'gpt-4-turbo-preview' },
289
+ { name: 'Claude 3 Sonnet', value: 'anthropic.claude-3-sonnet-20240229-v1:0' },
290
+ { name: 'Gemini 2.0 Flash', value: 'gemini-2.0-flash-exp' },
291
+ { name: 'Nova Pro', value: 'nova-pro' },
292
+ ],
293
+ },
294
+ ]);
295
+ value = model;
296
+ }
297
+ else if (key === 'theme') {
298
+ const { theme } = await inquirer_1.default.prompt([
299
+ {
300
+ type: 'list',
301
+ name: 'theme',
302
+ message: 'Select theme:',
303
+ choices: [
304
+ { name: 'Light', value: 'light' },
305
+ { name: 'Dark', value: 'dark' },
306
+ { name: 'Auto', value: 'auto' },
307
+ ],
308
+ },
309
+ ]);
310
+ value = theme;
311
+ }
312
+ else if (key === 'outputFormat') {
313
+ const { format } = await inquirer_1.default.prompt([
314
+ {
315
+ type: 'list',
316
+ name: 'format',
317
+ message: 'Select output format:',
318
+ choices: [
319
+ { name: 'Table', value: 'table' },
320
+ { name: 'JSON', value: 'json' },
321
+ { name: 'CSV', value: 'csv' },
322
+ ],
323
+ },
324
+ ]);
325
+ value = format;
326
+ }
327
+ else if (key === 'defaultTemperature') {
328
+ const { temperature } = await inquirer_1.default.prompt([
329
+ {
330
+ type: 'number',
331
+ name: 'temperature',
332
+ message: 'Enter temperature (0.0 - 2.0):',
333
+ default: 0.7,
334
+ validate: (input) => {
335
+ if (input < 0 || input > 2)
336
+ return 'Temperature must be between 0 and 2';
337
+ return true;
338
+ },
339
+ },
340
+ ]);
341
+ value = temperature;
342
+ }
343
+ else if (key === 'defaultMaxTokens') {
344
+ const { maxTokens } = await inquirer_1.default.prompt([
345
+ {
346
+ type: 'number',
347
+ name: 'maxTokens',
348
+ message: 'Enter max tokens:',
349
+ default: 2000,
350
+ validate: (input) => {
351
+ if (input <= 0)
352
+ return 'Max tokens must be greater than 0';
353
+ return true;
354
+ },
355
+ },
356
+ ]);
357
+ value = maxTokens;
358
+ }
359
+ else if (key === 'costLimitPerDay') {
360
+ const { costLimit } = await inquirer_1.default.prompt([
361
+ {
362
+ type: 'number',
363
+ name: 'costLimit',
364
+ message: 'Enter daily cost limit ($):',
365
+ default: 50.0,
366
+ validate: (input) => {
367
+ if (input <= 0)
368
+ return 'Cost limit must be greater than 0';
369
+ return true;
370
+ },
371
+ },
372
+ ]);
373
+ value = costLimit;
374
+ }
375
+ else if (key.includes('enable')) {
376
+ const { enabled } = await inquirer_1.default.prompt([
377
+ {
378
+ type: 'confirm',
379
+ name: 'enabled',
380
+ message: `Enable ${key.replace('enable', '').toLowerCase()}?`,
381
+ default: true,
382
+ },
383
+ ]);
384
+ value = enabled;
385
+ }
386
+ else {
387
+ const { inputValue } = await inquirer_1.default.prompt([
388
+ {
389
+ type: 'input',
390
+ name: 'inputValue',
391
+ message: `Enter value for ${key}:`,
392
+ },
393
+ ]);
394
+ value = inputValue;
395
+ }
396
+ config_1.configManager.set(key, value);
397
+ logger_1.logger.success(`Configuration updated: ${key} = ${value}`);
398
+ }
399
+ async function handleInteractiveExport() {
400
+ const { filePath } = await inquirer_1.default.prompt([
401
+ {
402
+ type: 'input',
403
+ name: 'filePath',
404
+ message: 'Enter file path to export configuration:',
405
+ default: 'cost-katana-config.json',
406
+ },
407
+ ]);
408
+ await handleExportConfig(filePath);
409
+ }
410
+ async function handleInteractiveImport() {
411
+ const { filePath } = await inquirer_1.default.prompt([
412
+ {
413
+ type: 'input',
414
+ name: 'filePath',
415
+ message: 'Enter file path to import configuration from:',
416
+ default: 'cost-katana-config.json',
417
+ },
418
+ ]);
419
+ await handleImportConfig(filePath);
420
+ }
421
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function craftWorkflowCommand(program: Command): void;
3
+ //# sourceMappingURL=craft-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/craft-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAiHpD"}