11import { SkyChatClient } from 'skychat' ;
22import { getOptions } from './options.js' ;
33import { SkyChatCLI } from './render/SkyChatCLI.js' ;
4- import { connect , getEndPointUrl } from './skychat.js' ;
54import { loadToken } from './token.js' ;
65import { SkyChatOption , SkyChatOptions } from './types.js' ;
76
7+ export function getEndPointUrl ( protocol : string , host : string ) : string {
8+ return `${ protocol } ://${ host } /ws` ;
9+ }
10+
811export async function main ( ) {
912 const options = getOptions ( ) ;
1013
@@ -21,25 +24,24 @@ export async function main() {
2124}
2225
2326async function autoConnect ( client : SkyChatClient , options : SkyChatOptions ) {
27+ // Wait for the client to connect
28+ await new Promise < void > ( ( resolve ) => {
29+ client . connect ( ) ;
30+ client . once ( 'update' , resolve ) ;
31+ } ) ;
32+
2433 if ( options [ SkyChatOption . User ] && options [ SkyChatOption . Password ] ) {
25- await connect ( client , {
26- mode : 'credentials' ,
27- user : options [ SkyChatOption . User ] ,
28- password : options [ SkyChatOption . Password ] ,
29- } ) ;
34+ client . login ( options [ SkyChatOption . User ] , options [ SkyChatOption . Password ] ) ;
3035 return ;
3136 }
3237
3338 const token = await loadToken ( ) ;
3439 if ( token ) {
35- await connect ( client , {
36- mode : 'token' ,
40+ client . authenticate ( {
3741 token,
3842 } ) ;
3943 return ;
4044 }
4145
42- await connect ( client , {
43- mode : 'guest' ,
44- } ) ;
46+ client . authAsGuest ( ) ;
4547}
0 commit comments