@@ -30,9 +30,10 @@ type Dataset struct {
3030}
3131
3232type  datasetRequest  struct  {
33- 	Input            string  `json:"input"` 
34- 	Workspace        string  `json:"workspace"` 
35- 	DatasetToolRepo  string  `json:"datasetToolRepo"` 
33+ 	Input            string    `json:"input"` 
34+ 	WorkspaceID      string    `json:"workspaceID"` 
35+ 	DatasetToolRepo  string    `json:"datasetToolRepo"` 
36+ 	Env              []string  `json:"env"` 
3637}
3738
3839type  createDatasetArgs  struct  {
@@ -47,6 +48,11 @@ type addDatasetElementArgs struct {
4748	ElementContent      string  `json:"elementContent"` 
4849}
4950
51+ type  addDatasetElementsArgs  struct  {
52+ 	DatasetID  string            `json:"datasetID"` 
53+ 	Elements   []DatasetElement  `json:"elements"` 
54+ }
55+ 
5056type  listDatasetElementArgs  struct  {
5157	DatasetID  string  `json:"datasetID"` 
5258}
@@ -56,15 +62,16 @@ type getDatasetElementArgs struct {
5662	Element    string  `json:"element"` 
5763}
5864
59- func  (g  * GPTScript ) ListDatasets (ctx  context.Context , workspace  string ) ([]DatasetMeta , error ) {
60- 	if  workspace  ==  ""  {
61- 		workspace  =  os .Getenv ("GPTSCRIPT_WORKSPACE_DIR " )
65+ func  (g  * GPTScript ) ListDatasets (ctx  context.Context , workspaceID  string ) ([]DatasetMeta , error ) {
66+ 	if  workspaceID  ==  ""  {
67+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID " )
6268	}
6369
6470	out , err  :=  g .runBasicCommand (ctx , "datasets" , datasetRequest {
6571		Input :           "{}" ,
66- 		Workspace :        workspace ,
72+ 		WorkspaceID :     workspaceID ,
6773		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
74+ 		Env :             g .globalOpts .Env ,
6875	})
6976	if  err  !=  nil  {
7077		return  nil , err 
@@ -77,9 +84,9 @@ func (g *GPTScript) ListDatasets(ctx context.Context, workspace string) ([]Datas
7784	return  datasets , nil 
7885}
7986
80- func  (g  * GPTScript ) CreateDataset (ctx  context.Context , workspace , name , description  string ) (Dataset , error ) {
81- 	if  workspace  ==  ""  {
82- 		workspace  =  os .Getenv ("GPTSCRIPT_WORKSPACE_DIR " )
87+ func  (g  * GPTScript ) CreateDataset (ctx  context.Context , workspaceID , name , description  string ) (Dataset , error ) {
88+ 	if  workspaceID  ==  ""  {
89+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID " )
8390	}
8491
8592	args  :=  createDatasetArgs {
@@ -93,8 +100,9 @@ func (g *GPTScript) CreateDataset(ctx context.Context, workspace, name, descript
93100
94101	out , err  :=  g .runBasicCommand (ctx , "datasets/create" , datasetRequest {
95102		Input :           string (argsJSON ),
96- 		Workspace :        workspace ,
103+ 		WorkspaceID :     workspaceID ,
97104		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
105+ 		Env :             g .globalOpts .Env ,
98106	})
99107	if  err  !=  nil  {
100108		return  Dataset {}, err 
@@ -107,9 +115,9 @@ func (g *GPTScript) CreateDataset(ctx context.Context, workspace, name, descript
107115	return  dataset , nil 
108116}
109117
110- func  (g  * GPTScript ) AddDatasetElement (ctx  context.Context , workspace , datasetID , elementName , elementDescription , elementContent  string ) (DatasetElementMeta , error ) {
111- 	if  workspace  ==  ""  {
112- 		workspace  =  os .Getenv ("GPTSCRIPT_WORKSPACE_DIR " )
118+ func  (g  * GPTScript ) AddDatasetElement (ctx  context.Context , workspaceID , datasetID , elementName , elementDescription , elementContent  string ) (DatasetElementMeta , error ) {
119+ 	if  workspaceID  ==  ""  {
120+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID " )
113121	}
114122
115123	args  :=  addDatasetElementArgs {
@@ -125,8 +133,9 @@ func (g *GPTScript) AddDatasetElement(ctx context.Context, workspace, datasetID,
125133
126134	out , err  :=  g .runBasicCommand (ctx , "datasets/add-element" , datasetRequest {
127135		Input :           string (argsJSON ),
128- 		Workspace :        workspace ,
136+ 		WorkspaceID :     workspaceID ,
129137		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
138+ 		Env :             g .globalOpts .Env ,
130139	})
131140	if  err  !=  nil  {
132141		return  DatasetElementMeta {}, err 
@@ -139,9 +148,32 @@ func (g *GPTScript) AddDatasetElement(ctx context.Context, workspace, datasetID,
139148	return  element , nil 
140149}
141150
142- func  (g  * GPTScript ) ListDatasetElements (ctx  context.Context , workspace , datasetID  string ) ([]DatasetElementMeta , error ) {
143- 	if  workspace  ==  ""  {
144- 		workspace  =  os .Getenv ("GPTSCRIPT_WORKSPACE_DIR" )
151+ func  (g  * GPTScript ) AddDatasetElements (ctx  context.Context , workspaceID , datasetID  string , elements  []DatasetElement ) error  {
152+ 	if  workspaceID  ==  ""  {
153+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID" )
154+ 	}
155+ 
156+ 	args  :=  addDatasetElementsArgs {
157+ 		DatasetID : datasetID ,
158+ 		Elements :  elements ,
159+ 	}
160+ 	argsJSON , err  :=  json .Marshal (args )
161+ 	if  err  !=  nil  {
162+ 		return  fmt .Errorf ("failed to marshal element args: %w" , err )
163+ 	}
164+ 
165+ 	_ , err  =  g .runBasicCommand (ctx , "datasets/add-elements" , datasetRequest {
166+ 		Input :           string (argsJSON ),
167+ 		WorkspaceID :     workspaceID ,
168+ 		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
169+ 		Env :             g .globalOpts .Env ,
170+ 	})
171+ 	return  err 
172+ }
173+ 
174+ func  (g  * GPTScript ) ListDatasetElements (ctx  context.Context , workspaceID , datasetID  string ) ([]DatasetElementMeta , error ) {
175+ 	if  workspaceID  ==  ""  {
176+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID" )
145177	}
146178
147179	args  :=  listDatasetElementArgs {
@@ -154,8 +186,9 @@ func (g *GPTScript) ListDatasetElements(ctx context.Context, workspace, datasetI
154186
155187	out , err  :=  g .runBasicCommand (ctx , "datasets/list-elements" , datasetRequest {
156188		Input :           string (argsJSON ),
157- 		Workspace :        workspace ,
189+ 		WorkspaceID :     workspaceID ,
158190		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
191+ 		Env :             g .globalOpts .Env ,
159192	})
160193	if  err  !=  nil  {
161194		return  nil , err 
@@ -168,9 +201,9 @@ func (g *GPTScript) ListDatasetElements(ctx context.Context, workspace, datasetI
168201	return  elements , nil 
169202}
170203
171- func  (g  * GPTScript ) GetDatasetElement (ctx  context.Context , workspace , datasetID , elementName  string ) (DatasetElement , error ) {
172- 	if  workspace  ==  ""  {
173- 		workspace  =  os .Getenv ("GPTSCRIPT_WORKSPACE_DIR " )
204+ func  (g  * GPTScript ) GetDatasetElement (ctx  context.Context , workspaceID , datasetID , elementName  string ) (DatasetElement , error ) {
205+ 	if  workspaceID  ==  ""  {
206+ 		workspaceID  =  os .Getenv ("GPTSCRIPT_WORKSPACE_ID " )
174207	}
175208
176209	args  :=  getDatasetElementArgs {
@@ -184,8 +217,9 @@ func (g *GPTScript) GetDatasetElement(ctx context.Context, workspace, datasetID,
184217
185218	out , err  :=  g .runBasicCommand (ctx , "datasets/get-element" , datasetRequest {
186219		Input :           string (argsJSON ),
187- 		Workspace :        workspace ,
220+ 		WorkspaceID :     workspaceID ,
188221		DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
222+ 		Env :             g .globalOpts .Env ,
189223	})
190224	if  err  !=  nil  {
191225		return  DatasetElement {}, err 
0 commit comments