@@ -49,21 +49,19 @@ func NewGPTScript(opts GlobalOptions) (GPTScript, error) {
49
49
defer lock .Unlock ()
50
50
gptscriptCount ++
51
51
52
- disableServer := os .Getenv ("GPT_SCRIPT_DISABLE_SERVER" ) == "true"
53
-
54
- if serverURL == "" && disableServer {
52
+ if serverURL == "" {
55
53
serverURL = os .Getenv ("GPTSCRIPT_URL" )
56
54
}
57
55
58
- if serverProcessCancel == nil && ! disableServer {
56
+ if serverProcessCancel == nil && os . Getenv ( "GPTSCRIPT_DISABLE_SERVER" ) != "true" {
59
57
if serverURL == "" {
60
58
l , err := net .Listen ("tcp" , "127.0.0.1:0" )
61
59
if err != nil {
62
60
slog .Debug ("failed to start gptscript listener" , "err" , err )
63
61
return nil , fmt .Errorf ("failed to start gptscript: %w" , err )
64
62
}
65
63
66
- serverURL = l .Addr ().String ()
64
+ serverURL = strings . Replace ( l .Addr ().String (), "127.0.0.1" , "localhost" , 1 )
67
65
if err = l .Close (); err != nil {
68
66
slog .Debug ("failed to close gptscript listener" , "err" , err )
69
67
return nil , fmt .Errorf ("failed to start gptscript: %w" , err )
@@ -74,12 +72,14 @@ func NewGPTScript(opts GlobalOptions) (GPTScript, error) {
74
72
75
73
in , _ := io .Pipe ()
76
74
serverProcess = exec .CommandContext (ctx , getCommand (), "--listen-address" , serverURL , "sdkserver" )
75
+ serverProcess .Stdout = os .Stdout
76
+ serverProcess .Stderr = os .Stderr
77
77
serverProcess .Env = append (os .Environ (), opts .toEnv ()... )
78
78
serverProcess .Stdin = in
79
79
80
80
serverProcessCancel = func () {
81
- cancel ()
82
81
_ = in .Close ()
82
+ cancel ()
83
83
}
84
84
85
85
if err := serverProcess .Start (); err != nil {
@@ -102,13 +102,15 @@ func waitForServerReady(ctx context.Context, serverURL string) error {
102
102
for {
103
103
resp , err := http .Get ("http://" + serverURL + "/healthz" )
104
104
if err != nil {
105
- slog .DebugContext (ctx , "waiting for server to become ready" )
105
+ slog .InfoContext (ctx , "waiting for server to become ready" , "err" , err )
106
106
} else {
107
107
_ = resp .Body .Close ()
108
108
109
109
if resp .StatusCode == http .StatusOK {
110
110
return nil
111
111
}
112
+
113
+ slog .InfoContext (ctx , "waiting for server to become ready" , "status" , resp .StatusCode )
112
114
}
113
115
114
116
select {
0 commit comments