@redplanethq/corebrain 2.1.0 → 2.2.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 (98) hide show
  1. package/dist/commands/browser/close.d.ts +1 -1
  2. package/dist/commands/browser/close.d.ts.map +1 -1
  3. package/dist/commands/browser/close.js +39 -50
  4. package/dist/commands/browser/close.js.map +1 -1
  5. package/dist/commands/browser/command.d.ts +1 -1
  6. package/dist/commands/browser/command.d.ts.map +1 -1
  7. package/dist/commands/browser/command.js +46 -56
  8. package/dist/commands/browser/command.js.map +1 -1
  9. package/dist/commands/browser/create-profile.d.ts +1 -1
  10. package/dist/commands/browser/create-profile.d.ts.map +1 -1
  11. package/dist/commands/browser/create-profile.js +27 -21
  12. package/dist/commands/browser/create-profile.js.map +1 -1
  13. package/dist/commands/browser/delete-profile.d.ts +1 -1
  14. package/dist/commands/browser/delete-profile.d.ts.map +1 -1
  15. package/dist/commands/browser/delete-profile.js +26 -19
  16. package/dist/commands/browser/delete-profile.js.map +1 -1
  17. package/dist/commands/browser/install.d.ts +1 -1
  18. package/dist/commands/browser/install.d.ts.map +1 -1
  19. package/dist/commands/browser/install.js +31 -42
  20. package/dist/commands/browser/install.js.map +1 -1
  21. package/dist/commands/browser/open.d.ts +1 -1
  22. package/dist/commands/browser/open.d.ts.map +1 -1
  23. package/dist/commands/browser/open.js +40 -52
  24. package/dist/commands/browser/open.js.map +1 -1
  25. package/dist/commands/browser/status.d.ts +1 -1
  26. package/dist/commands/browser/status.d.ts.map +1 -1
  27. package/dist/commands/browser/status.js +36 -41
  28. package/dist/commands/browser/status.js.map +1 -1
  29. package/dist/commands/coding/config.d.ts +1 -1
  30. package/dist/commands/coding/config.d.ts.map +1 -1
  31. package/dist/commands/coding/config.js +95 -98
  32. package/dist/commands/coding/config.js.map +1 -1
  33. package/dist/commands/coding/remove.d.ts +1 -1
  34. package/dist/commands/coding/remove.d.ts.map +1 -1
  35. package/dist/commands/coding/remove.js +26 -28
  36. package/dist/commands/coding/remove.js.map +1 -1
  37. package/dist/commands/coding/setup.d.ts +1 -1
  38. package/dist/commands/coding/setup.d.ts.map +1 -1
  39. package/dist/commands/coding/setup.js +56 -71
  40. package/dist/commands/coding/setup.js.map +1 -1
  41. package/dist/commands/exec/config.d.ts +1 -1
  42. package/dist/commands/exec/config.d.ts.map +1 -1
  43. package/dist/commands/exec/config.js +71 -66
  44. package/dist/commands/exec/config.js.map +1 -1
  45. package/dist/commands/gateway/config.d.ts +10 -2
  46. package/dist/commands/gateway/config.d.ts.map +1 -1
  47. package/dist/commands/gateway/config.js +427 -156
  48. package/dist/commands/gateway/config.js.map +1 -1
  49. package/dist/commands/gateway/off.d.ts +1 -1
  50. package/dist/commands/gateway/off.d.ts.map +1 -1
  51. package/dist/commands/gateway/off.js +53 -63
  52. package/dist/commands/gateway/off.js.map +1 -1
  53. package/dist/commands/gateway/on.d.ts +1 -1
  54. package/dist/commands/gateway/on.d.ts.map +1 -1
  55. package/dist/commands/gateway/on.js +88 -117
  56. package/dist/commands/gateway/on.js.map +1 -1
  57. package/dist/commands/gateway/restart.d.ts +1 -1
  58. package/dist/commands/gateway/restart.d.ts.map +1 -1
  59. package/dist/commands/gateway/restart.js +49 -63
  60. package/dist/commands/gateway/restart.js.map +1 -1
  61. package/dist/commands/gateway/status.d.ts +1 -1
  62. package/dist/commands/gateway/status.d.ts.map +1 -1
  63. package/dist/commands/gateway/status.js +62 -76
  64. package/dist/commands/gateway/status.js.map +1 -1
  65. package/dist/commands/gateway/uninstall.d.ts +1 -1
  66. package/dist/commands/gateway/uninstall.d.ts.map +1 -1
  67. package/dist/commands/gateway/uninstall.js +60 -72
  68. package/dist/commands/gateway/uninstall.js.map +1 -1
  69. package/dist/commands/login.d.ts +1 -1
  70. package/dist/commands/login.d.ts.map +1 -1
  71. package/dist/commands/login.js +87 -107
  72. package/dist/commands/login.js.map +1 -1
  73. package/dist/commands/logout.d.ts +1 -1
  74. package/dist/commands/logout.d.ts.map +1 -1
  75. package/dist/commands/logout.js +24 -45
  76. package/dist/commands/logout.js.map +1 -1
  77. package/dist/commands/me.d.ts +1 -1
  78. package/dist/commands/me.d.ts.map +1 -1
  79. package/dist/commands/me.js +40 -50
  80. package/dist/commands/me.js.map +1 -1
  81. package/dist/commands/token.d.ts +1 -1
  82. package/dist/commands/token.d.ts.map +1 -1
  83. package/dist/commands/token.js +19 -24
  84. package/dist/commands/token.js.map +1 -1
  85. package/dist/components/error-message.js +0 -1
  86. package/dist/components/error-message.js.map +1 -1
  87. package/dist/components/warning-message.js +0 -1
  88. package/dist/components/warning-message.js.map +1 -1
  89. package/dist/server/gateway-client.d.ts +4 -0
  90. package/dist/server/gateway-client.d.ts.map +1 -1
  91. package/dist/server/gateway-client.js +45 -6
  92. package/dist/server/gateway-client.js.map +1 -1
  93. package/dist/server/tools/exec-tools.d.ts.map +1 -1
  94. package/dist/server/tools/exec-tools.js +9 -0
  95. package/dist/server/tools/exec-tools.js.map +1 -1
  96. package/dist/types/config.d.ts +15 -0
  97. package/dist/types/config.d.ts.map +1 -1
  98. package/package.json +6 -3
