Skip to content

Commit 1df4506

Browse files
authored
chore: update all tools with latest sdk for datasets (#173)
Signed-off-by: Grant Linville <[email protected]>
1 parent 31e01e6 commit 1df4506

29 files changed

+206
-238
lines changed

excel/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.23.1
44

55
require (
66
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0
7-
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241101143642-3a3a70ca44b6
7+
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241106212914-ba040ce8f47b
88
github.com/microsoft/kiota-abstractions-go v1.7.0
99
github.com/microsoftgraph/msgraph-sdk-go v1.48.0
1010
)

excel/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
2323
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
2424
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
2525
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
26-
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241101143642-3a3a70ca44b6 h1:Gq8WwyEUjN0hqilqKO20haXw11Q6s6x3/II1xLZaO1Y=
27-
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241101143642-3a3a70ca44b6/go.mod h1:/FVuLwhz+sIfsWUgUHWKi32qT0i6+IXlUlzs70KKt/Q=
26+
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241106212914-ba040ce8f47b h1:adIh3EnMTlC19t2k1IJoOtF6me/hPxks2GxSSgB7oEw=
27+
github.com/gptscript-ai/go-gptscript v0.9.6-0.20241106212914-ba040ce8f47b/go.mod h1:/FVuLwhz+sIfsWUgUHWKi32qT0i6+IXlUlzs70KKt/Q=
2828
github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso=
2929
github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA=
3030
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=

excel/pkg/commands/getWorksheetData.go

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"encoding/json"
66
"fmt"
7-
"os"
87

98
"github.com/gptscript-ai/go-gptscript"
109
"github.com/gptscript-ai/tools/excel/pkg/client"
@@ -28,15 +27,6 @@ func GetWorksheetData(ctx context.Context, workbookID, worksheetID string) error
2827
return fmt.Errorf("failed to create gptscript client: %w", err)
2928
}
3029

31-
dataset, err := gptscriptClient.CreateDataset(ctx,
32-
os.Getenv("GPTSCRIPT_WORKSPACE_ID"),
33-
fmt.Sprintf("%s_%s_worksheet_data", worksheetID, workbookID),
34-
fmt.Sprintf("Data from Excel worksheet %s in workbook %s", worksheetID, workbookID),
35-
)
36-
if err != nil {
37-
return err
38-
}
39-
4030
var elements []gptscript.DatasetElement
4131
for i, row := range data {
4232
rowJSON, err := json.Marshal(row)
@@ -48,18 +38,22 @@ func GetWorksheetData(ctx context.Context, workbookID, worksheetID string) error
4838
DatasetElementMeta: gptscript.DatasetElementMeta{
4939
Name: fmt.Sprintf("row_%d", i),
5040
},
51-
Contents: rowJSON,
41+
Contents: string(rowJSON),
5242
})
5343

5444
if i == 5000 { // Stop after 5k rows. It's just too many, at least for now.
5545
break
5646
}
5747
}
5848

59-
if err := gptscriptClient.AddDatasetElements(ctx, os.Getenv("GPTSCRIPT_WORKSPACE_ID"), dataset.ID, elements); err != nil {
49+
datasetID, err := gptscriptClient.CreateDatasetWithElements(ctx, elements, gptscript.DatasetOptions{
50+
Name: fmt.Sprintf("%s_%s_worksheet_data", worksheetID, workbookID),
51+
Description: fmt.Sprintf("Data from Excel worksheet %s in workbook %s", worksheetID, workbookID),
52+
})
53+
if err != nil {
6054
return fmt.Errorf("failed to add elements: %w", err)
6155
}
6256

63-
fmt.Printf("Dataset created with ID: %s\n", dataset.ID)
57+
fmt.Printf("Dataset created with ID: %s\n", datasetID)
6458
return nil
6559
}

github/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

