trykora 1.6.0 → 1.8.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.
package/dist/src/auth.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { readConfig, writeConfig } from './config.js';
2
- const API = 'http://localhost:3000'; //'https://trykora.xyz';
2
+ const API = 'https://trykora.xyz';
3
3
  const CACHE_TTL = 7 * 24 * 60 * 60 * 1000;
4
4
  export async function validateKey(key, tool) {
5
5
  const config = readConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,wBAAwB;AAC7D,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAAa;IAC1D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,eAAe,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAgB,CAAC;QAE5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,WAAW,CAAC;gBACV,GAAG,MAAM;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;aAChD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACrE,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YACtD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,GAAG,GAAG,qBAAqB,CAAC;AAClC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO1C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAAa;IAC1D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;QACrE,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,eAAe,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAgB,CAAC;QAE5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,WAAW,CAAC;gBACV,GAAG,MAAM;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;aAChD,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACrE,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;gBACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YACtD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAUhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAOhD"}
@@ -1,19 +1,13 @@
1
1
  import { showBanner } from '../ui.js';
2
2
  import { loginCommand } from './login.js';
3
- import { initCommand } from './init.js';
3
+ import { setupCommand } from './setup.js';
4
+ import { logoutCommand } from './logout.js';
4
5
  import { statusCommand } from './status.js';
5
- import { listCommand } from './list.js';
6
- import { resetKeyCommand } from './reset-key.js';
7
- import { syncCommand } from './sync.js';
8
- import { exportCommand } from './export.js';
9
6
  export function registerCommands(program) {
10
7
  showBanner();
11
8
  loginCommand(program);
12
- initCommand(program);
9
+ setupCommand(program);
10
+ logoutCommand(program);
13
11
  statusCommand(program);
14
- listCommand(program);
15
- resetKeyCommand(program);
16
- syncCommand(program);
17
- exportCommand(program);
18
12
  }
19
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,UAAU,EAAE,CAAC;IAEb,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,aAAa,CAAC,OAAO,CAAC,CAAC;IACvB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,aAAa,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,UAAU,EAAE,CAAC;IAEb,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,aAAa,CAAC,OAAO,CAAC,CAAC;IACvB,aAAa,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QA2D5C"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAuE5C"}
@@ -4,6 +4,7 @@ import chalk from 'chalk';
4
4
  import { showHeader, successBox, errorBox, spinner, randomMessage, step } from '../ui.js';
5
5
  import { readConfig, writeConfig } from '../config.js';
6
6
  import { validateKey } from '../auth.js';
7
+ import { runSetup } from './setup.js';
7
8
  export function loginCommand(program) {
8
9
  program
9
10
  .command('login')
@@ -49,10 +50,21 @@ export function loginCommand(program) {
49
50
  auth: { validatedAt: new Date().toISOString() },
50
51
  });
51
52
  successBox('Logged in!', [
52
- `Plan: ${chalk.bold(result.plan)}`,
53
- '',
54
- `Next: run ${chalk.cyan('kora init')} to set up your AI tool`,
53
+ `Plan: ${chalk.bold(result.plan)}`
55
54
  ].join('\n'));
55
+ const { doSetup } = await inquirer.prompt([{
56
+ type: 'confirm',
57
+ name: 'doSetup',
58
+ message: chalk.yellow('Would you like to set up Kora in your AI tools now?'),
59
+ default: true
60
+ }]);
61
+ if (doSetup) {
62
+ console.log(''); // spacer
63
+ await runSetup();
64
+ }
65
+ else {
66
+ console.log(chalk.dim('\nYou can run `trykora setup` later to configure your AI tools.'));
67
+ }
56
68
  });
57
69
  }
