@@ -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