@redplanethq/corebrain 1.0.0 → 2.1.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 (181) hide show
  1. package/dist/commands/browser/close.d.ts +10 -0
  2. package/dist/commands/browser/close.d.ts.map +1 -0
  3. package/dist/commands/browser/close.js +60 -0
  4. package/dist/commands/browser/close.js.map +1 -0
  5. package/dist/commands/browser/command.d.ts +10 -0
  6. package/dist/commands/browser/command.d.ts.map +1 -0
  7. package/dist/commands/browser/command.js +67 -0
  8. package/dist/commands/browser/command.js.map +1 -0
  9. package/dist/commands/browser/create-profile.d.ts +10 -0
  10. package/dist/commands/browser/create-profile.d.ts.map +1 -0
  11. package/dist/commands/browser/create-profile.js +29 -0
  12. package/dist/commands/browser/create-profile.js.map +1 -0
  13. package/dist/commands/browser/delete-profile.d.ts +10 -0
  14. package/dist/commands/browser/delete-profile.d.ts.map +1 -0
  15. package/dist/commands/browser/delete-profile.js +27 -0
  16. package/dist/commands/browser/delete-profile.js.map +1 -0
  17. package/dist/commands/browser/install.d.ts +8 -0
  18. package/dist/commands/browser/install.d.ts.map +1 -0
  19. package/dist/commands/browser/install.js +49 -0
  20. package/dist/commands/browser/install.js.map +1 -0
  21. package/dist/commands/browser/open.d.ts +12 -0
  22. package/dist/commands/browser/open.d.ts.map +1 -0
  23. package/dist/commands/browser/open.js +65 -0
  24. package/dist/commands/browser/open.js.map +1 -0
  25. package/dist/commands/browser/status.d.ts +8 -0
  26. package/dist/commands/browser/status.d.ts.map +1 -0
  27. package/dist/commands/browser/status.js +48 -0
  28. package/dist/commands/browser/status.js.map +1 -0
  29. package/dist/commands/coding/[agent]/config.d.ts +18 -0
  30. package/dist/commands/coding/[agent]/config.d.ts.map +1 -0
  31. package/dist/commands/coding/[agent]/config.js +91 -0
  32. package/dist/commands/coding/[agent]/config.js.map +1 -0
  33. package/dist/commands/coding/config.d.ts +23 -0
  34. package/dist/commands/coding/config.d.ts.map +1 -0
  35. package/dist/commands/coding/config.js +116 -0
  36. package/dist/commands/coding/config.js.map +1 -0
  37. package/dist/commands/coding/index.d.ts +8 -0
  38. package/dist/commands/coding/index.d.ts.map +1 -0
  39. package/dist/commands/coding/index.js +42 -0
  40. package/dist/commands/coding/index.js.map +1 -0
  41. package/dist/commands/coding/remove.d.ts +10 -0
  42. package/dist/commands/coding/remove.d.ts.map +1 -0
  43. package/dist/commands/coding/remove.js +37 -0
  44. package/dist/commands/coding/remove.js.map +1 -0
  45. package/dist/commands/coding/setup.d.ts +8 -0
  46. package/dist/commands/coding/setup.d.ts.map +1 -0
  47. package/dist/commands/coding/setup.js +114 -0
  48. package/dist/commands/coding/setup.js.map +1 -0
  49. package/dist/commands/exec/config.d.ts +14 -0
  50. package/dist/commands/exec/config.d.ts.map +1 -0
  51. package/dist/commands/exec/config.js +79 -0
  52. package/dist/commands/exec/config.js.map +1 -0
  53. package/dist/commands/gateway/config.d.ts +8 -0
  54. package/dist/commands/gateway/config.d.ts.map +1 -0
  55. package/dist/commands/gateway/config.js +192 -0
  56. package/dist/commands/gateway/config.js.map +1 -0
  57. package/dist/commands/gateway/index.d.ts +14 -0
  58. package/dist/commands/gateway/index.d.ts.map +1 -0
  59. package/dist/commands/gateway/index.js +10 -0
  60. package/dist/commands/gateway/index.js.map +1 -0
  61. package/dist/commands/gateway/off.d.ts +8 -0
  62. package/dist/commands/gateway/off.d.ts.map +1 -0
  63. package/dist/commands/gateway/off.js +70 -0
  64. package/dist/commands/gateway/off.js.map +1 -0
  65. package/dist/commands/gateway/on.d.ts +8 -0
  66. package/dist/commands/gateway/on.d.ts.map +1 -0
  67. package/dist/commands/gateway/on.js +135 -0
  68. package/dist/commands/gateway/on.js.map +1 -0
  69. package/dist/commands/gateway/restart.d.ts +8 -0
  70. package/dist/commands/gateway/restart.d.ts.map +1 -0
  71. package/dist/commands/gateway/restart.js +70 -0
  72. package/dist/commands/gateway/restart.js.map +1 -0
  73. package/dist/commands/gateway/status.d.ts +8 -0
  74. package/dist/commands/gateway/status.d.ts.map +1 -0
  75. package/dist/commands/gateway/status.js +98 -0
  76. package/dist/commands/gateway/status.js.map +1 -0
  77. package/dist/commands/gateway/uninstall.d.ts +8 -0
  78. package/dist/commands/gateway/uninstall.d.ts.map +1 -0
  79. package/dist/commands/gateway/uninstall.js +80 -0
  80. package/dist/commands/gateway/uninstall.js.map +1 -0
  81. package/dist/commands/index.d.ts +1 -5
  82. package/dist/commands/index.d.ts.map +1 -1
  83. package/dist/commands/login.d.ts +1 -1
  84. package/dist/commands/login.d.ts.map +1 -1
  85. package/dist/commands/logout.d.ts +1 -1
  86. package/dist/commands/logout.d.ts.map +1 -1
  87. package/dist/commands/me.d.ts +1 -1
  88. package/dist/commands/me.d.ts.map +1 -1
  89. package/dist/commands/server.d.ts +10 -0
  90. package/dist/commands/server.d.ts.map +1 -0
  91. package/dist/commands/server.js +60 -0
  92. package/dist/commands/server.js.map +1 -0
  93. package/dist/commands/token.d.ts +1 -1
  94. package/dist/commands/token.d.ts.map +1 -1
  95. package/dist/components/error-message.d.ts.map +1 -1
  96. package/dist/components/error-message.js +6 -1
  97. package/dist/components/error-message.js.map +1 -1
  98. package/dist/components/info-message.d.ts.map +1 -1
  99. package/dist/components/info-message.js +5 -1
  100. package/dist/components/info-message.js.map +1 -1
  101. package/dist/components/success-message.d.ts.map +1 -1
  102. package/dist/components/success-message.js +5 -1
  103. package/dist/components/success-message.js.map +1 -1
  104. package/dist/components/warning-message.d.ts +2 -3
  105. package/dist/components/warning-message.d.ts.map +1 -1
  106. package/dist/components/warning-message.js +10 -4
  107. package/dist/components/warning-message.js.map +1 -1
  108. package/dist/config/index.d.ts +4 -0
  109. package/dist/config/index.d.ts.map +1 -1
  110. package/dist/config/index.js +31 -30
  111. package/dist/config/index.js.map +1 -1
  112. package/dist/config/paths.d.ts.map +1 -1
  113. package/dist/config/paths.js +4 -36
  114. package/dist/config/paths.js.map +1 -1
  115. package/dist/config/preferences.d.ts +14 -0
  116. package/dist/config/preferences.d.ts.map +1 -0
  117. package/dist/config/preferences.js +82 -0
  118. package/dist/config/preferences.js.map +1 -0
  119. package/dist/config/themes.d.ts +5 -0
  120. package/dist/config/themes.d.ts.map +1 -1
  121. package/dist/config/themes.js +5 -0
  122. package/dist/config/themes.js.map +1 -1
  123. package/dist/server/gateway-client.d.ts +80 -0
  124. package/dist/server/gateway-client.d.ts.map +1 -0
  125. package/dist/server/gateway-client.js +280 -0
  126. package/dist/server/gateway-client.js.map +1 -0
  127. package/dist/server/gateway-entry.d.ts +7 -0
  128. package/dist/server/gateway-entry.d.ts.map +1 -0
  129. package/dist/server/gateway-entry.js +138 -0
  130. package/dist/server/gateway-entry.js.map +1 -0
  131. package/dist/server/gateway.d.ts +5 -0
  132. package/dist/server/gateway.d.ts.map +1 -0
  133. package/dist/server/gateway.js +136 -0
  134. package/dist/server/gateway.js.map +1 -0
  135. package/dist/server/tools/browser-tools.d.ts +28 -0
  136. package/dist/server/tools/browser-tools.d.ts.map +1 -0
  137. package/dist/server/tools/browser-tools.js +179 -0
  138. package/dist/server/tools/browser-tools.js.map +1 -0
  139. package/dist/server/tools/coding-tools.d.ts +27 -0
  140. package/dist/server/tools/coding-tools.d.ts.map +1 -0
  141. package/dist/server/tools/coding-tools.js +345 -0
  142. package/dist/server/tools/coding-tools.js.map +1 -0
  143. package/dist/server/tools/exec-tools.d.ts +14 -0
  144. package/dist/server/tools/exec-tools.d.ts.map +1 -0
  145. package/dist/server/tools/exec-tools.js +203 -0
  146. package/dist/server/tools/exec-tools.js.map +1 -0
  147. package/dist/types/config.d.ts +36 -0
  148. package/dist/types/config.d.ts.map +1 -1
  149. package/dist/utils/agent-browser.d.ts +63 -0
  150. package/dist/utils/agent-browser.d.ts.map +1 -0
  151. package/dist/utils/agent-browser.js +301 -0
  152. package/dist/utils/agent-browser.js.map +1 -0
  153. package/dist/utils/coding-runner.d.ts +60 -0
  154. package/dist/utils/coding-runner.d.ts.map +1 -0
  155. package/dist/utils/coding-runner.js +174 -0
  156. package/dist/utils/coding-runner.js.map +1 -0
  157. package/dist/utils/coding-sessions.d.ts +61 -0
  158. package/dist/utils/coding-sessions.d.ts.map +1 -0
  159. package/dist/utils/coding-sessions.js +112 -0
  160. package/dist/utils/coding-sessions.js.map +1 -0
  161. package/dist/utils/process.d.ts +22 -0
  162. package/dist/utils/process.d.ts.map +1 -0
  163. package/dist/utils/process.js +81 -0
  164. package/dist/utils/process.js.map +1 -0
  165. package/dist/utils/service-manager/index.d.ts +49 -0
  166. package/dist/utils/service-manager/index.d.ts.map +1 -0
  167. package/dist/utils/service-manager/index.js +137 -0
  168. package/dist/utils/service-manager/index.js.map +1 -0
  169. package/dist/utils/service-manager/launchd.d.ts +31 -0
  170. package/dist/utils/service-manager/launchd.d.ts.map +1 -0
  171. package/dist/utils/service-manager/launchd.js +208 -0
  172. package/dist/utils/service-manager/launchd.js.map +1 -0
  173. package/dist/utils/service-manager/systemd.d.ts +31 -0
  174. package/dist/utils/service-manager/systemd.d.ts.map +1 -0
  175. package/dist/utils/service-manager/systemd.js +187 -0
  176. package/dist/utils/service-manager/systemd.js.map +1 -0
  177. package/dist/utils/tmux.d.ts +37 -0
  178. package/dist/utils/tmux.d.ts.map +1 -0
  179. package/dist/utils/tmux.js +96 -0
  180. package/dist/utils/tmux.js.map +1 -0
  181. package/package.json +15 -12
