11import prompts from "prompts"
22import { getConfigStore } from "./get-config-store"
3+ import { randomBytes } from "node:crypto"
4+ import { getServer } from "./get-server"
35
46export async function interactForServerSelection ( ) {
5- const servers = [ "http://localhost:3020" , "https://connect.getseam.com" ]
7+ const servers = [
8+ "http://localhost:3020" ,
9+ "https://connect.getseam.com" ,
10+ "https://fakeseamconnect.seam.vc" ,
11+ ]
612
713 const { server } = await prompts ( [
814 {
@@ -14,7 +20,25 @@ export async function interactForServerSelection() {
1420 ] )
1521
1622 const config = getConfigStore ( )
17- config . set ( "server" , server )
23+ if ( server === servers [ 2 ] ) {
24+ let { userUrlSeed } = await prompts ( [
25+ {
26+ type : "text" ,
27+ name : "userUrlSeed" ,
28+ message :
29+ "You can input a custom server URL or leave this field empty to use a new fakeserver." ,
30+ } ,
31+ ] )
32+
33+ if ( userUrlSeed . trim ( ) . length === 0 ) {
34+ userUrlSeed = randomBytes ( 5 ) . toString ( "hex" )
35+ }
36+ config . set ( "server" , `https://${ userUrlSeed } .fakeseamconnect.seam.vc` )
37+ config . set ( `${ getServer ( ) } .pat` , `seam_apikey1_token` )
38+ console . log ( `PAT set to use fakeseamconnect with "seam_apikey1_token"` )
39+ } else {
40+ config . set ( "server" , server )
41+ }
1842 config . delete ( "current_workspace_id" )
1943 console . log ( `Server set to ${ server } ` )
2044}
0 commit comments