@@ -1,11 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { Text } from 'ink';
1
+ import { useEffect } from 'react';
2
+ import { useApp } from 'ink';
3
+ import * as p from '@clack/prompts';
4
+ import chalk from 'chalk';
4
5
  import zod from 'zod';
5
- import { ThemeContext } from '../../hooks/useTheme.js';
6
- import { themeContextValue } from '../../config/themes.js';
7
- import SuccessMessage from '../../components/success-message.js';
8
- import ErrorMessage from '../../components/error-message.js';
9
6
  import { isAgentBrowserInstalled, browserOpen, canCreateSession, getSession } from '../../utils/agent-browser.js';
10
7
  export const args = zod.tuple([
11
8
  zod.string().describe('Session name'),
@@ -14,52 +11,43 @@ export const args = zod.tuple([
14
11
  export const options = zod.object({
15
12
  profile: zod.string().optional().default('corebrain').describe('Browser profile to use (default: corebrain)'),
16
13
  });
14
+ async function runBrowserOpen(sessionName, url, profile) {
15
+ const spinner = p.spinner();
16
+ spinner.start('Checking agent-browser...');
17
+ const installed = await isAgentBrowserInstalled();
18
+ if (!installed) {
19
+ spinner.stop(chalk.red('Not installed'));
20
+ p.log.error('agent-browser is not installed. Run `corebrain browser install` first.');
21
+ return;
22
+ }
23
+ // Check session limit
24
+ const { allowed, count } = canCreateSession();
25
+ const existingSession = getSession(sessionName);
26
+ if (!existingSession && !allowed) {
27
+ spinner.stop(chalk.red('Session limit reached'));
28
+ p.log.error(`Maximum 3 sessions allowed. Currently running: ${count}. Close a session first.`);
29
+ return;
30
+ }
31
+ spinner.message(`Opening ${url} in session "${sessionName}"...`);
32
+ const result = await browserOpen(sessionName, url, profile);
33
+ if (result.code !== 0) {
34
+ spinner.stop(chalk.red('Failed to open URL'));
35
+ p.log.error(result.stderr || 'Failed to open URL');
36
+ return;
37
+ }
38
+ spinner.stop(chalk.green(`Opened ${url} in session "${sessionName}" (profile: ${profile})`));
39
+ }
17
40
  export default function BrowserOpen({ args: [sessionName, url], options }) {
18
- const [status, setStatus] = useState('checking');
19
- const [error, setError] = useState('');
41
+ const { exit } = useApp();
20
42
  useEffect(() => {
21
- let cancelled = false;
22
- (async () => {
23
- try {
24
- const installed = await isAgentBrowserInstalled();
25
- if (!installed) {
26
- if (!cancelled) {
27
- setStatus('not-installed');
28
- }
29
- return;
30
- }
31
- // Check session limit
32
- const { allowed, count } = canCreateSession();
33
- const existingSession = getSession(sessionName);
34
- if (!existingSession && !allowed) {
35
- if (!cancelled) {
36
- setError(`Maximum 3 sessions allowed. Currently running: ${count}. Close a session first.`);
37
- setStatus('error');
38
- }
39
- return;
40
- }
41
- if (!cancelled) {
42
- setStatus('opening');
43
- }
44
- const result = await browserOpen(sessionName, url, options.profile);
45
- if (result.code !== 0) {
46
- throw new Error(result.stderr || 'Failed to open URL');
47
- }
48
- if (!cancelled) {
49
- setStatus('success');
50
- }
51
- }
52
- catch (err) {
53
- if (!cancelled) {
54
- setError(err instanceof Error ? err.message : 'Unknown error');
55
- setStatus('error');
56
- }
57
- }
58
- })();
59
- return () => {
60
- cancelled = true;
61
- };
62
- }, [sessionName, url, options.profile]);
63
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'checking' ? (_jsx(Text, { dimColor: true, children: "Checking agent-browser..." })) : status === 'not-installed' ? (_jsx(ErrorMessage, { message: "agent-browser is not installed. Run `corebrain browser install` first." })) : status === 'opening' ? (_jsxs(Text, { dimColor: true, children: ["Opening ", url, " in session \"", sessionName, "\"..."] })) : status === 'success' ? (_jsx(SuccessMessage, { message: `Opened ${url} in session "${sessionName}" (profile: ${options.profile})`, hideTitle: true })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Failed to open URL: ${error}` })) : null }));
43
+ runBrowserOpen(sessionName, url, options.profile)
44
+ .catch((err) => {
45
+ p.log.error(`Failed to open URL: ${err instanceof Error ? err.message : 'Unknown error'}`);
46
+ })
47
+ .finally(() => {
48
+ setTimeout(() => exit(), 100);
49
+ });
50
+ }, [sessionName, url, options.profile, exit]);
51
+ return null;
64
52
  }
65
53
  //# sourceMappingURL=open.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/browser/open.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/browser/open.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
3
  type Props = {
4
4
  options: zod.infer<typeof options>;
5
5
  };
6
- export default function BrowserStatus(_props: Props): import("react/jsx-runtime").JSX.Element | null;
6
+ export default function BrowserStatus(_props: Props): null;
7
7
  export {};
8
8
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/status.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAMtB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAQF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM,EAAE,KAAK,kDA2GlD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/browser/status.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAgCF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM,EAAE,KAAK,QAclD"}
@@ -1,48 +1,43 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { Text, Box } from 'ink';
1
+ import { useEffect } from 'react';
2
+ import { useApp } from 'ink';
3
+ import * as p from '@clack/prompts';
4
+ import chalk from 'chalk';
4
5
  import zod from 'zod';
5
- import { ThemeContext } from '../../hooks/useTheme.js';
6
- import { themeContextValue } from '../../config/themes.js';
7
- import ErrorMessage from '../../components/error-message.js';
8
6
  import { isAgentBrowserInstalled, browserListSessions, browserGetProfiles } from '../../utils/agent-browser.js';
9
7
  export const options = zod.object({});
10
- export default function BrowserStatus(_props) {
11
- const [status, setStatus] = useState('checking');
12
- const [info, setInfo] = useState(null);
13
- const [error, setError] = useState('');
14
- useEffect(() => {
15
- let cancelled = false;
16
- (async () => {
17
- try {
18
- const installed = await isAgentBrowserInstalled();
19
- const sessions = browserListSessions();
20
- const profiles = browserGetProfiles();
21
- if (!cancelled) {
22
- setInfo({ installed, sessions, profiles });
23
- setStatus('ready');
24
- }
25
- }
26
- catch (err) {
27
- if (!cancelled) {
28
- setError(err instanceof Error ? err.message : 'Unknown error');
29
- setStatus('error');
30
- }
31
- }
32
- })();
33
- return () => {
34
- cancelled = true;
35
- };
36
- }, []);
37
- if (status === 'checking') {
38
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: _jsx(Text, { dimColor: true, children: "Checking browser status..." }) }));
39
- }
40
- if (status === 'error') {
41
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: _jsx(ErrorMessage, { message: error }) }));
8
+ async function runBrowserStatus() {
9
+ const spinner = p.spinner();
10
+ spinner.start('Checking browser status...');
11
+ const installed = await isAgentBrowserInstalled();
12
+ const sessions = browserListSessions();
13
+ const profiles = browserGetProfiles();
14
+ spinner.stop(chalk.green('Status retrieved'));
15
+ const lines = [
16
+ `${chalk.bold('agent-browser:')} ${installed ? chalk.green('installed') : chalk.red('not installed')}`,
17
+ `${chalk.bold(`Sessions (${sessions.length}/3):`)} ${sessions.length > 0 ? chalk.green(`${sessions.length} active`) : chalk.dim('none')}`,
18
+ ];
19
+ if (sessions.length > 0) {
20
+ for (const session of sessions) {
21
+ lines.push(` ${chalk.dim('')} ${chalk.cyan(session.sessionName)} ${chalk.dim('→')} ${session.url} ${chalk.dim(`(profile: ${session.profile})`)}`);
22
+ }
42
23
  }
43
- if (!info) {
44
- return null;
24
+ lines.push(`${chalk.bold('Profiles:')} ${profiles.length > 0 ? profiles.join(', ') : chalk.dim('none')}`);
25
+ p.note(lines.join('\n'), 'Browser Status');
26
+ if (!installed) {
27
+ p.log.info('Run `corebrain browser install` to install agent-browser');
45
28
  }
46
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: _jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Box, { children: _jsx(Text, { bold: true, children: "Browser Status" }) }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "agent-browser: " }), info.installed ? (_jsx(Text, { color: "green", children: "installed" })) : (_jsx(Text, { color: "red", children: "not installed" }))] }), _jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: ["Sessions (", info.sessions.length, "/3): "] }), info.sessions.length > 0 ? (_jsxs(Text, { color: "green", children: [info.sessions.length, " active"] })) : (_jsx(Text, { color: "gray", children: "none" }))] }), info.sessions.length > 0 && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: info.sessions.map((session, i) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "\u2022 " }), _jsx(Text, { color: "cyan", children: session.sessionName }), _jsxs(Text, { dimColor: true, children: [" \u2192 ", session.url, " (profile: ", session.profile, ")"] })] }, i))) })), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "Profiles: " }), info.profiles.length > 0 ? (_jsx(Text, { children: info.profiles.join(', ') })) : (_jsx(Text, { color: "gray", children: "none" }))] })] }), !info.installed && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Run `corebrain browser install` to install agent-browser" }) }))] }) }));
29
+ }
30
+ export default function BrowserStatus(_props) {
31
+ const { exit } = useApp();
32
+ useEffect(() => {
33
+ runBrowserStatus()
34
+ .catch((err) => {
35
+ p.log.error(err instanceof Error ? err.message : 'Unknown error');
36
+ })
37
+ .finally(() => {
38
+ setTimeout(() => exit(), 100);
39
+ });
40
+ }, [exit]);
41
+ return null;
47
42
  }
48
43
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/browser/status.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/browser/status.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzG,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAMtC,KAAK,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IAEtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa;QACvB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QACtG,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;KACzI,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QACrJ,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE1G,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACxE,CAAC;AACF,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAa;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACd,gBAAgB,EAAE;aAChB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -18,6 +18,6 @@ export declare const options: zod.ZodObject<{
18
18
  type Props = {
19
19
  options: zod.infer<typeof options>;
20
20
  };
21
- export default function CodingAgentConfig({ options: opts }: Props): import("react/jsx-runtime").JSX.Element;
21
+ export default function CodingAgentConfig({ options: opts }: Props): null;
22
22
  export {};
23
23
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/config.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAStB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;mBAWlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,2CAyH/D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/config.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;mBAWlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AA4FF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,QAcjE"}
@@ -1,13 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { Text } from 'ink';
1
+ import { useEffect } from 'react';
2
+ import { useApp } from 'ink';
3
+ import * as p from '@clack/prompts';
4
+ import chalk from 'chalk';
4
5
  import zod from 'zod';
5
6
  import { getPreferences, updatePreferences } from '../../config/preferences.js';
6
- import SuccessMessage from '../../components/success-message.js';
7
- import ErrorMessage from '../../components/error-message.js';
8
- import InfoMessage from '../../components/info-message.js';
9
- import { ThemeContext } from '../../hooks/useTheme.js';
10
- import { themeContextValue } from '../../config/themes.js';
11
7
  export const options = zod.object({
12
8
  agent: zod.string().describe('Agent name (e.g., claude-code)'),
13
9
  command: zod.string().optional().describe('CLI command path'),
@@ -20,97 +16,98 @@ export const options = zod.object({
20
16
  modelArg: zod.string().optional().describe('Model argument flag'),
21
17
  show: zod.boolean().optional().describe('Show current config'),
22
18
  });
23
- export default function CodingAgentConfig({ options: opts }) {
24
- const [status, setStatus] = useState('loading');
25
- const [config, setConfig] = useState(null);
26
- const [error, setError] = useState('');
19
+ function formatConfig(cfg) {
20
+ const lines = [
21
+ `${chalk.bold('command:')} ${cfg.command}`,
22
+ `${chalk.bold('args:')} ${cfg.args?.join(' ') || chalk.dim('(none)')}`,
23
+ `${chalk.bold('resumeArgs:')} ${cfg.resumeArgs?.join(' ') || chalk.dim('(none)')}`,
24
+ `${chalk.bold('sessionArg:')} ${cfg.sessionArg || chalk.dim('(not set)')}`,
25
+ `${chalk.bold('sessionMode:')} ${cfg.sessionMode || chalk.dim('(not set)')}`,
26
+ `${chalk.bold('allowedTools:')} ${cfg.allowedTools?.join(', ') || chalk.dim('(none)')}`,
27
+ `${chalk.bold('disallowedTools:')} ${cfg.disallowedTools?.join(', ') || chalk.dim('(none)')}`,
28
+ `${chalk.bold('modelArg:')} ${cfg.modelArg || chalk.dim('(not set)')}`,
29
+ ];
30
+ return lines.join('\n');
31
+ }
32
+ async function runCodingConfig(opts) {
27
33
  const agentName = opts.agent;
28
- useEffect(() => {
29
- try {
30
- const prefs = getPreferences();
31
- const coding = (prefs.coding || {});
32
- const existingConfig = coding[agentName];
33
- // Check if any config options were provided
34
- const hasConfigOptions = opts.command !== undefined ||
35
- opts.args !== undefined ||
36
- opts.resumeArgs !== undefined ||
37
- opts.sessionArg !== undefined ||
38
- opts.sessionMode !== undefined ||
39
- opts.allowedTools !== undefined ||
40
- opts.disallowedTools !== undefined ||
41
- opts.modelArg !== undefined;
42
- // If just showing config (no options provided or --show)
43
- if (opts.show || !hasConfigOptions) {
44
- if (!existingConfig) {
45
- setStatus('not-found');
46
- return;
47
- }
48
- setConfig(existingConfig);
49
- setStatus('show');
50
- return;
51
- }
52
- // Build new config
53
- const newConfig = existingConfig || { command: agentName };
54
- if (opts.command !== undefined) {
55
- newConfig.command = opts.command;
56
- }
57
- if (opts.args !== undefined) {
58
- newConfig.args = opts.args
59
- .split(',')
60
- .map((a) => a.trim())
61
- .filter(Boolean);
62
- }
63
- if (opts.resumeArgs !== undefined) {
64
- newConfig.resumeArgs = opts.resumeArgs
65
- .split(',')
66
- .map((a) => a.trim())
67
- .filter(Boolean);
68
- }
69
- if (opts.sessionArg !== undefined) {
70
- newConfig.sessionArg = opts.sessionArg;
71
- }
72
- if (opts.sessionMode !== undefined) {
73
- newConfig.sessionMode = opts.sessionMode;
74
- }
75
- if (opts.allowedTools !== undefined) {
76
- newConfig.allowedTools = opts.allowedTools
77
- .split(',')
78
- .map((t) => t.trim())
79
- .filter(Boolean);
80
- }
81
- if (opts.disallowedTools !== undefined) {
82
- newConfig.disallowedTools = opts.disallowedTools
83
- .split(',')
84
- .map((t) => t.trim())
85
- .filter(Boolean);
86
- }
87
- if (opts.modelArg !== undefined) {
88
- newConfig.modelArg = opts.modelArg;
89
- }
90
- // Save config
91
- coding[agentName] = newConfig;
92
- updatePreferences({ coding });
93
- setConfig(newConfig);
94
- setStatus('updated');
95
- }
96
- catch (err) {
97
- setError(err instanceof Error ? err.message : 'Unknown error');
98
- setStatus('error');
34
+ const prefs = getPreferences();
35
+ const coding = (prefs.coding || {});
36
+ const existingConfig = coding[agentName];
37
+ // Check if any config options were provided
38
+ const hasConfigOptions = opts.command !== undefined ||
39
+ opts.args !== undefined ||
40
+ opts.resumeArgs !== undefined ||
41
+ opts.sessionArg !== undefined ||
42
+ opts.sessionMode !== undefined ||
43
+ opts.allowedTools !== undefined ||
44
+ opts.disallowedTools !== undefined ||
45
+ opts.modelArg !== undefined;
46
+ // If just showing config (no options provided or --show)
47
+ if (opts.show || !hasConfigOptions) {
48
+ if (!existingConfig) {
49
+ p.log.warning(`Agent "${agentName}" not configured.`);
50
+ p.log.info(`Run 'corebrain coding setup' to auto-detect\nor configure with:\n corebrain coding config --agent ${agentName} --command /path/to/cli`);
51
+ return;
99
52
  }
100
- }, [agentName, opts]);
101
- const formatConfig = (cfg) => {
102
- const lines = [
103
- `command: ${cfg.command}`,
104
- `args: ${cfg.args?.join(' ') || '(none)'}`,
105
- `resumeArgs: ${cfg.resumeArgs?.join(' ') || '(none)'}`,
106
- `sessionArg: ${cfg.sessionArg || '(not set)'}`,
107
- `sessionMode: ${cfg.sessionMode || '(not set)'}`,
108
- `allowedTools: ${cfg.allowedTools?.join(', ') || '(none)'}`,
109
- `disallowedTools: ${cfg.disallowedTools?.join(', ') || '(none)'}`,
110
- `modelArg: ${cfg.modelArg || '(not set)'}`,
111
- ];
112
- return lines.join('\n');
113
- };
114
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'loading' ? (_jsx(Text, { dimColor: true, children: "Loading configuration..." })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Config error: ${error}` })) : status === 'not-found' ? (_jsx(ErrorMessage, { message: `Agent "${agentName}" not configured.\n\nRun 'corebrain coding setup' to auto-detect\nor configure with:\n corebrain coding config --agent ${agentName} --command /path/to/cli`, hideTitle: true })) : status === 'show' && config ? (_jsx(InfoMessage, { message: `${agentName} Configuration\n\n${formatConfig(config)}` })) : status === 'updated' && config ? (_jsx(SuccessMessage, { message: `Updated ${agentName} configuration\n\n${formatConfig(config)}` })) : null }));
53
+ p.note(formatConfig(existingConfig), `${agentName} Configuration`);
54
+ return;
55
+ }
56
+ // Build new config
57
+ const newConfig = existingConfig || { command: agentName };
58
+ if (opts.command !== undefined) {
59
+ newConfig.command = opts.command;
60
+ }
61
+ if (opts.args !== undefined) {
62
+ newConfig.args = opts.args
63
+ .split(',')
64
+ .map((a) => a.trim())
65
+ .filter(Boolean);
66
+ }
67
+ if (opts.resumeArgs !== undefined) {
68
+ newConfig.resumeArgs = opts.resumeArgs
69
+ .split(',')
70
+ .map((a) => a.trim())
71
+ .filter(Boolean);
72
+ }
73
+ if (opts.sessionArg !== undefined) {
74
+ newConfig.sessionArg = opts.sessionArg;
75
+ }
76
+ if (opts.sessionMode !== undefined) {
77
+ newConfig.sessionMode = opts.sessionMode;
78
+ }
79
+ if (opts.allowedTools !== undefined) {
80
+ newConfig.allowedTools = opts.allowedTools
81
+ .split(',')
82
+ .map((t) => t.trim())
83
+ .filter(Boolean);
84
+ }
85
+ if (opts.disallowedTools !== undefined) {
86
+ newConfig.disallowedTools = opts.disallowedTools
87
+ .split(',')
88
+ .map((t) => t.trim())
89
+ .filter(Boolean);
90
+ }
91
+ if (opts.modelArg !== undefined) {
92
+ newConfig.modelArg = opts.modelArg;
93
+ }
94
+ // Save config
95
+ coding[agentName] = newConfig;
96
+ updatePreferences({ coding });
97
+ p.log.success(chalk.green(`Updated ${agentName} configuration`));
98
+ p.note(formatConfig(newConfig), 'New Configuration');
99
+ }
100
+ export default function CodingAgentConfig({ options: opts }) {
101
+ const { exit } = useApp();
102
+ useEffect(() => {
103
+ runCodingConfig(opts)
104
+ .catch((err) => {
105
+ p.log.error(`Config error: ${err instanceof Error ? err.message : 'Unknown error'}`);
106
+ })
107
+ .finally(() => {
108
+ setTimeout(() => exit(), 100);
109
+ });
110
+ }, [opts, exit]);
111
+ return null;
115
112
  }