@@ -0,0 +1,8 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
+ type Props = {
4
+ options: zod.infer<typeof options>;
5
+ };
6
+ export default function GatewayConfigCommand(_props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/config.tsx"],"names":[],"mappings":"AAIA,OAAO,GAAG,MAAM,KAAK,CAAC;AAyBtB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAuBF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,KAAK,2CAoSzD"}
@@ -0,0 +1,192 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from 'react';
3
+ import { Text, Box, useInput, useApp } from 'ink';
4
+ import TextInput from 'ink-text-input';
5
+ import SelectInput from 'ink-select-input';
6
+ import zod from 'zod';
7
+ import { randomUUID } from 'node:crypto';
8
+ import { getPreferences, updatePreferences } from '../../config/preferences.js';
9
+ import { getServiceType, getServiceName, getServiceStatus, stopService, uninstallService, isServiceInstalled, installService, startService, getServicePid, } from '../../utils/service-manager/index.js';
10
+ import { getConfigPath } from '../../config/paths.js';
11
+ import { join, dirname } from 'node:path';
12
+ import { fileURLToPath } from 'node:url';
13
+ import { homedir } from 'node:os';
14
+ import SuccessMessage from '../../components/success-message.js';
15
+ import ErrorMessage from '../../components/error-message.js';
16
+ import { ThemeContext } from '../../hooks/useTheme.js';
17
+ import { themeContextValue } from '../../config/themes.js';
18
+ export const options = zod.object({});
19
+ // Get the path to the gateway-entry.js script
20
+ function getGatewayEntryPath() {
21
+ const __filename = fileURLToPath(import.meta.url);
22
+ const __dirname = dirname(__filename);
23
+ return join(__dirname, '..', '..', 'server', 'gateway-entry.js');
24
+ }
25
+ export default function GatewayConfigCommand(_props) {
26
+ const { exit } = useApp();
27
+ const [step, setStep] = useState('checking');
28
+ const [error, setError] = useState('');
29
+ const [existingConfig, setExistingConfig] = useState(null);
30
+ const [isEditing, setIsEditing] = useState(false);
31
+ // Form state
32
+ const [name, setName] = useState('');
33
+ const [description, setDescription] = useState('');
34
+ const [gatewayId, setGatewayId] = useState('');
35
+ // Check for existing config on mount
36
+ useEffect(() => {
37
+ const prefs = getPreferences();
38
+ const existing = prefs.gateway;
39
+ if (existing?.id && existing?.name) {
40
+ setExistingConfig(existing);
41
+ setName(existing.name || '');
42
+ setDescription(existing.description || '');
43
+ setGatewayId(existing.id);
44
+ setStep('confirm-edit');
45
+ }
46
+ else {
47
+ // New config - generate ID
48
+ setGatewayId(randomUUID());
49
+ setStep('input-name');
50
+ }
51
+ }, []);
52
+ // Handle edit confirmation
53
+ const handleEditConfirm = async (item) => {
54
+ if (item.value === 'edit') {
55
+ setIsEditing(true);
56
+ // Check if service is running and uninstall
57
+ try {
58
+ const serviceType = getServiceType();
59
+ if (serviceType !== 'none') {
60
+ const serviceName = getServiceName();
61
+ const installed = await isServiceInstalled(serviceName);
62
+ if (installed) {
63
+ setStep('uninstalling');
64
+ const status = await getServiceStatus(serviceName);
65
+ if (status === 'running') {
66
+ await stopService(serviceName);
67
+ await new Promise((resolve) => setTimeout(resolve, 500));
68
+ }
69
+ await uninstallService(serviceName);
70
+ }
71
+ }
72
+ }
73
+ catch {
74
+ // Continue anyway
75
+ }
76
+ setStep('input-name');
77
+ }
78
+ else if (item.value === 'view') {
79
+ setStep('done');
80
+ }
81
+ else {
82
+ setStep('cancelled');
83
+ }
84
+ };
85
+ // Handle name submit
86
+ const handleNameSubmit = (value) => {
87
+ if (value.trim()) {
88
+ setName(value.trim());
89
+ setStep('input-description');
90
+ }
91
+ };
92
+ // Handle description submit
93
+ const handleDescriptionSubmit = (value) => {
94
+ setDescription(value.trim());
95
+ setStep('saving');
96
+ // Save config
97
+ try {
98
+ const prefs = getPreferences();
99
+ const newConfig = {
100
+ ...prefs.gateway,
101
+ id: gatewayId,
102
+ name: name,
103
+ description: value.trim(),
104
+ port: prefs.gateway?.port || 0,
105
+ pid: prefs.gateway?.pid || 0,
106
+ startedAt: prefs.gateway?.startedAt || 0,
107
+ };
108
+ updatePreferences({ gateway: newConfig });
109
+ setStep('confirm-start');
110
+ }
111
+ catch (err) {
112
+ setError(err instanceof Error ? err.message : 'Failed to save config');
113
+ setStep('error');
114
+ }
115
+ };
116
+ // Handle start confirmation
117
+ const handleStartConfirm = async (item) => {
118
+ if (item.value === 'yes') {
119
+ setStep('starting');
120
+ try {
121
+ const serviceType = getServiceType();
122
+ if (serviceType === 'none') {
123
+ setError('Service management not supported on this platform');
124
+ setStep('error');
125
+ return;
126
+ }
127
+ const serviceName = getServiceName();
128
+ const gatewayEntryPath = getGatewayEntryPath();
129
+ const logDir = join(getConfigPath(), 'logs');
130
+ const serviceConfig = {
131
+ name: serviceName,
132
+ displayName: 'CoreBrain Gateway',
133
+ command: process.execPath,
134
+ args: [gatewayEntryPath],
135
+ port: 0,
136
+ workingDirectory: homedir(),
137
+ logPath: join(logDir, 'gateway-stdout.log'),
138
+ errorLogPath: join(logDir, 'gateway-stderr.log'),
139
+ };
140
+ await installService(serviceConfig);
141
+ await startService(serviceName);
142
+ // Wait a moment and get PID
143
+ await new Promise((resolve) => setTimeout(resolve, 500));
144
+ const pid = getServicePid(serviceName);
145
+ // Update preferences with service info
146
+ const prefs = getPreferences();
147
+ updatePreferences({
148
+ gateway: {
149
+ ...prefs.gateway,
150
+ pid: pid ?? 0,
151
+ startedAt: Date.now(),
152
+ serviceInstalled: true,
153
+ serviceType: serviceType,
154
+ serviceName: serviceName,
155
+ },
156
+ });
157
+ setStep('started');
158
+ }
159
+ catch (err) {
160
+ setError(err instanceof Error ? err.message : 'Failed to start gateway');
161
+ setStep('error');
162
+ }
163
+ }
164
+ else {
165
+ setStep('done');
166
+ }
167
+ };
168
+ // Handle escape key
169
+ useInput((input, key) => {
170
+ if (key.escape) {
171
+ setStep('cancelled');
172
+ }
173
+ });
174
+ // Exit on done/cancelled/error/started
175
+ useEffect(() => {
176
+ if (step === 'cancelled' || step === 'done' || step === 'started' || step === 'error') {
177
+ const timer = setTimeout(() => exit(), 100);
178
+ return () => clearTimeout(timer);
179
+ }
180
+ }, [step, exit]);
181
+ const editOptions = [
182
+ { label: 'Edit configuration', value: 'edit' },
183
+ { label: 'View current configuration', value: 'view' },
184
+ { label: 'Cancel', value: 'cancel' },
185
+ ];
186
+ const startOptions = [
187
+ { label: 'Yes, start the gateway', value: 'yes' },
188
+ { label: 'No, I\'ll start it later', value: 'no' },
189
+ ];
190
+ return (_jsxs(ThemeContext.Provider, { value: themeContextValue, children: [step === 'checking' && _jsx(Text, { dimColor: true, children: "Checking configuration..." }), step === 'confirm-edit' && existingConfig && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: "Existing Gateway Configuration" }), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["ID: ", existingConfig.id] }), _jsxs(Text, { children: ["Name: ", existingConfig.name] }), _jsxs(Text, { children: ["Description: ", existingConfig.description || '(none)'] }), _jsx(Text, { children: " " }), _jsx(Text, { children: "What would you like to do?" }), _jsx(SelectInput, { items: editOptions, onSelect: handleEditConfirm })] })), step === 'uninstalling' && (_jsx(Text, { dimColor: true, children: "Stopping and uninstalling existing gateway..." })), step === 'input-name' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: "Gateway Configuration" }), _jsx(Text, { children: " " }), _jsxs(Box, { children: [_jsx(Text, { children: "Gateway Name: " }), _jsx(TextInput, { value: name, onChange: setName, onSubmit: handleNameSubmit, placeholder: "e.g., my-macbook-browser" })] }), _jsxs(Text, { dimColor: true, children: ['\n', "Enter a unique name for this gateway (press Enter to confirm, Esc to cancel)"] })] })), step === 'input-description' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: "Gateway Configuration" }), _jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["Name: ", name] }), _jsx(Text, { children: " " }), _jsxs(Box, { children: [_jsx(Text, { children: "Description: " }), _jsx(TextInput, { value: description, onChange: setDescription, onSubmit: handleDescriptionSubmit, placeholder: "e.g., Browser automation and coding on my MacBook" })] }), _jsxs(Text, { dimColor: true, children: ['\n', "Describe the role of this gateway. The meta-agent will use this to decide when to use it.", '\n', "(press Enter to confirm, Esc to cancel)"] })] })), step === 'saving' && _jsx(Text, { dimColor: true, children: "Saving configuration..." }), step === 'starting' && _jsx(Text, { dimColor: true, children: "Starting gateway service..." }), step === 'started' && (_jsx(SuccessMessage, { message: `Gateway started!\n\nID: ${gatewayId}\nName: ${name}\n\nUse 'corebrain gateway status' to check status.\nUse 'corebrain gateway off' to stop.` })), step === 'confirm-start' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(SuccessMessage, { message: `Gateway configured!\n\nID: ${gatewayId}\nName: ${name}\nDescription: ${description || '(none)'}` }), _jsx(Text, { children: " " }), _jsx(Text, { children: "Would you like to start the gateway now?" }), _jsx(SelectInput, { items: startOptions, onSelect: handleStartConfirm })] })), step === 'done' && !isEditing && existingConfig && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: "Current Gateway Configuration" }), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["ID: ", existingConfig.id] }), _jsxs(Text, { children: ["Name: ", existingConfig.name] }), _jsxs(Text, { children: ["Description: ", existingConfig.description || '(none)'] }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Run 'corebrain gateway on' to start the gateway" })] })), step === 'done' && (isEditing || !existingConfig) && (_jsxs(Box, { flexDirection: "column", children: [_jsx(SuccessMessage, { message: `Gateway configured!\n\nID: ${gatewayId}\nName: ${name}\nDescription: ${description || '(none)'}` }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Run 'corebrain gateway on' to start the gateway" })] })), step === 'cancelled' && (_jsx(Text, { dimColor: true, children: "Configuration cancelled." })), step === 'error' && _jsx(ErrorMessage, { message: error })] }));
191
+ }
192
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/gateway/config.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{
3
+ name: zod.ZodDefault<zod.ZodString>;
4
+ }, "strip", zod.ZodTypeAny, {
5
+ name: string;
6
+ }, {
7
+ name?: string | undefined;
8
+ }>;
9
+ type Props = {
10
+ options: zod.infer<typeof options>;
11
+ };
12
+ export default function Index({ options }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/index.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,OAAO;;;;;;EAElB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,2CAM/C"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import zod from 'zod';
4
+ export const options = zod.object({
5
+ name: zod.string().default('Stranger').describe('Name'),
6
+ });
7
+ export default function Index({ options }) {
8
+ return (_jsxs(Text, { children: ["Hello, ", _jsx(Text, { color: "green", children: options.name })] }));
9
+ }
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/gateway/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;CACxD,CAAC,CAAC;AAMH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAS;IAC9C,OAAO,CACL,MAAC,IAAI,0BACI,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,OAAO,CAAC,IAAI,GAAQ,IAC3C,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
+ type Props = {
4
+ options: zod.infer<typeof options>;
5
+ };
6
+ export default function GatewayOff(_props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=off.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"off.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/off.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAatB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,KAAK,2CAkG/C"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Text } from 'ink';
4
+ import zod from 'zod';
5
+ import { getServiceType, getServiceName, isServiceInstalled, getServiceStatus, stopService, } from '../../utils/service-manager/index.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
+ export const options = zod.object({});
11
+ export default function GatewayOff(_props) {
12
+ const [status, setStatus] = useState('checking');
13
+ const [error, setError] = useState('');
14
+ useEffect(() => {
15
+ let cancelled = false;
16
+ (async () => {
17
+ try {
18
+ // Check platform support
19
+ const serviceType = getServiceType();
20
+ if (serviceType === 'none') {
21
+ if (!cancelled) {
22
+ setStatus('unsupported');
23
+ }
24
+ return;
25
+ }
26
+ const serviceName = getServiceName();
27
+ const installed = await isServiceInstalled(serviceName);
28
+ if (!installed) {
29
+ if (!cancelled) {
30
+ setStatus('not-installed');
31
+ }
32
+ return;
33
+ }
34
+ // Check if running
35
+ const serviceStatus = await getServiceStatus(serviceName);
36
+ if (serviceStatus !== 'running') {
37
+ if (!cancelled) {
38
+ setStatus('not-running');
39
+ }
40
+ return;
41
+ }
42
+ // Stop the service
43
+ if (!cancelled) {
44
+ setStatus('stopping');
45
+ }
46
+ await stopService(serviceName);
47
+ await new Promise((resolve) => setTimeout(resolve, 1000));
48
+ // Verify stopped
49
+ const postStopStatus = await getServiceStatus(serviceName);
50
+ if (postStopStatus === 'running') {
51
+ throw new Error('Stop command sent but service is still running');
52
+ }
53
+ if (!cancelled) {
54
+ setStatus('success');
55
+ }
56
+ }
57
+ catch (err) {
58
+ if (!cancelled) {
59
+ setError(err instanceof Error ? err.message : 'Unknown error');
60
+ setStatus('error');
61
+ }
62
+ }
63
+ })();
64
+ return () => {
65
+ cancelled = true;
66
+ };
67
+ }, []);
68
+ return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'checking' ? (_jsx(Text, { dimColor: true, children: "Checking gateway status..." })) : status === 'stopping' ? (_jsx(Text, { dimColor: true, children: "Stopping gateway..." })) : status === 'unsupported' ? (_jsx(ErrorMessage, { message: "Service management not supported on this platform." })) : status === 'not-installed' ? (_jsx(ErrorMessage, { message: "Gateway is not installed. Run: corebrain gateway on", hideTitle: true })) : status === 'not-running' ? (_jsx(ErrorMessage, { message: "Gateway is not running", hideTitle: true })) : status === 'success' ? (_jsx(SuccessMessage, { message: `Gateway stopped.\n\nNote: Will auto-start on next login.\nTo remove completely: corebrain gateway uninstall` })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Failed to stop gateway: ${error}` })) : null }));
69
+ }
70
+ //# sourceMappingURL=off.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"off.js","sourceRoot":"","sources":["../../../src/commands/gateway/off.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
+ type Props = {
4
+ options: zod.infer<typeof options>;
5
+ };
6
+ export default function GatewayOn(_props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=on.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/on.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AAqBtB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAWF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,MAAM,EAAE,KAAK,2CA+J9C"}
@@ -0,0 +1,135 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Text } from 'ink';
4
+ import zod from 'zod';
5
+ import { getConfig } from '../../config/index.js';
6
+ import { getPreferences, updatePreferences } from '../../config/preferences.js';
7
+ import SuccessMessage from '../../components/success-message.js';
8
+ import ErrorMessage from '../../components/error-message.js';
9
+ import { ThemeContext } from '../../hooks/useTheme.js';
10
+ import { themeContextValue } from '../../config/themes.js';
11
+ import { getConfigPath } from '../../config/paths.js';
12
+ import { homedir } from 'node:os';
13
+ import { join, dirname } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { installService, getServiceStatus, startService, getServiceName, getServiceType, getServicePid, } from '../../utils/service-manager/index.js';
16
+ export const options = zod.object({});
17
+ // Get the path to the gateway-entry.js script
18
+ function getGatewayEntryPath() {
19
+ // Get the directory of this file
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = dirname(__filename);
22
+ // Navigate from dist/commands/gateway to dist/server/gateway-entry.js
23
+ return join(__dirname, '..', '..', 'server', 'gateway-entry.js');
24
+ }
25
+ export default function GatewayOn(_props) {
26
+ const [status, setStatus] = useState('checking');
27
+ const [error, setError] = useState('');
28
+ const [exitCode, setExitCode] = useState(undefined);
29
+ useEffect(() => {
30
+ let cancelled = false;
31
+ (async () => {
32
+ try {
33
+ // Check platform support
34
+ const serviceType = getServiceType();
35
+ if (serviceType === 'none') {
36
+ if (!cancelled) {
37
+ setStatus('not-supported');
38
+ setExitCode(1);
39
+ }
40
+ return;
41
+ }
42
+ // Check if authenticated
43
+ const config = getConfig();
44
+ if (!config.auth?.apiKey || !config.auth?.url) {
45
+ if (!cancelled) {
46
+ setStatus('not-authenticated');
47
+ setExitCode(1);
48
+ }
49
+ return;
50
+ }
51
+ // Check if gateway is configured
52
+ const prefs = getPreferences();
53
+ if (!prefs.gateway?.id || !prefs.gateway?.name) {
54
+ if (!cancelled) {
55
+ setStatus('not-configured');
56
+ setExitCode(1);
57
+ }
58
+ return;
59
+ }
60
+ const serviceName = getServiceName();
61
+ // Check if already running
62
+ const currentStatus = await getServiceStatus(serviceName);
63
+ if (currentStatus === 'running') {
64
+ if (!cancelled) {
65
+ setStatus('started');
66
+ setExitCode(0);
67
+ }
68
+ return;
69
+ }
70
+ // Install/update the service
71
+ if (!cancelled) {
72
+ setStatus('installing');
73
+ }
74
+ const gatewayEntryPath = getGatewayEntryPath();
75
+ const logDir = join(getConfigPath(), 'logs');
76
+ const serviceConfig = {
77
+ name: serviceName,
78
+ displayName: 'CoreBrain Gateway',
79
+ command: process.execPath, // Node.js path
80
+ args: [gatewayEntryPath], // No longer passing name/description as args
81
+ port: 0, // Not applicable for WebSocket client
82
+ workingDirectory: homedir(),
83
+ logPath: join(logDir, 'gateway-stdout.log'),
84
+ errorLogPath: join(logDir, 'gateway-stderr.log'),
85
+ };
86
+ await installService(serviceConfig);
87
+ // Start the service
88
+ if (!cancelled) {
89
+ setStatus('starting');
90
+ }
91
+ await startService(serviceName);
92
+ // Wait a moment for the service to start and get the PID
93
+ await new Promise(resolve => setTimeout(resolve, 500));
94
+ const pid = getServicePid(serviceName);
95
+ // Update preferences with actual PID
96
+ updatePreferences({
97
+ gateway: {
98
+ ...getPreferences().gateway,
99
+ port: 0,
100
+ pid: pid ?? 0,
101
+ startedAt: Date.now(),
102
+ serviceInstalled: true,
103
+ serviceType: serviceType,
104
+ serviceName: serviceName,
105
+ },
106
+ });
107
+ if (!cancelled) {
108
+ setStatus('started');
109
+ setExitCode(0);
110
+ }
111
+ }
112
+ catch (err) {
113
+ if (!cancelled) {
114
+ setError(err instanceof Error ? err.message : 'Unknown error');
115
+ setStatus('error');
116
+ setExitCode(1);
117
+ }
118
+ }
119
+ })();
120
+ return () => {
121
+ cancelled = true;
122
+ };
123
+ }, []);
124
+ // Exit after showing result
125
+ useEffect(() => {
126
+ if (exitCode !== undefined) {
127
+ const timer = setTimeout(() => {
128
+ process.exit(exitCode);
129
+ }, 100);
130
+ return () => clearTimeout(timer);
131
+ }
132
+ }, [exitCode]);
133
+ return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'checking' ? (_jsx(Text, { dimColor: true, children: "Checking configuration..." })) : status === 'not-authenticated' ? (_jsx(ErrorMessage, { message: "Not authenticated. Run `corebrain login` first." })) : status === 'not-configured' ? (_jsx(ErrorMessage, { message: "Gateway not configured. Run `corebrain gateway config` first." })) : status === 'not-supported' ? (_jsx(ErrorMessage, { message: "Service management not supported on this platform. Only macOS (launchd) and Linux (systemd) are supported." })) : status === 'installing' ? (_jsx(Text, { dimColor: true, children: "Installing gateway service..." })) : status === 'starting' ? (_jsx(Text, { dimColor: true, children: "Starting gateway service..." })) : status === 'started' ? (_jsx(SuccessMessage, { message: `Gateway service started\n\nThe gateway is now running in the background.\nUse 'corebrain gateway status' to check status.\nUse 'corebrain gateway off' to stop.` })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Gateway error: ${error}` })) : null }));
134
+ }
135
+ //# sourceMappingURL=on.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on.js","sourceRoot":"","sources":["../../../src/commands/gateway/on.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
+ type Props = {
4
+ options: zod.infer<typeof options>;
5
+ };
6
+ export default function GatewayRestart(_props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=restart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/restart.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AActB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAM,EAAE,KAAK,2CA+FnD"}
@@ -0,0 +1,70 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Text } from 'ink';
4
+ import zod from 'zod';
5
+ import { getServiceType, getServiceName, isServiceInstalled, getServiceStatus, stopService, startService, } from '../../utils/service-manager/index.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
+ export const options = zod.object({});
11
+ export default function GatewayRestart(_props) {
12
+ const [status, setStatus] = useState('checking');
13
+ const [error, setError] = useState('');
14
+ useEffect(() => {
15
+ let cancelled = false;
16
+ (async () => {
17
+ try {
18
+ const serviceType = getServiceType();
19
+ if (serviceType === 'none') {
20
+ if (!cancelled) {
21
+ setStatus('unsupported');
22
+ }
23
+ return;
24
+ }
25
+ const serviceName = getServiceName();
26
+ const installed = await isServiceInstalled(serviceName);
27
+ if (!installed) {
28
+ if (!cancelled) {
29
+ setStatus('not-installed');
30
+ }
31
+ return;
32
+ }
33
+ // Stop if running
34
+ const serviceStatus = await getServiceStatus(serviceName);
35
+ if (serviceStatus === 'running') {
36
+ if (!cancelled) {
37
+ setStatus('stopping');
38
+ }
39
+ await stopService(serviceName);
40
+ await new Promise((resolve) => setTimeout(resolve, 1000));
41
+ }
42
+ // Start
43
+ if (!cancelled) {
44
+ setStatus('starting');
45
+ }
46
+ await startService(serviceName);
47
+ await new Promise((resolve) => setTimeout(resolve, 1500));
48
+ // Verify running
49
+ const postStartStatus = await getServiceStatus(serviceName);
50
+ if (postStartStatus !== 'running') {
51
+ throw new Error('Service started but not running. Check logs: ~/.corebrain/logs/');
52
+ }
53
+ if (!cancelled) {
54
+ setStatus('success');
55
+ }
56
+ }
57
+ catch (err) {
58
+ if (!cancelled) {
59
+ setError(err instanceof Error ? err.message : 'Unknown error');
60
+ setStatus('error');
61
+ }
62
+ }
63
+ })();
64
+ return () => {
65
+ cancelled = true;
66
+ };
67
+ }, []);
68
+ return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: status === 'checking' ? (_jsx(Text, { dimColor: true, children: "Checking gateway status..." })) : status === 'stopping' ? (_jsx(Text, { dimColor: true, children: "Stopping gateway..." })) : status === 'starting' ? (_jsx(Text, { dimColor: true, children: "Starting gateway..." })) : status === 'unsupported' ? (_jsx(ErrorMessage, { message: "Service management not supported on this platform." })) : status === 'not-installed' ? (_jsx(ErrorMessage, { message: "Gateway not installed. Run: corebrain gateway on", hideTitle: true })) : status === 'success' ? (_jsx(SuccessMessage, { message: "Gateway restarted" })) : status === 'error' ? (_jsx(ErrorMessage, { message: `Failed to restart: ${error}` })) : null }));
69
+ }
70
+ //# sourceMappingURL=restart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/commands/gateway/restart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACN,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,YAAY,GACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAMtC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAa;IACnD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAQlC,UAAU,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,KAAK,IAAI,EAAE;YACX,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBAErC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChB,SAAS,CAAC,aAAa,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO;gBACR,CAAC;gBAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAExD,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChB,SAAS,CAAC,eAAe,CAAC,CAAC;oBAC5B,CAAC;oBACD,OAAO;gBACR,CAAC;gBAED,kBAAkB;gBAClB,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAC1D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBACjC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAChB,SAAS,CAAC,UAAU,CAAC,CAAC;oBACvB,CAAC;oBACD,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC/B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAED,QAAQ;gBACR,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,SAAS,CAAC,UAAU,CAAC,CAAC;gBACvB,CAAC;gBAED,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;gBAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAE1D,iBAAiB;gBACjB,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,SAAS,CAAC,SAAS,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;oBAC/D,SAAS,CAAC,OAAO,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC7C,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CACxB,KAAC,IAAI,IAAC,QAAQ,iDAAkC,CAChD,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,QAAQ,0CAA2B,CACzC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IAAC,QAAQ,0CAA2B,CACzC,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAC9B,KAAC,YAAY,IAAC,OAAO,EAAC,oDAAoD,GAAG,CAC7E,CAAC,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,CAChC,KAAC,YAAY,IAAC,OAAO,EAAC,kDAAkD,EAAC,SAAS,SAAG,CACrF,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAC1B,KAAC,cAAc,IAAC,OAAO,EAAC,mBAAmB,GAAG,CAC9C,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACxB,KAAC,YAAY,IAAC,OAAO,EAAE,sBAAsB,KAAK,EAAE,GAAI,CACxD,CAAC,CAAC,CAAC,IAAI,GACe,CACxB,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import zod from 'zod';
2
+ export declare const options: zod.ZodObject<{}, zod.core.$strip>;
3
+ type Props = {
4
+ options: zod.infer<typeof options>;
5
+ };
6
+ export default function GatewayStatus(_props: Props): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/gateway/status.tsx"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,KAAK,CAAC;AActB,eAAO,MAAM,OAAO,oCAAiB,CAAC;AAEtC,KAAK,KAAK,GAAG;IACZ,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CACnC,CAAC;AAwBF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM,EAAE,KAAK,2CAqGlD"}