58
70
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC;oBAC3E,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS;gBAAE,OAAO;QACzB,CAAC;QAED,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC,CAAC;QAEhG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,qBAAqB;gBAC9B,IAAI,EAAE,GAAG;gBACT,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iCAAiC;aAClG,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,QAAQ,CAAC,+DAA+D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAE5C,WAAW,CAAC;YACV,GAAG,MAAM;YACT,GAAG;YACH,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;SAChD,CAAC,CAAC;QAEH,UAAU,CAAC,YAAY,EAAE;YACvB,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAClC,EAAE;YACF,aAAa,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,yBAAyB;SAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cli/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function logoutCommand(program: Command): void;
3
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/cli/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QAmD7C"}
@@ -0,0 +1,51 @@
1
+ import chalk from 'chalk';
2
+ import { showHeader, successBox, step } from '../ui.js';
3
+ import { readConfig, writeConfig } from '../config.js';
4
+ import { TOOLS, isToolConfigured, removeTool } from './mcp-utils.js';
5
+ export function logoutCommand(program) {
6
+ program
7
+ .command('logout')
8
+ .description('Log out and remove Kora MCP from all AI tools')
9
+ .action(async () => {
10
+ showHeader('logout');
11
+ const config = readConfig();
12
+ step(1, 2, 'Removing Kora MCP from AI tools...');
13
+ let removedCount = 0;
14
+ let failedTools = [];
15
+ for (const tool of TOOLS) {
16
+ if (!tool.path)
17
+ continue;
18
+ // Only try to remove if it was actually configured
19
+ if (isToolConfigured(tool.path, tool.type)) {
20
+ try {
21
+ const success = removeTool(tool.name, tool.path, tool.type);
22
+ if (success) {
23
+ removedCount++;
24
+ }
25
+ else {
26
+ failedTools.push(tool.name);
27
+ }
28
+ }
29
+ catch (err) {
30
+ failedTools.push(tool.name);
31
+ }
32
+ }
33
+ }
34
+ step(2, 2, 'Clearing credentials...');
35
+ if (config.key) {
36
+ writeConfig({}); // Completely clear the config file
37
+ }
38
+ successBox('Logged out successfully', [
39
+ removedCount > 0 ? chalk.green(`✓ Removed Kora from ${removedCount} AI tool(s)`) : chalk.dim('No AI tools had Kora configured.'),
40
+ chalk.green('✓ Cleared API key and local credentials.'),
41
+ '',
42
+ chalk.yellow('⚠ If you had AI tools open, please restart them.'),
43
+ '',
44
+ `Run ${chalk.cyan('trykora login')} to authenticate again.`
45
+ ].join('\n'));
46
+ if (failedTools.length > 0) {
47
+ console.log(chalk.red('\nFailed to automatically remove Kora from: ') + failedTools.join(', '));
48
+ }
49
+ });
50
+ }
51
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/cli/logout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAErE,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC1C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAE5B,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,oCAAoC,CAAC,CAAC;QAEjD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEzB,mDAAmD;YACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5D,IAAI,OAAO,EAAE,CAAC;wBACV,YAAY,EAAE,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACJ,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,mCAAmC;QACxD,CAAC;QAED,UAAU,CAAC,yBAAyB,EAAE;YAClC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC;YAChI,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC;YACvD,EAAE;YACF,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC;YAChE,EAAE;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB;SAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEd,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface McpServerConfig {
2
+ command: string;
3
+ args: string[];
4
+ }
5
+ export interface ToolEnv {
6
+ name: string;
7
+ path: string | null;
8
+ type: string;
9
+ }
10
+ export declare const TOOLS: ToolEnv[];
11
+ export declare function isToolConfigured(configPath: string, type: string): boolean;
12
+ export declare function setupTool(name: string, configPath: string, type: string): boolean;
13
+ export declare function removeTool(name: string, configPath: string, type: string): boolean;
14
+ //# sourceMappingURL=mcp-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/mcp-utils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAiCD,eAAO,MAAM,KAAK,EAAE,OAAO,EA8C1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAqB1E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA2CjF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA+BlF"}
@@ -0,0 +1,179 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ const homedir = os.homedir();
5
+ const platform = os.platform();
6
+ const getClaudeDesktopPath = () => {
7
+ if (platform === 'darwin')
8
+ return path.join(homedir, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
9
+ if (platform === 'win32')
10
+ return path.join(homedir, 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json');
11
+ return null;
12
+ };
13
+ const getRooCodePath = () => {
14
+ if (platform === 'darwin')
15
+ return path.join(homedir, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
16
+ if (platform === 'win32')
17
+ return path.join(homedir, 'AppData', 'Roaming', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
18
+ if (platform === 'linux')
19
+ return path.join(homedir, '.config', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
20
+ return null;
21
+ };
22
+ const getWindsurfPath = () => {
23
+ if (platform === 'win32')
24
+ return path.join(homedir, 'AppData', 'Roaming', 'Codeium', 'Windsurf', 'mcp_config.json');
25
+ return path.join(homedir, '.codeium', 'windsurf', 'mcp_config.json');
26
+ };
27
+ const getCursorPath = () => {
28
+ if (platform === 'win32')
29
+ return path.join(homedir, 'AppData', 'Roaming', 'Cursor', 'User', 'globalStorage', 'mcp.json');
30
+ return path.join(homedir, '.cursor', 'mcp.json');
31
+ };
32
+ const getOpenCodePath = () => {
33
+ if (platform === 'win32')
34
+ return path.join(homedir, '.config', 'opencode', 'opencode.json');
35
+ return path.join(homedir, '.config', 'opencode', 'opencode.json');
36
+ };
37
+ export const TOOLS = [
38
+ {
39
+ name: 'Claude Desktop',
40
+ path: getClaudeDesktopPath(),
41
+ type: 'json-mcpServers',
42
+ },
43
+ {
44
+ name: 'Claude Code',
45
+ path: path.join(homedir, '.claude.json'),
46
+ type: 'json-mcpServers',
47
+ },
48
+ {
49
+ name: 'Cursor',
50
+ path: getCursorPath(),
51
+ type: 'json-mcpServers',
52
+ },
53
+ {
54
+ name: 'Windsurf',
55
+ path: getWindsurfPath(),
56
+ type: 'json-mcpServers',
57
+ },
58
+ {
59
+ name: 'Cline',
60
+ path: path.join(homedir, '.cline', 'data', 'settings', 'cline_mcp_settings.json'),
61
+ type: 'json-mcpServers',
62
+ },
63
+ {
64
+ name: 'Roo Code',
65
+ path: getRooCodePath(),
66
+ type: 'json-mcpServers',
67
+ },
68
+ {
69
+ name: 'Antigravity',
70
+ path: path.join(homedir, '.gemini', 'antigravity', 'mcp_config.json'),
71
+ type: 'json-mcpServers',
72
+ },
73
+ {
74
+ name: 'OpenCode',
75
+ path: getOpenCodePath(),
76
+ type: 'json-mcp',
77
+ },
78
+ {
79
+ name: 'Codex',
80
+ path: path.join(homedir, '.codex', 'config.toml'),
81
+ type: 'toml-block',
82
+ }
83
+ ];
84
+ export function isToolConfigured(configPath, type) {
85
+ if (!fs.existsSync(configPath))
86
+ return false;
87
+ if (type === 'json-mcpServers' || type === 'json-mcp') {
88
+ try {
89
+ const existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
90
+ const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
91
+ return !!(existing[key] && existing[key].trykora);
92
+ }
93
+ catch {
94
+ return false;
95
+ }
96
+ }
97
+ else if (type === 'toml-block') {
98
+ try {
99
+ const content = fs.readFileSync(configPath, 'utf-8');
100
+ return content.includes('[mcpServers.trykora]');
101
+ }
102
+ catch {
103
+ return false;
104
+ }
105
+ }
106
+ return false;
107
+ }
108
+ export function setupTool(name, configPath, type) {
109
+ const koraConfig = {
110
+ command: 'npx',
111
+ args: ['trykora', 'serve']
112
+ };
113
+ if (type === 'json-mcpServers' || type === 'json-mcp') {
114
+ let existing = {};
115
+ if (fs.existsSync(configPath)) {
116
+ try {
117
+ existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
118
+ }
119
+ catch {
120
+ existing = {};
121
+ }
122
+ }
123
+ const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
124
+ existing[key] = existing[key] || {};
125
+ if (existing[key].trykora?.command === 'npx' && existing[key].trykora?.args?.includes('trykora')) {
126
+ return true;
127
+ }
128
+ existing[key].trykora = koraConfig;
129
+ fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));
130
+ return true;
131
+ }
132
+ else if (type === 'toml-block') {
133
+ let content = '';
134
+ if (fs.existsSync(configPath)) {
135
+ content = fs.readFileSync(configPath, 'utf-8');
136
+ }
137
+ if (content.includes('[mcpServers.trykora]')) {
138
+ return true;
139
+ }
140
+ const addition = `\n\n[mcpServers.trykora]\ncommand = "npx"\nargs = ["trykora", "serve"]\n`;
141
+ fs.appendFileSync(configPath, addition);
142
+ return true;
143
+ }
144
+ return false;
145
+ }
146
+ export function removeTool(name, configPath, type) {
147
+ if (!fs.existsSync(configPath))
148
+ return false;
149
+ if (type === 'json-mcpServers' || type === 'json-mcp') {
150
+ try {
151
+ let existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
152
+ const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
153
+ if (existing[key] && existing[key].trykora) {
154
+ delete existing[key].trykora;
155
+ fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));
156
+ return true;
157
+ }
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ }
163
+ else if (type === 'toml-block') {
164
+ try {
165
+ let content = fs.readFileSync(configPath, 'utf-8');
166
+ if (content.includes('[mcpServers.trykora]')) {
167
+ content = content.replace(/\n\n\[mcpServers\.trykora\]\ncommand = "npx"\nargs = \["trykora", "serve"\]\n?/g, '');
168
+ content = content.replace(/\[mcpServers\.trykora\][\s\S]*?args = \["trykora", "serve"\]\n?/g, '');
169
+ fs.writeFileSync(configPath, content.trim() + '\n');
170
+ return true;
171
+ }
172
+ }
173
+ catch {
174
+ return false;
175
+ }
176
+ }
177
+ return false;
178
+ }
179
+ //# sourceMappingURL=mcp-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-utils.js","sourceRoot":"","sources":["../../../src/cli/mcp-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function removeCommand(program: Command): void;
3
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/cli/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA8D7C"}
@@ -0,0 +1,201 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import chalk from 'chalk';
5
+ import inquirer from 'inquirer';
6
+ import { showHeader, successBox, errorBox, step } from '../ui.js';
7
+ // OS-specific paths
8
+ const homedir = os.homedir();
9
+ const platform = os.platform();
10
+ const getClaudeDesktopPath = () => {
11
+ if (platform === 'darwin')
12
+ return path.join(homedir, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
13
+ if (platform === 'win32')
14
+ return path.join(homedir, 'AppData', 'Roaming', 'Claude', 'claude_desktop_config.json');
15
+ return null;
16
+ };
17
+ const getRooCodePath = () => {
18
+ if (platform === 'darwin')
19
+ return path.join(homedir, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
20
+ if (platform === 'win32')
21
+ return path.join(homedir, 'AppData', 'Roaming', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
22
+ if (platform === 'linux')
23
+ return path.join(homedir, '.config', 'Code', 'User', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json');
24
+ return null;
25
+ };
26
+ const getWindsurfPath = () => {
27
+ if (platform === 'win32')
28
+ return path.join(homedir, 'AppData', 'Roaming', 'Codeium', 'Windsurf', 'mcp_config.json');
29
+ return path.join(homedir, '.codeium', 'windsurf', 'mcp_config.json');
30
+ };
31
+ const getCursorPath = () => {
32
+ if (platform === 'win32')
33
+ return path.join(homedir, 'AppData', 'Roaming', 'Cursor', 'User', 'globalStorage', 'mcp.json');
34
+ return path.join(homedir, '.cursor', 'mcp.json'); // Mac and Linux default
35
+ };
36
+ const getOpenCodePath = () => {
37
+ if (platform === 'win32')
38
+ return path.join(homedir, '.config', 'opencode', 'opencode.json');
39
+ return path.join(homedir, '.config', 'opencode', 'opencode.json');
40
+ };
41
+ // Tool Configuration Definitions
42
+ const TOOLS = [
43
+ {
44
+ name: 'Claude Desktop',
45
+ path: getClaudeDesktopPath(),
46
+ type: 'json-mcpServers',
47
+ },
48
+ {
49
+ name: 'Claude Code',
50
+ path: path.join(homedir, '.claude.json'),
51
+ type: 'json-mcpServers',
52
+ },
53
+ {
54
+ name: 'Cursor',
55
+ path: getCursorPath(),
56
+ type: 'json-mcpServers',
57
+ },
58
+ {
59
+ name: 'Windsurf',
60
+ path: getWindsurfPath(),
61
+ type: 'json-mcpServers',
62
+ },
63
+ {
64
+ name: 'Cline',
65
+ path: path.join(homedir, '.cline', 'data', 'settings', 'cline_mcp_settings.json'),
66
+ type: 'json-mcpServers',
67
+ },
68
+ {
69
+ name: 'Roo Code',
70
+ path: getRooCodePath(),
71
+ type: 'json-mcpServers',
72
+ },
73
+ {
74
+ name: 'Antigravity',
75
+ path: path.join(homedir, '.gemini', 'antigravity', 'mcp_config.json'),
76
+ type: 'json-mcpServers', // Antigravity format matches standard
77
+ },
78
+ {
79
+ name: 'OpenCode',
80
+ path: getOpenCodePath(),
81
+ type: 'json-mcp', // OpenCode uses "mcp" instead of "mcpServers"
82
+ },
83
+ {
84
+ name: 'Codex',
85
+ path: path.join(homedir, '.codex', 'config.toml'),
86
+ type: 'toml-block',
87
+ }
88
+ ];
89
+ export function removeCommand(program) {
90
+ program
91
+ .command('remove')
92
+ .alias('uninstall')
93
+ .description('Remove Kora MCP configuration from your AI tools')
94
+ .action(async () => {
95
+ showHeader('remove');
96
+ step(1, 2, 'Scanning for configured AI tools...');
97
+ const configuredTools = TOOLS.filter(t => t.path && isToolConfigured(t.path, t.type));
98
+ if (configuredTools.length === 0) {
99
+ errorBox('Could not find any AI tools that currently have Kora configured.');
100
+ return;
101
+ }
102
+ const { selectedTools } = await inquirer.prompt([{
103
+ type: 'checkbox',
104
+ name: 'selectedTools',
105
+ message: 'Which AI tools do you want to remove Kora from?',
106
+ choices: configuredTools.map(t => ({ name: t.name, value: t, checked: true }))
107
+ }]);
108
+ if (!selectedTools || selectedTools.length === 0) {
109
+ console.log(chalk.yellow('\nNo tools selected. Removal cancelled.'));
110
+ return;
111
+ }
112
+ let removedCount = 0;
113
+ let failedTools = [];
114
+ for (const tool of selectedTools) {
115
+ try {
116
+ const success = removeTool(tool.name, tool.path, tool.type);
117
+ if (success) {
118
+ removedCount++;
119
+ }
120
+ else {
121
+ failedTools.push(tool.name);
122
+ }
123
+ }
124
+ catch (err) {
125
+ failedTools.push(tool.name);
126
+ }
127
+ }
128
+ step(2, 2, 'Done!');
129
+ if (removedCount > 0) {
130
+ successBox('Kora MCP Server successfully removed!', [
131
+ chalk.white('We removed Kora from the selected tools.'),
132
+ '',
133
+ chalk.yellow('⚠ Please restart these tools for the changes to take effect.'),
134
+ ].join('\n'));
135
+ }
136
+ if (failedTools.length > 0) {
137
+ console.log(chalk.red('\nFailed to remove from: ') + failedTools.join(', '));
138
+ }
139
+ });
140
+ }
141
+ function isToolConfigured(configPath, type) {
142
+ if (!fs.existsSync(configPath))
143
+ return false;
144
+ if (type === 'json-mcpServers' || type === 'json-mcp') {
145
+ try {
146
+ const existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
147
+ const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
148
+ return !!(existing[key] && existing[key].trykora);
149
+ }
150
+ catch {
151
+ return false;
152
+ }
153
+ }
154
+ else if (type === 'toml-block') {
155
+ try {
156
+ const content = fs.readFileSync(configPath, 'utf-8');
157
+ return content.includes('[mcpServers.trykora]');
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ }
163
+ return false;
164
+ }
165
+ function removeTool(name, configPath, type) {
166
+ if (!fs.existsSync(configPath))
167
+ return false;
168
+ if (type === 'json-mcpServers' || type === 'json-mcp') {
169
+ try {
170
+ let existing = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
171
+ const key = type === 'json-mcp' ? 'mcp' : 'mcpServers';
172
+ if (existing[key] && existing[key].trykora) {
173
+ delete existing[key].trykora;
174
+ // If the object is now empty, we could remove it, but it's safer to just leave it empty
175
+ fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));
176
+ return true;
177
+ }
178
+ }
179
+ catch {
180
+ return false;
181
+ }
182
+ }
183
+ else if (type === 'toml-block') {
184
+ try {
185
+ let content = fs.readFileSync(configPath, 'utf-8');
186
+ if (content.includes('[mcpServers.trykora]')) {
187
+ // Remove the block
188
+ content = content.replace(/\n\n\[mcpServers\.trykora\]\ncommand = "npx"\nargs = \["trykora", "serve"\]\n?/g, '');
189
+ // Fallback more generic regex
190
+ content = content.replace(/\[mcpServers\.trykora\][\s\S]*?args = \["trykora", "serve"\]\n?/g, '');
191
+ fs.writeFileSync(configPath, content.trim() + '\n');
192
+ return true;
193
+ }
194
+ }
195
+ catch {
196
+ return false;
197
+ }
198
+ }
199
+ return false;
200
+ }
201
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/remove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function setupCommand(program: Command): void;
3
+ export declare function runSetup(): Promise<void>;
4
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAO5C;AAED,wBAAsB,QAAQ,kBAwE7B"}