github/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"start": "node index.js"
99
},
1010
"dependencies": {
11-
"@gptscript-ai/gptscript": "github:gptscript-ai/node-gptscript#b30db3cf4fe87b1ee09a20752baf2263b1e5c7be",
11+
"@gptscript-ai/gptscript": "github:gptscript-ai/node-gptscript#d4b222c34e757b62429dc43ae9cc44aa3f6c9700",
1212
"@octokit/rest": "^21.0.2"
1313
}
1414
}

github/src/tools.js

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,19 @@ export async function searchIssuesAndPRs(octokit, owner, repo, query, perPage =
2525

2626
try {
2727
const gptscriptClient = new GPTScript();
28-
const dataset = await gptscriptClient.createDataset(process.env.GPTSCRIPT_WORKSPACE_ID, `${query}_github_issues_prs`, `Search results for ${query} on GitHub`);
2928
const elements = items.map(issue => {
3029
return {
31-
name: issue.id,
30+
name: `${issue.id}`,
3231
description: '',
33-
contents: Buffer.from(`#${issue.number} - ${issue.title} (ID: ${issue.id}) - ${issue.html_url}`)
32+
contents: `#${issue.number} - ${issue.title} (ID: ${issue.id}) - ${issue.html_url}`
3433
}
3534
});
36-
await gptscriptClient.addDatasetElements(process.env.GPTSCRIPT_WORKSPACE_ID, dataset.id, elements);
35+
const datasetID = await gptscriptClient.addDatasetElements(elements, {
36+
name: `${query}_github_issues_prs`,
37+
description: `Search results for ${query} on GitHub`
38+
})
3739

38-
console.log(`Created dataset with ID ${dataset.id} with ${elements.length} results`);
40+
console.log(`Created dataset with ID ${datasetID} with ${elements.length} results`);
3941
} catch (e) {
4042
console.log('Failed to create dataset:', e)
4143
}
@@ -93,21 +95,18 @@ export async function listIssueComments(octokit, owner, repo, issueNumber) {
9395

9496
try {
9597
const gptscriptClient = new GPTScript();
96-
const dataset = await gptscriptClient.createDataset(
97-
process.env.GPTSCRIPT_WORKSPACE_ID,
98-
`${owner}_${repo}_issue_${issueNumber}_comments`,
99-
`Comments for issue #${issueNumber} in ${owner}/${repo}`
100-
);
10198
const elements = data.map(comment => {
10299
return {
103-
name: comment.id,
100+
name: `${comment.id}`,
104101
description: '',
105-
contents: Buffer.from(`Comment by ${comment.user.login}: ${comment.body} - https://github.com/${owner}/${repo}/issues/${issueNumber}#issuecomment-${comment.id}`)
102+
contents: `Comment by ${comment.user.login}: ${comment.body} - https://github.com/${owner}/${repo}/issues/${issueNumber}#issuecomment-${comment.id}`
106103
}
107104
});
108-
await gptscriptClient.addDatasetElements(process.env.GPTSCRIPT_WORKSPACE_ID, dataset.id, elements);
109-
110-
console.log(`Created dataset with ID ${dataset.id} with ${elements.length} comments`);
105+
const datasetID = await gptscriptClient.addDatasetElements(elements, {
106+
name: `${owner}_${repo}_issue_${issueNumber}_comments`,
107+
description: `Comments for issue #${issueNumber} in ${owner}/${repo}`
108+
})
109+
console.log(`Created dataset with ID ${datasetID} with ${elements.length} comments`);
111110
} catch (e) {
112111
console.log('Failed to create dataset:', e);
113112
}
@@ -179,21 +178,18 @@ export async function listPRComments(octokit, owner, repo, prNumber) {
179178

180179
try {
181180
const gptscriptClient = new GPTScript();
182-
const dataset = await gptscriptClient.createDataset(
183-
process.env.GPTSCRIPT_WORKSPACE_ID,
184-
`${owner}_${repo}_pr_${prNumber}_comments`,
185-
`Comments for PR #${prNumber} in ${owner}/${repo}`
186-
);
187181
const elements = data.map(comment => {
188182
return {
189-
name: comment.id,
183+
name: `${comment.id}`,
190184
description: '',
191-
contents: Buffer.from(`Comment by ${comment.user.login}: ${comment.body} - https://github.com/${owner}/${repo}/pull/${prNumber}#issuecomment-${comment.id}`)
185+
contents: `Comment by ${comment.user.login}: ${comment.body} - https://github.com/${owner}/${repo}/pull/${prNumber}#issuecomment-${comment.id}`
192186
}
193187
});
194-
await gptscriptClient.addDatasetElements(process.env.GPTSCRIPT_WORKSPACE_ID, dataset.id, elements);
195-
196-
console.log(`Created dataset with ID ${dataset.id} with ${elements.length} comments`);
188+
const datasetID = await gptscriptClient.addDatasetElements(elements, {
189+
name: `${owner}_${repo}_pr_${prNumber}_comments`,
190+
description: `Comments for PR #${prNumber} in ${owner}/${repo}`
191+
})
192+
console.log(`Created dataset with ID ${datasetID} with ${elements.length} comments`);
197193
} catch (e) {
198194
console.log('Failed to create dataset:', e);
199195
}
@@ -219,22 +215,18 @@ export async function listRepos(octokit, owner) {
219215

220216
try {
221217
const gptscriptClient = new GPTScript();
222-
const dataset = await gptscriptClient.createDataset(
223-
process.env.GPTSCRIPT_WORKSPACE_ID,
224-
`${owner}_github_repos`,
225-
`GitHub repos for ${owner}`
226-
);
227-
228218
const elements = repos.data.map(repo => {
229219
return {
230-
name: repo.id,
220+
name: `${repo.id}`,
231221
description: '',
232-
contents: Buffer.from(`${repo.name} (ID: ${repo.id}) - https://github.com/${owner}/${repo.name}`)
222+
contents: `${repo.name} (ID: ${repo.id}) - https://github.com/${owner}/${repo.name}`
233223
}
234224
});
235-
await gptscriptClient.addDatasetElements(process.env.GPTSCRIPT_WORKSPACE_ID, dataset.id, elements);
236-
237-
console.log(`Created dataset with ID ${dataset.id} with ${elements.length} repositories`);
225+
const datasetID = await gptscriptClient.addDatasetElements(elements, {
226+
name: `${owner}_github_repos`,
227+
description: `GitHub repos for ${owner}`
228+
})
229+
console.log(`Created dataset with ID ${datasetID} with ${elements.length} repositories`);
238230
} catch (e) {
239231
console.log('Failed to create dataset:', e);
240232
}

google/gmail/helpers.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,18 @@ async def list_messages(service, query, max_results):
6464
try:
6565
gptscript_client = gptscript.GPTScript()
6666

67-
dataset = await gptscript_client.create_dataset(
68-
os.getenv("GPTSCRIPT_WORKSPACE_ID"),
69-
f"gmail_{query}",
70-
f"list of emails in Gmail for query {query}")
71-
7267
elements = []
7368
for message in all_messages:
7469
msg_id, msg_str = message_to_string(service, message)
75-
elements.append(DatasetElement(name=msg_id, description="", contents=msg_str.encode("utf-8")))
70+
elements.append(DatasetElement(name=msg_id, description="", contents=msg_str))
71+
72+
dataset_id = await gptscript_client.add_dataset_elements(
73+
elements,
74+
name=f"gmail_{query}",
75+
description=f"list of emails in Gmail for query {query}"
76+
)
7677

77-
await gptscript_client.add_dataset_elements(os.getenv("GPTSCRIPT_WORKSPACE_ID"), dataset.id, elements)
78-
print(f"Created dataset with ID {dataset.id} with {len(all_messages)} emails")
78+
print(f"Created dataset with ID {dataset_id} with {len(elements)} emails")
7979
except Exception as e:
8080
print("An error occurred while creating the dataset:", e)
8181

@@ -129,18 +129,14 @@ async def list_drafts(service, max_results=None):
129129
try:
130130
gptscript_client = gptscript.GPTScript()
131131

132-
dataset = await gptscript_client.create_dataset(
133-
os.getenv("GPTSCRIPT_WORKSPACE_ID"),
134-
"gmail_drafts",
135-
"list of drafts in Gmail")
136-
137132
elements = []
138133
for draft in all_drafts:
139134
draft_id, draft_str = draft_to_string(service, draft)
140-
elements.append(DatasetElement(name=draft_id, description="", contents=draft_str.encode("utf-8")))
135+
elements.append(DatasetElement(name=draft_id, description="", contents=draft_str))
136+
137+
dataset_id = await gptscript_client.add_dataset_elements(elements, name=f"gmail_drafts")
141138

142-
await gptscript_client.add_dataset_elements(os.getenv("GPTSCRIPT_WORKSPACE_ID"), dataset.id, elements)
143-
print(f"Created dataset with ID {dataset.id} with {len(all_drafts)} drafts")
139+
print(f"Created dataset with ID {dataset_id} with {len(elements)} drafts")
144140
except Exception as e:
145141
print("An error occurred while creating the dataset:", e)
146142

google/gmail/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
google-api-python-client
22
google-auth-httplib2
33
google-auth-oauthlib
4-
git+https://github.com/gptscript-ai/py-gptscript.git@d86fc7ede6c909d91357d1acb6b9e9f37a06885e#egg=gptscript
4+
git+https://github.com/gptscript-ai/py-gptscript.git@0cebee3afa51b8c56006e479a990c262bd693ba6#egg=gptscript

google/sheets/readSpreadsheet.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,21 @@ async def main():
4141
try:
4242
gptscript_client = GPTScript()
4343

44-
dataset = await gptscript_client.create_dataset(
45-
os.getenv("GPTSCRIPT_WORKSPACE_ID"),
46-
f"{spreadsheet.id}_data",
47-
f"data for Google Sheet with ID {spreadsheet.id}",
48-
)
49-
5044
elements = []
5145
for cell_reference, value in cell_values.items():
5246
elements.append(DatasetElement(
5347
name=cell_reference,
5448
description="",
55-
contents=(value if value != "" else " ").encode("utf-8"),
49+
contents=value if value != "" else " "
5650
))
5751

58-
await gptscript_client.add_dataset_elements(os.getenv("GPTSCRIPT_WORKSPACE_ID"), dataset.id, elements)
52+
dataset_id = await gptscript_client.add_dataset_elements(
53+
elements,
54+
name=f"{spreadsheet.id}_data",
55+
description=f"data for Google Sheet with ID {spreadsheet.id}"
56+
)
5957

60-
print(f"Dataset created with ID {dataset.id} with {len(cell_values)} elements")
58+
print(f"Dataset created with ID {dataset_id} with {len(elements)} elements")
6159
except Exception as e:
6260
print("An error occurred while creating the dataset:", e)
6361

google/sheets/readTablesFromSpreadsheet.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ async def main():
5555
try:
5656
gptscript_client = GPTScript()
5757

58-
dataset = await gptscript_client.create_dataset(
59-
os.getenv("GPTSCRIPT_WORKSPACE_ID"), f"{spreadsheet.id}_tables", ""
60-
)
61-
6258
elements = []
6359
for index, table in enumerate(tables):
6460
table_text = "\n".join([f"[{', '.join(row)}]" for row in table])
@@ -68,9 +64,9 @@ async def main():
6864
contents=table_text.encode("utf-8")
6965
))
7066

71-
await gptscript_client.add_dataset_elements(os.getenv("GPTSCRIPT_WORKSPACE_ID"), dataset.id, elements)
67+
dataset_id = await gptscript_client.add_dataset_elements(elements, name=f"{spreadsheet.id}_tables")
7268

73-
print(f"Created dataset with ID {dataset.id} with {len(tables)} tables")
69+
print(f"Created dataset with ID {dataset_id} with {len(elements)} tables")
7470
return
7571
except Exception as e:
7672
print("An error occurred while creating the dataset:", e)

0 commit comments

Comments
 (0)