4
4
"encoding/json"
5
5
"fmt"
6
6
"net/http"
7
+ "strings"
7
8
8
9
gcontext "github.com/gptscript-ai/gptscript/pkg/context"
9
10
"github.com/gptscript-ai/gptscript/pkg/gptscript"
@@ -39,6 +40,12 @@ func (r datasetRequest) opts(o gptscript.Options) gptscript.Options {
39
40
Monitor : o .Monitor ,
40
41
Runner : o .Runner ,
41
42
}
43
+ for _ , e := range r .Env {
44
+ v , ok := strings .CutPrefix (e , "GPTSCRIPT_WORKSPACE_ID=" )
45
+ if ok {
46
+ opts .Workspace = v
47
+ }
48
+ }
42
49
return opts
43
50
}
44
51
@@ -61,6 +68,7 @@ func (s *server) listDatasets(w http.ResponseWriter, r *http.Request) {
61
68
writeError (logger , w , http .StatusInternalServerError , fmt .Errorf ("failed to initialize gptscript: %w" , err ))
62
69
return
63
70
}
71
+ defer g .Close (false )
64
72
65
73
prg , err := loader .Program (r .Context (), s .getDatasetTool (req ), "List Datasets" , loader.Options {
66
74
Cache : g .Cache ,
@@ -118,6 +126,7 @@ func (s *server) addDatasetElements(w http.ResponseWriter, r *http.Request) {
118
126
writeError (logger , w , http .StatusInternalServerError , fmt .Errorf ("failed to initialize gptscript: %w" , err ))
119
127
return
120
128
}
129
+ defer g .Close (false )
121
130
122
131
var args addDatasetElementsArgs
123
132
if err := json .Unmarshal ([]byte (req .Input ), & args ); err != nil {
@@ -177,6 +186,7 @@ func (s *server) listDatasetElements(w http.ResponseWriter, r *http.Request) {
177
186
writeError (logger , w , http .StatusInternalServerError , fmt .Errorf ("failed to initialize gptscript: %w" , err ))
178
187
return
179
188
}
189
+ defer g .Close (false )
180
190
181
191
var args listDatasetElementsArgs
182
192
if err := json .Unmarshal ([]byte (req .Input ), & args ); err != nil {
@@ -239,6 +249,7 @@ func (s *server) getDatasetElement(w http.ResponseWriter, r *http.Request) {
239
249
writeError (logger , w , http .StatusInternalServerError , fmt .Errorf ("failed to initialize gptscript: %w" , err ))
240
250
return
241
251
}
252
+ defer g .Close (false )
242
253
243
254
var args getDatasetElementArgs
244
255
if err := json .Unmarshal ([]byte (req .Input ), & args ); err != nil {
0 commit comments