8
8
9
9
from gptscript .confirm import AuthResponse
10
10
from gptscript .credentials import Credential , to_credential
11
- from gptscript .datasets import DatasetMeta , Dataset , DatasetElementMeta , DatasetElement
11
+ from gptscript .datasets import DatasetElementMeta , DatasetElement
12
12
from gptscript .fileinfo import FileInfo
13
13
from gptscript .frame import RunFrame , CallFrame , PromptFrame , Program
14
14
from gptscript .opts import GlobalOptions
@@ -213,109 +213,54 @@ async def delete_credential(self, context: str = "default", name: str = "") -> s
213
213
{"context" : [context ], "name" : name }
214
214
)
215
215
216
- async def list_datasets (self , workspace_id : str ) -> List [DatasetMeta ]:
217
- if workspace_id == "" :
218
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
219
-
216
+ # list_datasets returns an array of dataset IDs
217
+ async def list_datasets (self ) -> List [str ]:
220
218
res = await self ._run_basic_command (
221
219
"datasets" ,
222
- {"input" : "{}" , "workspaceID" : workspace_id , "datasetToolRepo" : self .opts .DatasetToolRepo ,
223
- "env" : self .opts .Env }
224
- )
225
- return [DatasetMeta .model_validate (d ) for d in json .loads (res )]
226
-
227
- async def create_dataset (self , workspace_id : str , name : str , description : str = "" ) -> Dataset :
228
- if workspace_id == "" :
229
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
230
-
231
- if name == "" :
232
- raise ValueError ("name cannot be empty" )
233
-
234
- res = await self ._run_basic_command (
235
- "datasets/create" ,
236
220
{
237
- "input" : json .dumps ({"datasetName" : name , "datasetDescription" : description }),
238
- "workspaceID" : workspace_id ,
239
- "datasetToolRepo" : self .opts .DatasetToolRepo ,
240
- "env" : self .opts .Env ,
241
- }
242
- )
243
- return Dataset .model_validate_json (res )
244
-
245
- async def add_dataset_element (self , workspace_id : str , datasetID : str , elementName : str , elementContent : bytes ,
246
- elementDescription : str = "" ) -> DatasetElementMeta :
247
- if workspace_id == "" :
248
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
249
-
250
- if datasetID == "" :
251
- raise ValueError ("datasetID cannot be empty" )
252
- elif elementName == "" :
253
- raise ValueError ("elementName cannot be empty" )
254
- elif not elementContent :
255
- raise ValueError ("elementContent cannot be empty" )
256
-
257
- res = await self ._run_basic_command (
258
- "datasets/add-element" ,
259
- {
260
- "input" : json .dumps ({
261
- "datasetID" : datasetID ,
262
- "elementName" : elementName ,
263
- "elementContent" : base64 .b64encode (elementContent ).decode ("utf-8" ),
264
- "elementDescription" : elementDescription ,
265
- }),
266
- "workspaceID" : workspace_id ,
267
- "datasetToolRepo" : self .opts .DatasetToolRepo ,
221
+ "input" : json .dumps ({"workspaceID" : os .getenv ("GPTSCRIPT_WORKSPACE_ID" )}),
222
+ "datasetTool" : self .opts .DatasetTool ,
268
223
"env" : self .opts .Env
269
224
}
270
225
)
271
- return DatasetElementMeta . model_validate_json (res )
226
+ return json . loads (res )
272
227
273
- async def add_dataset_elements (self , workspace_id : str , datasetID : str , elements : List [DatasetElement ]) -> str :
274
- if workspace_id == "" :
275
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
276
-
277
- if datasetID == "" :
278
- raise ValueError ("datasetID cannot be empty" )
279
- elif not elements :
228
+ async def add_dataset_elements (self , elements : List [DatasetElement ], datasetID : str = "" ) -> str :
229
+ if not elements :
280
230
raise ValueError ("elements cannot be empty" )
281
231
282
232
res = await self ._run_basic_command (
283
233
"datasets/add-elements" ,
284
234
{
285
235
"input" : json .dumps ({
236
+ "workspaceID" : os .getenv ("GPTSCRIPT_WORKSPACE_ID" ),
286
237
"datasetID" : datasetID ,
287
238
"elements" : [element .model_dump () for element in elements ],
288
239
}),
289
- "workspaceID" : workspace_id ,
290
- "datasetToolRepo" : self .opts .DatasetToolRepo ,
240
+ "datasetTool" : self .opts .DatasetTool ,
291
241
"env" : self .opts .Env
292
242
}
293
243
)
294
244
return res
295
245
296
-
297
- async def list_dataset_elements (self , workspace_id : str , datasetID : str ) -> List [DatasetElementMeta ]:
298
- if workspace_id == "" :
299
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
300
-
246
+ async def list_dataset_elements (self , datasetID : str ) -> List [DatasetElementMeta ]:
301
247
if datasetID == "" :
302
248
raise ValueError ("datasetID cannot be empty" )
303
249
304
250
res = await self ._run_basic_command (
305
251
"datasets/list-elements" ,
306
252
{
307
- "input" : json .dumps ({"datasetID" : datasetID }),
308
- "workspaceID" : workspace_id ,
309
- "datasetToolRepo" : self .opts .DatasetToolRepo ,
253
+ "input" : json .dumps ({
254
+ "workspaceID" : os .getenv ("GPTSCRIPT_WORKSPACE_ID" ),
255
+ "datasetID" : datasetID ,
256
+ }),
257
+ "datasetTool" : self .opts .DatasetTool ,
310
258
"env" : self .opts .Env
311
259
}
312
260
)
313
261
return [DatasetElementMeta .model_validate (d ) for d in json .loads (res )]
314
262
315
- async def get_dataset_element (self , workspace_id : str , datasetID : str , elementName : str ) -> DatasetElement :
316
- if workspace_id == "" :
317
- workspace_id = os .environ ["GPTSCRIPT_WORKSPACE_ID" ]
318
-
263
+ async def get_dataset_element (self , datasetID : str , elementName : str ) -> DatasetElement :
319
264
if datasetID == "" :
320
265
raise ValueError ("datasetID cannot be empty" )
321
266
elif elementName == "" :
@@ -324,9 +269,12 @@ async def get_dataset_element(self, workspace_id: str, datasetID: str, elementNa
324
269
res = await self ._run_basic_command (
325
270
"datasets/get-element" ,
326
271
{
327
- "input" : json .dumps ({"datasetID" : datasetID , "element" : elementName }),
328
- "workspaceID" : workspace_id ,
329
- "datasetToolRepo" : self .opts .DatasetToolRepo ,
272
+ "input" : json .dumps ({
273
+ "workspaceID" : os .getenv ("GPTSCRIPT_WORKSPACE_ID" ),
274
+ "datasetID" : datasetID ,
275
+ "name" : elementName ,
276
+ }),
277
+ "datasetTool" : self .opts .DatasetTool ,
330
278
"env" : self .opts .Env ,
331
279
}
332
280
)
0 commit comments