@@ -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}
@@ -63,8 +69,9 @@ func (g *GPTScript) ListDatasets(ctx context.Context, workspace string) ([]Datas
6369
6470 out , err := g .runBasicCommand (ctx , "datasets" , datasetRequest {
6571 Input : "{}" ,
66- Workspace : workspace ,
72+ WorkspaceID : workspace ,
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_DIR" )
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_DIR" )
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,11 +148,26 @@ 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+ args := addDatasetElementsArgs {
153+ DatasetID : datasetID ,
154+ Elements : elements ,
145155 }
156+ argsJSON , err := json .Marshal (args )
157+ if err != nil {
158+ return fmt .Errorf ("failed to marshal element args: %w" , err )
159+ }
160+
161+ _ , err = g .runBasicCommand (ctx , "datasets/add-elements" , datasetRequest {
162+ Input : string (argsJSON ),
163+ WorkspaceID : workspaceID ,
164+ DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
165+ Env : g .globalOpts .Env ,
166+ })
167+ return err
168+ }
146169
170+ func (g * GPTScript ) ListDatasetElements (ctx context.Context , workspaceID , datasetID string ) ([]DatasetElementMeta , error ) {
147171 args := listDatasetElementArgs {
148172 DatasetID : datasetID ,
149173 }
@@ -154,8 +178,9 @@ func (g *GPTScript) ListDatasetElements(ctx context.Context, workspace, datasetI
154178
155179 out , err := g .runBasicCommand (ctx , "datasets/list-elements" , datasetRequest {
156180 Input : string (argsJSON ),
157- Workspace : workspace ,
181+ WorkspaceID : workspaceID ,
158182 DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
183+ Env : g .globalOpts .Env ,
159184 })
160185 if err != nil {
161186 return nil , err
@@ -168,11 +193,7 @@ func (g *GPTScript) ListDatasetElements(ctx context.Context, workspace, datasetI
168193 return elements , nil
169194}
170195
171- func (g * GPTScript ) GetDatasetElement (ctx context.Context , workspace , datasetID , elementName string ) (DatasetElement , error ) {
172- if workspace == "" {
173- workspace = os .Getenv ("GPTSCRIPT_WORKSPACE_DIR" )
174- }
175-
196+ func (g * GPTScript ) GetDatasetElement (ctx context.Context , workspaceID , datasetID , elementName string ) (DatasetElement , error ) {
176197 args := getDatasetElementArgs {
177198 DatasetID : datasetID ,
178199 Element : elementName ,
@@ -184,8 +205,9 @@ func (g *GPTScript) GetDatasetElement(ctx context.Context, workspace, datasetID,
184205
185206 out , err := g .runBasicCommand (ctx , "datasets/get-element" , datasetRequest {
186207 Input : string (argsJSON ),
187- Workspace : workspace ,
208+ WorkspaceID : workspaceID ,
188209 DatasetToolRepo : g .globalOpts .DatasetToolRepo ,
210+ Env : g .globalOpts .Env ,
189211 })
190212 if err != nil {
191213 return DatasetElement {}, err
0 commit comments