116
113
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/coding/config.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/coding/config.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC9D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7D,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACxE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC1G,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvF,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvF,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC7F,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAC9D,CAAC,CAAC;AAMH,SAAS,YAAY,CAAC,GAAqB;IAC1C,MAAM,KAAK,GAAG;QACb,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;QAC1C,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACtE,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAClF,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QAC1E,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QAC5E,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvF,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC7F,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;KACtE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAA+B;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAqC,CAAC;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAEzC,4CAA4C;IAC5C,MAAM,gBAAgB,GACrB,IAAI,CAAC,OAAO,KAAK,SAAS;QAC1B,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,YAAY,KAAK,SAAS;QAC/B,IAAI,CAAC,eAAe,KAAK,SAAS;QAClC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IAE7B,yDAAyD;IACzD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,SAAS,mBAAmB,CAAC,CAAC;YACtD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sGAAsG,SAAS,yBAAyB,CAAC,CAAC;YACrJ,OAAO;QACR,CAAC;QACD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,GAAG,SAAS,gBAAgB,CAAC,CAAC;QACnE,OAAO;IACR,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAqB,cAAc,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAE7E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;aACxB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;aACpC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY;aACxC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;aAC9C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,cAAc;IACd,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,SAAS,gBAAgB,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAS;IACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,IAAI,CAAC;aACnB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjB,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -5,6 +5,6 @@ export declare const options: zod.ZodObject<{
5
5
  type Props = {
6
6
  options: zod.infer<typeof options>;
7
7
  };
8
- export default function CodingRemove({ options: opts }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export default function CodingRemove({ options: opts }: Props): null;
9
9
  export {};
10
10
  //# sourceMappingURL=remove.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/remove.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAQtB,eAAO,MAAM,OAAO;;mBAElB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,KAAK,2CAwC1D"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/commands/coding/remove.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,eAAO,MAAM,OAAO;;mBAElB,CAAC;AAEH,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAkBF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,QAc5D"}
@@ -1,37 +1,35 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { Text } from 'ink';
1
+ import { useEffect } from 'react';
2
+ import { useApp } from 'ink';
3
+ import * as p from '@clack/prompts';
4
+ import chalk from 'chalk';
4
5
  import zod from 'zod';
5
6
  import { getPreferences, updatePreferences } from '../../config/preferences.js';
6
- import SuccessMessage from '../../components/success-message.js';
7
- import ErrorMessage from '../../components/error-message.js';
8
- import { ThemeContext } from '../../hooks/useTheme.js';
9
- import { themeContextValue } from '../../config/themes.js';
10
7
  export const options = zod.object({
11
8
  agent: zod.string().describe('Agent name to remove'),
12
9
  });
10
+ async function runCodingRemove(agentName) {
11
+ const prefs = getPreferences();
12
+ const coding = (prefs.coding || {});
13
+ if (!coding[agentName]) {
14
+ p.log.warning(`Agent "${agentName}" not found.`);
15
+ return;
16
+ }
17
+ // Remove the agent
18
+ delete coding[agentName];
19
+ updatePreferences({ coding });
20
+ p.log.success(chalk.green(`Removed "${agentName}" configuration.`));
21
+ }
13
22
  export default function CodingRemove({ options: opts }) {
14
- const [status, setStatus] = useState('loading');
15
- const [error, setError] = useState('');
16
- const agentName = opts.agent;
23
+ const { exit } = useApp();
17
24
  useEffect(() => {
18
- try {
19
- const prefs = getPreferences();
20
- const coding = (prefs.coding || {});
21
- if (!coding[agentName]) {
22
- setStatus('not-found');
23
- return;
24
- }
25
- // Remove the agent
26
- delete coding[agentName];
27
- updatePreferences({ coding });
28
- setStatus('removed');
29
- }
30
- catch (err) {
31
- setError(err instanceof Error ? err.message : 'Unknown error');
32
- setStatus('error');
33
- }
34
- }, [agentName]);
35
- return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'loading' ? (_jsx(Text, { dimColor: true, children: "Removing agent configuration..." })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Error: ${error}` })) : status === 'not-found' ? (_jsx(ErrorMessage, { message: `Agent "${agentName}" not found.`, hideTitle: true })) : status === 'removed' ? (_jsx(SuccessMessage, { message: `Removed "${agentName}" configuration.` })) : null }));
25
+ runCodingRemove(opts.agent)
26
+ .catch((err) => {
27
+ p.log.error(`Error: ${err instanceof Error ? err.message : 'Unknown error'}`);
28
+ })
29
+ .finally(() => {
30
+ setTimeout(() => exit(), 100);
31
+ });
32
+ }, [opts.agent, exit]);
33
+ return null;
36
34
  }
37
35
  //# sourceMappingURL=remove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/coding/remove.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AACzB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACvE,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CACpD,CAAC,CAAC;AAMH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAQ;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgD,SAAS,CAAC,CAAC;IAC/F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAqC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,OAAO;YACR,CAAC;YAED,mBAAmB;YACnB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACzB,iBAAiB,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;YAE5B,SAAS,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAC/D,SAAS,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACF,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACN,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC7C,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,KAAC,IAAI,IAAC,QAAQ,sDAAuC,CACrD,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,KAAC,YAAY,IAAC,OAAO,EAAE,UAAU,KAAK,EAAE,GAAI,CAC5C,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAC5B,KAAC,YAAY,IAAC,OAAO,EAAE,UAAU,SAAS,cAAc,EAAE,SAAS,SAAG,CACtE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAC1B,KAAC,cAAc,IAAC,OAAO,EAAE,YAAY,SAAS,kBAAkB,GAAI,CACpE,CAAC,CAAC,CAAC,IAAI,GACe,CACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/coding/remove.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CACpD,CAAC,CAAC;AAMH,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAqC,CAAC;IAExE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,SAAS,cAAc,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IAED,mBAAmB;IACnB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,SAAS,kBAAkB,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAS;IAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,SAAS,CAAC,GAAG,EAAE;QACd,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvB,OAAO,IAAI,CAAC;AACb,CAAC"}