@@ -4,26 +4,29 @@ import (
44 "encoding/json"
55 "fmt"
66 "net/http"
7+ "strings"
78
89 gcontext "github.com/gptscript-ai/gptscript/pkg/context"
910 "github.com/gptscript-ai/gptscript/pkg/loader"
1011)
1112
1213type workspaceCommonRequest struct {
13- ID string `json:"id"`
14- WorkspaceToolRepo string `json:"workspaceToolRepo "`
14+ ID string `json:"id"`
15+ WorkspaceTool string `json:"workspaceTool "`
1516}
1617
1718func (w workspaceCommonRequest ) getToolRepo () string {
18- if w .WorkspaceToolRepo != "" {
19- return w .WorkspaceToolRepo
19+ if w .WorkspaceTool != "" {
20+ return w .WorkspaceTool
2021 }
2122 return "github.com/gptscript-ai/workspace-provider"
2223}
2324
2425type createWorkspaceRequest struct {
2526 workspaceCommonRequest `json:",inline"`
26- ProviderType string `json:"providerType"`
27+ ProviderType string `json:"providerType"`
28+ DirectoryDataHome string `json:"directoryDataHome"`
29+ FromWorkspaceIDs []string `json:"fromWorkspaceIDs"`
2730}
2831
2932func (s * server ) createWorkspace (w http.ResponseWriter , r * http.Request ) {
@@ -49,8 +52,8 @@ func (s *server) createWorkspace(w http.ResponseWriter, r *http.Request) {
4952 prg ,
5053 s .gptscriptOpts .Env ,
5154 fmt .Sprintf (
52- `{"provider": "%s"}` ,
53- reqObject .ProviderType ,
55+ `{"provider": "%s", "data_home": "%s", "workspace_ids": "%s" }` ,
56+ reqObject .ProviderType , reqObject . DirectoryDataHome , strings . Join ( reqObject . FromWorkspaceIDs , "," ),
5457 ),
5558 )
5659 if err != nil {
0 commit comments