@testany/hephos 0.3.17 → 0.4.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/README.md +29 -0
- package/out/auth/AuthConfig.d.ts +44 -0
- package/out/auth/AuthConfig.d.ts.map +1 -0
- package/out/auth/AuthConfig.js +50 -0
- package/out/auth/AuthConfig.js.map +1 -0
- package/out/auth/AuthService.d.ts +72 -0
- package/out/auth/AuthService.d.ts.map +1 -0
- package/out/auth/AuthService.js +270 -0
- package/out/auth/AuthService.js.map +1 -0
- package/out/auth/CallbackServer.d.ts +15 -0
- package/out/auth/CallbackServer.d.ts.map +1 -0
- package/out/auth/CallbackServer.js +277 -0
- package/out/auth/CallbackServer.js.map +1 -0
- package/out/auth/TokenCache.d.ts +73 -0
- package/out/auth/TokenCache.d.ts.map +1 -0
- package/out/auth/TokenCache.js +174 -0
- package/out/auth/TokenCache.js.map +1 -0
- package/out/auth/index.d.ts +11 -0
- package/out/auth/index.d.ts.map +1 -0
- package/out/auth/index.js +13 -0
- package/out/auth/index.js.map +1 -0
- package/out/auth/types.d.ts +71 -0
- package/out/auth/types.d.ts.map +1 -0
- package/out/auth/types.js +15 -0
- package/out/auth/types.js.map +1 -0
- package/out/cli.d.ts.map +1 -1
- package/out/cli.js +97 -1
- package/out/cli.js.map +1 -1
- package/out/repl/ReplModeInk.d.ts.map +1 -1
- package/out/repl/ReplModeInk.js +109 -3
- package/out/repl/ReplModeInk.js.map +1 -1
- package/package.json +1 -1
- package/patches/ink-text-input+6.0.0.patch +176 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiFH,wBAAwB;AACxB,MAAM,OAAO,SAAU,SAAQ,KAAK;IAEzB;IAEA;IAHT,YACS,IAAmB,EAC1B,OAAe,EACR,KAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAe;QAEnB,UAAK,GAAL,KAAK,CAAQ;QAGpB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
package/out/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAmaH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvD"}
|
package/out/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ import { ConsoleOutput } from './outputs/ConsoleOutput.js';
|
|
|
15
15
|
import { ConsoleLogger } from './outputs/ConsoleLogger.js';
|
|
16
16
|
import { getTeamConfigDir, ensureTeamConfigDir, resolveTeamConfigPath, formatMissingConfigError, discoverTeamConfigs } from '@testany/agent-chatter-core';
|
|
17
17
|
import { colorize, sanitizeProxyUrl } from '@testany/agent-chatter-core';
|
|
18
|
+
import { AuthService, isValidRegion, AUTH_CONFIG, tokenCache, AuthError } from './auth/index.js';
|
|
18
19
|
/**
|
|
19
20
|
* Determine if debug mode is enabled
|
|
20
21
|
* Priority: CLI flag > environment variable > default (false)
|
|
@@ -125,10 +126,105 @@ program
|
|
|
125
126
|
.option('--registry <path>', 'Custom agent registry path (default: ~/.agent-chatter/agents/config.json)')
|
|
126
127
|
.option('--debug', 'Enable debug logging (also: AGENT_CHATTER_DEBUG=1)')
|
|
127
128
|
.option('--proxy <url>', 'HTTP/HTTPS proxy URL (overrides environment variables)')
|
|
129
|
+
.option('--login <region>', 'Login to HephOS cloud (cn|us)')
|
|
130
|
+
.option('--logout [region]', 'Logout from HephOS cloud (cn|us, or omit for active region)')
|
|
131
|
+
.option('--auth-status', 'Show authentication status')
|
|
128
132
|
.action(async () => {
|
|
129
|
-
// Start REPL mode when no subcommand is provided
|
|
130
133
|
const cliOptions = program.opts();
|
|
131
134
|
const debug = isDebugEnabled(cliOptions.debug);
|
|
135
|
+
// Handle --auth-status
|
|
136
|
+
if (cliOptions.authStatus) {
|
|
137
|
+
const activeRegion = tokenCache.getActiveRegion();
|
|
138
|
+
console.log(colorize('\n=== HephOS Authentication Status ===\n', 'bright'));
|
|
139
|
+
for (const region of ['cn', 'us']) {
|
|
140
|
+
const config = AUTH_CONFIG[region];
|
|
141
|
+
const isValid = tokenCache.isValid(region);
|
|
142
|
+
const userInfo = tokenCache.getUserInfo(region);
|
|
143
|
+
const isActive = activeRegion === region;
|
|
144
|
+
const status = isValid
|
|
145
|
+
? colorize('✓ Logged in', 'green')
|
|
146
|
+
: colorize('✗ Not logged in', 'dim');
|
|
147
|
+
const activeMarker = isActive ? colorize(' (active)', 'cyan') : '';
|
|
148
|
+
console.log(`${config.displayName}${activeMarker}`);
|
|
149
|
+
console.log(` Status: ${status}`);
|
|
150
|
+
if (userInfo) {
|
|
151
|
+
console.log(colorize(` Email: ${userInfo.email || 'N/A'}`, 'dim'));
|
|
152
|
+
console.log(colorize(` User ID: ${userInfo.sub}`, 'dim'));
|
|
153
|
+
}
|
|
154
|
+
console.log();
|
|
155
|
+
}
|
|
156
|
+
console.log(colorize(`Token cache: ${tokenCache.getCachePath()}`, 'dim'));
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
// Handle --login
|
|
160
|
+
if (cliOptions.login) {
|
|
161
|
+
const region = cliOptions.login.toLowerCase();
|
|
162
|
+
if (!isValidRegion(region)) {
|
|
163
|
+
console.error(colorize(`Error: Invalid region "${cliOptions.login}". Use 'cn' or 'us'.`, 'red'));
|
|
164
|
+
process.exitCode = 1;
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const config = AUTH_CONFIG[region];
|
|
168
|
+
console.log(colorize(`\n🔐 Opening browser for HephOS login (${config.displayName})...`, 'cyan'));
|
|
169
|
+
console.log(colorize(' Complete login in your browser to continue.\n', 'dim'));
|
|
170
|
+
try {
|
|
171
|
+
const authService = new AuthService(region);
|
|
172
|
+
const result = await authService.login();
|
|
173
|
+
console.log(colorize(`\n✓ Login successful!`, 'green'));
|
|
174
|
+
console.log(colorize(` Welcome, ${result.userInfo.email || result.userInfo.name || result.userInfo.sub}`, 'bright'));
|
|
175
|
+
console.log(colorize(` Token cached at: ${tokenCache.getCachePath()}`, 'dim'));
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
if (err instanceof AuthError) {
|
|
179
|
+
console.error(colorize(`\n✗ Login failed: ${err.message}`, 'red'));
|
|
180
|
+
if (err.code === 'AUTH_BROWSER_FAILED') {
|
|
181
|
+
// URL already printed by AuthService
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
console.error(colorize(`\n✗ Login failed: ${err instanceof Error ? err.message : String(err)}`, 'red'));
|
|
186
|
+
}
|
|
187
|
+
process.exitCode = 1;
|
|
188
|
+
}
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Handle --logout
|
|
192
|
+
if (cliOptions.logout !== undefined) {
|
|
193
|
+
let region;
|
|
194
|
+
if (typeof cliOptions.logout === 'string') {
|
|
195
|
+
const r = cliOptions.logout.toLowerCase();
|
|
196
|
+
if (!isValidRegion(r)) {
|
|
197
|
+
console.error(colorize(`Error: Invalid region "${cliOptions.logout}". Use 'cn' or 'us'.`, 'red'));
|
|
198
|
+
process.exitCode = 1;
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
region = r;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// No region specified - use active region
|
|
205
|
+
const active = tokenCache.getActiveRegion();
|
|
206
|
+
if (!active) {
|
|
207
|
+
console.log(colorize('No active session to logout from.', 'yellow'));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
region = active;
|
|
211
|
+
}
|
|
212
|
+
const config = AUTH_CONFIG[region];
|
|
213
|
+
console.log(colorize(`Logging out from ${config.displayName}...`, 'cyan'));
|
|
214
|
+
try {
|
|
215
|
+
const authService = new AuthService(region);
|
|
216
|
+
await authService.logout();
|
|
217
|
+
console.log(colorize('✓ Logged out successfully.', 'green'));
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
console.error(colorize(`Logout error: ${err instanceof Error ? err.message : String(err)}`, 'yellow'));
|
|
221
|
+
// Clear tokens anyway
|
|
222
|
+
tokenCache.clear(region);
|
|
223
|
+
console.log(colorize('Local tokens cleared.', 'dim'));
|
|
224
|
+
}
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
// Start REPL mode when no auth-related options
|
|
132
228
|
// Debug log with sanitized URL
|
|
133
229
|
if (cliOptions.proxy && debug) {
|
|
134
230
|
const sanitized = sanitizeProxyUrl(cliOptions.proxy);
|
package/out/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplModeInk.d.ts","sourceRoot":"","sources":["../../src/repl/ReplModeInk.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"ReplModeInk.d.ts","sourceRoot":"","sources":["../../src/repl/ReplModeInk.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAwkGH,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,QAMjF"}
|
package/out/repl/ReplModeInk.js
CHANGED
|
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
4
4
|
*/
|
|
5
5
|
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
6
6
|
import { render, Box, Text, useInput, useApp, Static, useStdout } from 'ink';
|
|
7
|
-
import TextInput from 'ink-text-input';
|
|
7
|
+
import TextInput, { getLineInfo } from 'ink-text-input';
|
|
8
8
|
import * as fs from 'fs';
|
|
9
9
|
import { watch } from 'fs';
|
|
10
10
|
import * as path from 'path';
|
|
@@ -27,6 +27,7 @@ import { QueueDisplay } from './components/QueueDisplay.js';
|
|
|
27
27
|
import { TipsBar } from './components/TipsBar.js';
|
|
28
28
|
import { HistoryOverlay } from './components/HistoryOverlay.js';
|
|
29
29
|
import { useHistory } from './hooks/useHistory.js';
|
|
30
|
+
import { AuthService, isValidRegion, AUTH_CONFIG, tokenCache, AuthError } from '../auth/index.js';
|
|
30
31
|
// Read version from package.json
|
|
31
32
|
const __filename = fileURLToPath(import.meta.url);
|
|
32
33
|
const __dirname = path.dirname(__filename);
|
|
@@ -38,11 +39,18 @@ const commands = [
|
|
|
38
39
|
{ name: '/status', desc: 'Check installed AI CLI tools' },
|
|
39
40
|
{ name: '/agents', desc: 'Manage registered AI agents' },
|
|
40
41
|
{ name: '/team', desc: 'Manage team configurations' },
|
|
42
|
+
{ name: '/login', desc: 'Login to HephOS cloud' },
|
|
41
43
|
{ name: '/tips', desc: 'Toggle syntax tips in conversation mode' },
|
|
42
44
|
{ name: '/clear', desc: 'Clear the screen' },
|
|
43
45
|
{ name: '/exit', desc: 'Exit the application' },
|
|
44
46
|
{ name: '/quit', desc: 'Same as /exit' },
|
|
45
47
|
];
|
|
48
|
+
const loginCommands = [
|
|
49
|
+
{ name: '/login cn', desc: 'Login to China Region' },
|
|
50
|
+
{ name: '/login us', desc: 'Login to International Region' },
|
|
51
|
+
{ name: '/login status', desc: 'Show authentication status' },
|
|
52
|
+
{ name: '/login logout', desc: 'Logout from current region' },
|
|
53
|
+
];
|
|
46
54
|
const teamCommands = [
|
|
47
55
|
{ name: '/team create', desc: 'Create a new team configuration' },
|
|
48
56
|
{ name: '/team list', desc: 'List all team configurations' },
|
|
@@ -60,7 +68,11 @@ const agentsCommands = [
|
|
|
60
68
|
];
|
|
61
69
|
// 欢迎界面组件
|
|
62
70
|
function WelcomeScreen() {
|
|
63
|
-
|
|
71
|
+
// Check login status
|
|
72
|
+
const activeRegion = tokenCache.getActiveRegion();
|
|
73
|
+
const userInfo = activeRegion ? tokenCache.getUserInfo(activeRegion) : null;
|
|
74
|
+
const isLoggedIn = activeRegion && tokenCache.isValid(activeRegion);
|
|
75
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 0, flexDirection: "column", children: [_jsx(Logo, {}), _jsx(Text, { dimColor: true, children: "Multi-AI Conversation Orchestrator" }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: " CLI version " }), _jsx(Text, { color: "white", children: VERSION })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: " Core version " }), _jsx(Text, { color: "white", children: CORE_VERSION })] }), isLoggedIn && userInfo && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: " Logged in " }), _jsxs(Text, { color: "green", children: ["HephOS ", activeRegion.toUpperCase()] }), _jsx(Text, { dimColor: true, children: " as " }), _jsx(Text, { color: "white", children: userInfo.email || userInfo.name || 'unknown' })] }))] }), _jsxs(Text, { dimColor: true, children: [" built by ", _jsx(Text, { color: "cyan", children: "TestAny.io" })] }), _jsxs(Text, { dimColor: true, children: [" Type ", _jsx(Text, { color: "green", children: "/login" }), " to login"] }), _jsxs(Text, { dimColor: true, children: [" Type ", _jsx(Text, { color: "green", children: "/help" }), " for available commands"] }), _jsxs(Text, { dimColor: true, children: [" Type ", _jsx(Text, { color: "green", children: "/exit" }), " to quit"] })] }));
|
|
64
76
|
}
|
|
65
77
|
// 更新通知组件
|
|
66
78
|
function UpdateNotification({ versionInfo }) {
|
|
@@ -217,6 +229,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
217
229
|
const { stdout } = useStdout();
|
|
218
230
|
const terminalWidth = stdout?.columns || 80;
|
|
219
231
|
const [input, setInput] = useState('');
|
|
232
|
+
const [cursorOffset, setCursorOffset] = useState(0);
|
|
220
233
|
// Initialize output with WelcomeScreen as first item - it will be rendered once via Static
|
|
221
234
|
const [output, setOutput] = useState([_jsx(WelcomeScreen, {}, "welcome")]);
|
|
222
235
|
const [currentConfig, setCurrentConfig] = useState(null);
|
|
@@ -726,6 +739,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
726
739
|
const result = history.searchBackward();
|
|
727
740
|
if (result !== null) {
|
|
728
741
|
setInput(result);
|
|
742
|
+
setCursorOffset(result.length);
|
|
729
743
|
}
|
|
730
744
|
}
|
|
731
745
|
else {
|
|
@@ -741,6 +755,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
741
755
|
const result = history.searchForward();
|
|
742
756
|
if (result !== null) {
|
|
743
757
|
setInput(result);
|
|
758
|
+
setCursorOffset(result.length);
|
|
744
759
|
}
|
|
745
760
|
return;
|
|
746
761
|
}
|
|
@@ -754,6 +769,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
754
769
|
const result = history.searchBackward();
|
|
755
770
|
if (result !== null) {
|
|
756
771
|
setInput(result);
|
|
772
|
+
setCursorOffset(result.length);
|
|
757
773
|
}
|
|
758
774
|
return;
|
|
759
775
|
}
|
|
@@ -761,6 +777,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
761
777
|
const historyEntry = history.navigateUp(input, historyMode);
|
|
762
778
|
if (historyEntry !== null) {
|
|
763
779
|
setInput(historyEntry);
|
|
780
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
764
781
|
}
|
|
765
782
|
return;
|
|
766
783
|
}
|
|
@@ -774,6 +791,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
774
791
|
const result = history.searchForward();
|
|
775
792
|
if (result !== null) {
|
|
776
793
|
setInput(result);
|
|
794
|
+
setCursorOffset(result.length);
|
|
777
795
|
}
|
|
778
796
|
return;
|
|
779
797
|
}
|
|
@@ -781,6 +799,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
781
799
|
const historyEntry = history.navigateDown(historyMode);
|
|
782
800
|
if (historyEntry !== null) {
|
|
783
801
|
setInput(historyEntry);
|
|
802
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
784
803
|
}
|
|
785
804
|
return;
|
|
786
805
|
}
|
|
@@ -882,6 +901,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
882
901
|
const historyEntry = history.jumpUp(input, historyMode);
|
|
883
902
|
if (historyEntry !== null) {
|
|
884
903
|
setInput(historyEntry);
|
|
904
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
885
905
|
}
|
|
886
906
|
return;
|
|
887
907
|
}
|
|
@@ -894,17 +914,24 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
894
914
|
const historyEntry = history.jumpDown(historyMode);
|
|
895
915
|
if (historyEntry !== null) {
|
|
896
916
|
setInput(historyEntry);
|
|
917
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
897
918
|
}
|
|
898
919
|
return;
|
|
899
920
|
}
|
|
900
921
|
}
|
|
901
922
|
// 处理不同模式下的上下键导航
|
|
902
923
|
if (key.upArrow) {
|
|
924
|
+
// Multi-line input: if cursor is not on first line, let TextInput handle it
|
|
925
|
+
const lineInfo = getLineInfo(input, cursorOffset);
|
|
926
|
+
if (!lineInfo.isFirstLine) {
|
|
927
|
+
return; // Let TextInput handle line navigation
|
|
928
|
+
}
|
|
903
929
|
// Search mode takes priority - navigate search results
|
|
904
930
|
if (history.searchMode) {
|
|
905
931
|
const result = history.searchBackward();
|
|
906
932
|
if (result !== null) {
|
|
907
933
|
setInput(result);
|
|
934
|
+
setCursorOffset(result.length);
|
|
908
935
|
}
|
|
909
936
|
return;
|
|
910
937
|
}
|
|
@@ -914,6 +941,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
914
941
|
const historyEntry = history.navigateUp(input, 'normal');
|
|
915
942
|
if (historyEntry !== null) {
|
|
916
943
|
setInput(historyEntry);
|
|
944
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
917
945
|
}
|
|
918
946
|
return;
|
|
919
947
|
}
|
|
@@ -928,6 +956,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
928
956
|
const historyEntry = history.navigateUp(input, 'normal');
|
|
929
957
|
if (historyEntry !== null) {
|
|
930
958
|
setInput(historyEntry);
|
|
959
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
931
960
|
}
|
|
932
961
|
return;
|
|
933
962
|
}
|
|
@@ -936,6 +965,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
936
965
|
const historyEntry = history.navigateUp(input, 'conversation');
|
|
937
966
|
if (historyEntry !== null) {
|
|
938
967
|
setInput(historyEntry);
|
|
968
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
939
969
|
}
|
|
940
970
|
return;
|
|
941
971
|
}
|
|
@@ -949,11 +979,17 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
949
979
|
}
|
|
950
980
|
}
|
|
951
981
|
if (key.downArrow) {
|
|
982
|
+
// Multi-line input: if cursor is not on last line, let TextInput handle it
|
|
983
|
+
const lineInfo = getLineInfo(input, cursorOffset);
|
|
984
|
+
if (!lineInfo.isLastLine) {
|
|
985
|
+
return; // Let TextInput handle line navigation
|
|
986
|
+
}
|
|
952
987
|
// Search mode takes priority - navigate search results
|
|
953
988
|
if (history.searchMode) {
|
|
954
989
|
const result = history.searchForward();
|
|
955
990
|
if (result !== null) {
|
|
956
991
|
setInput(result);
|
|
992
|
+
setCursorOffset(result.length);
|
|
957
993
|
}
|
|
958
994
|
return;
|
|
959
995
|
}
|
|
@@ -963,6 +999,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
963
999
|
const historyEntry = history.navigateDown('normal');
|
|
964
1000
|
if (historyEntry !== null) {
|
|
965
1001
|
setInput(historyEntry);
|
|
1002
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
966
1003
|
}
|
|
967
1004
|
return;
|
|
968
1005
|
}
|
|
@@ -983,6 +1020,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
983
1020
|
const historyEntry = history.navigateDown('conversation');
|
|
984
1021
|
if (historyEntry !== null) {
|
|
985
1022
|
setInput(historyEntry);
|
|
1023
|
+
setCursorOffset(historyEntry.length); // Reset cursor to end
|
|
986
1024
|
}
|
|
987
1025
|
}
|
|
988
1026
|
return;
|
|
@@ -1139,6 +1177,9 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
1139
1177
|
case '/agents':
|
|
1140
1178
|
handleAgentsCommand(args);
|
|
1141
1179
|
break;
|
|
1180
|
+
case '/login':
|
|
1181
|
+
await handleLoginCommand(args);
|
|
1182
|
+
break;
|
|
1142
1183
|
case '/tips':
|
|
1143
1184
|
if (args[0] === 'off') {
|
|
1144
1185
|
setShowTips(false);
|
|
@@ -1202,6 +1243,71 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
1202
1243
|
}
|
|
1203
1244
|
}
|
|
1204
1245
|
};
|
|
1246
|
+
// Handle /login command
|
|
1247
|
+
const handleLoginCommand = async (args) => {
|
|
1248
|
+
if (args.length === 0) {
|
|
1249
|
+
// Show login help/region selection
|
|
1250
|
+
appendOutput(_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: "Login to HephOS Cloud" }), _jsx(Text, { dimColor: true, children: "Usage: /login <region> | /login status | /login logout" }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Available regions:" }), _jsxs(Text, { children: [" cn - ", AUTH_CONFIG.cn.displayName] }), _jsxs(Text, { children: [" us - ", AUTH_CONFIG.us.displayName] }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Commands:" }), _jsx(Text, { children: " /login cn - Login to CN region" }), _jsx(Text, { children: " /login us - Login to US region" }), _jsx(Text, { children: " /login status - Show authentication status" }), _jsx(Text, { children: " /login logout - Logout from current region" })] }, `login-help-${getNextKey()}`));
|
|
1251
|
+
return;
|
|
1252
|
+
}
|
|
1253
|
+
const subcommand = args[0].toLowerCase();
|
|
1254
|
+
if (subcommand === 'status') {
|
|
1255
|
+
// Show auth status
|
|
1256
|
+
const activeRegion = tokenCache.getActiveRegion();
|
|
1257
|
+
appendOutput(_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: "HephOS Authentication Status" }), _jsx(Text, { children: " " }), ['cn', 'us'].map(region => {
|
|
1258
|
+
const config = AUTH_CONFIG[region];
|
|
1259
|
+
const isValid = tokenCache.isValid(region);
|
|
1260
|
+
const userInfo = tokenCache.getUserInfo(region);
|
|
1261
|
+
const isActive = activeRegion === region;
|
|
1262
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { children: [config.displayName, isActive && _jsx(Text, { color: "cyan", children: " (active)" })] }), _jsxs(Text, { children: [' Status: ', isValid
|
|
1263
|
+
? _jsx(Text, { color: "green", children: "\u2713 Logged in" })
|
|
1264
|
+
: _jsx(Text, { dimColor: true, children: "\u2717 Not logged in" })] }), userInfo && (_jsxs(_Fragment, { children: [_jsxs(Text, { dimColor: true, children: [" Email: ", userInfo.email || 'N/A'] }), _jsxs(Text, { dimColor: true, children: [" User ID: ", userInfo.sub] })] }))] }, region));
|
|
1265
|
+
}), _jsxs(Text, { dimColor: true, children: ["Token cache: ", tokenCache.getCachePath()] })] }, `auth-status-${getNextKey()}`));
|
|
1266
|
+
return;
|
|
1267
|
+
}
|
|
1268
|
+
if (subcommand === 'logout') {
|
|
1269
|
+
const region = args[1]?.toLowerCase();
|
|
1270
|
+
const targetRegion = region && isValidRegion(region) ? region : tokenCache.getActiveRegion();
|
|
1271
|
+
if (!targetRegion) {
|
|
1272
|
+
appendOutput(_jsx(Text, { color: "yellow", children: "No active session to logout from." }, `logout-none-${getNextKey()}`));
|
|
1273
|
+
return;
|
|
1274
|
+
}
|
|
1275
|
+
const config = AUTH_CONFIG[targetRegion];
|
|
1276
|
+
appendOutput(_jsxs(Text, { dimColor: true, children: ["Logging out from ", config.displayName, "..."] }, `logout-msg-${getNextKey()}`));
|
|
1277
|
+
try {
|
|
1278
|
+
const authService = new AuthService(targetRegion);
|
|
1279
|
+
await authService.logout();
|
|
1280
|
+
appendOutput(_jsx(Text, { color: "green", children: "\u2713 Logged out successfully." }, `logout-ok-${getNextKey()}`));
|
|
1281
|
+
}
|
|
1282
|
+
catch (err) {
|
|
1283
|
+
tokenCache.clear(targetRegion);
|
|
1284
|
+
appendOutput(_jsx(Text, { color: "yellow", children: "Local tokens cleared." }, `logout-warn-${getNextKey()}`));
|
|
1285
|
+
}
|
|
1286
|
+
return;
|
|
1287
|
+
}
|
|
1288
|
+
// Login to a region
|
|
1289
|
+
if (!isValidRegion(subcommand)) {
|
|
1290
|
+
appendOutput(_jsxs(Text, { color: "red", children: ["Invalid region \"", subcommand, "\". Use 'cn' or 'us'."] }, `login-invalid-${getNextKey()}`));
|
|
1291
|
+
return;
|
|
1292
|
+
}
|
|
1293
|
+
const region = subcommand;
|
|
1294
|
+
const config = AUTH_CONFIG[region];
|
|
1295
|
+
appendOutput(_jsxs(Text, { color: "cyan", children: ["\uD83D\uDD10 Opening browser for HephOS login (", config.displayName, ")..."] }, `login-start-${getNextKey()}`));
|
|
1296
|
+
appendOutput(_jsx(Text, { dimColor: true, children: " Complete login in your browser to continue." }, `login-hint-${getNextKey()}`));
|
|
1297
|
+
try {
|
|
1298
|
+
const authService = new AuthService(region);
|
|
1299
|
+
const result = await authService.login();
|
|
1300
|
+
appendOutput(_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "green", children: "\u2713 Login successful!" }), _jsxs(Text, { bold: true, children: [" Welcome, ", result.userInfo.email || result.userInfo.name || result.userInfo.sub] }), _jsxs(Text, { dimColor: true, children: [" Token cached at: ", tokenCache.getCachePath()] })] }, `login-success-${getNextKey()}`));
|
|
1301
|
+
}
|
|
1302
|
+
catch (err) {
|
|
1303
|
+
if (err instanceof AuthError) {
|
|
1304
|
+
appendOutput(_jsxs(Text, { color: "red", children: ["\u2717 Login failed: ", err.message] }, `login-error-${getNextKey()}`));
|
|
1305
|
+
}
|
|
1306
|
+
else {
|
|
1307
|
+
appendOutput(_jsxs(Text, { color: "red", children: ["\u2717 Login failed: ", err instanceof Error ? err.message : String(err)] }, `login-error-${getNextKey()}`));
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
};
|
|
1205
1311
|
const handleTeamCommand = (args) => {
|
|
1206
1312
|
if (args.length === 0) {
|
|
1207
1313
|
appendOutput(_jsx(TeamMenuHelp, {}, `team-help-${getNextKey()}`));
|
|
@@ -1872,7 +1978,7 @@ function App({ registryPath, debug = false, proxyUrl }) {
|
|
|
1872
1978
|
history.exitHistory();
|
|
1873
1979
|
}
|
|
1874
1980
|
setInput(val);
|
|
1875
|
-
}, onSubmit: handleInputSubmit, placeholder: " " })] }), _jsx(Text, { color: mode === 'conversation' ? 'green' : 'cyan', dimColor: true, children: '─'.repeat(terminalWidth - 4) })] })), !isExiting && (mode === 'normal' || mode === 'conversation') && (history.isActive || history.searchMode) && (_jsx(HistoryOverlay, { visible: true, entries: history.entries, currentIndex: history.currentIndex, activeMode: history.activeMode, searchMode: history.searchMode, searchQuery: history.searchQuery, terminalWidth: terminalWidth })), !isExiting && mode === 'normal' && !history.isActive && !history.searchMode && _jsx(CommandHints, { input: input, selectedIndex: selectedIndex }), !isExiting && mode === 'conversation' && !history.isActive && !history.searchMode && (_jsx(TipsBar, { visible: showTips, terminalWidth: terminalWidth }))] }));
|
|
1981
|
+
}, onSubmit: handleInputSubmit, onCursorChange: setCursorOffset, placeholder: " " })] }), _jsx(Text, { color: mode === 'conversation' ? 'green' : 'cyan', dimColor: true, children: '─'.repeat(terminalWidth - 4) })] })), !isExiting && (mode === 'normal' || mode === 'conversation') && (history.isActive || history.searchMode) && (_jsx(HistoryOverlay, { visible: true, entries: history.entries, currentIndex: history.currentIndex, activeMode: history.activeMode, searchMode: history.searchMode, searchQuery: history.searchQuery, terminalWidth: terminalWidth })), !isExiting && mode === 'normal' && !history.isActive && !history.searchMode && _jsx(CommandHints, { input: input, selectedIndex: selectedIndex }), !isExiting && mode === 'conversation' && !history.isActive && !history.searchMode && (_jsx(TipsBar, { visible: showTips, terminalWidth: terminalWidth }))] }));
|
|
1876
1982
|
}
|
|
1877
1983
|
export function startReplInk(registryPath, options = {}) {
|
|
1878
1984
|
render(_jsx(App, { registryPath: registryPath, debug: options.debug, proxyUrl: options.proxyUrl }), {
|