Skip to content

feat: SDK update for version 18.1.0 - #115

Merged
ChiragAgg5k merged 2 commits into
mainfrom
dev
Sep 28, 2026
Merged

ChiragAgg5k merged 2 commits into
mainfrom
dev

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

This PR contains updates to the SDK for version 18.1.0.

What's Changed

  • Breaking: removed deno-1.21, deno-1.24 and deno-1.35 from Runtime and BuildRuntime enums
  • Breaking: Assistant.chat now returns the response text as a string instead of { message }
  • Breaking: Domains.getZone now returns the zone file as a string instead of { message }
  • Fixed: nested objects in multipart requests are sent as JSON instead of [object Object]

@ChiragAgg5k ChiragAgg5k changed the title feat: Console SDK update for version 18.1.0 feat: SDK update for version 18.1.0 Sep 28, 2026
@greptile-apps

greptile-apps Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[Medium risk] SDK client library updated to version 18.1.0 with breaking changes.

The PR appears safe to merge, though the public text-upload path should retain chunking and the new transport behavior warrants tests.

Fix All in Claude CodeFindings

  1. P2 Text uploads bypass chunking ▶
  2. P2 Transport changes lack behavior tests ▶
Fix with agent prompt
### Issue 1
src/client.ts:1217
If a caller uses the public `chunkedUpload` method with a text response and a file larger than 5 MB, this condition sends the whole file in one request. It also skips `onProgress`, so the caller loses progress updates and the upload may fail if the server limits single-request size. Keep large-file chunking independent of the response format.

### Issue 2
src/client.ts:1178
Multipart objects are now serialized as JSON, and successful text responses are returned as raw strings, but neither behavior has a test. A multipart request with object attributes and a text response from `chat` or `getZone` should be checked through observable results; type-checking cannot catch a wrong field value or return value.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

The 18.1.0 update changes two endpoint results to raw strings, serializes object-valued multipart fields as JSON, removes three Deno enum members, updates release metadata, and mechanically renames service payload variables.

  • Large text-returning uploads bypass chunking and progress reporting.
  • The new transport behaviors lack observable-behavior tests.

Reviews (1) · Last reviewed commit: "chore: update Console SDK to 18.1.0"

Comment thread src/client.ts

if (file.size <= Client.CHUNK_SIZE) {
return await this.call(method, url, headers, originalPayload);
if (file.size <= Client.CHUNK_SIZE || responseType === 'text') {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Text uploads bypass chunking If a caller uses the public chunkedUpload method with a text response and a file larger than 5 MB, this condition sends the whole file in one request. It also skips onProgress, so the caller loses progress updates and the upload may fail if the server limits single-request size. Keep large-file chunking independent of the response format.

Knowledge Base Used: Client configuration and HTTP transport

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/client.ts
Line: 1217

Comment:
**Text uploads bypass chunking** If a caller uses the public `chunkedUpload` method with a text response and a file larger than 5 MB, this condition sends the whole file in one request. It also skips `onProgress`, so the caller loses progress updates and the upload may fail if the server limits single-request size. Keep large-file chunking independent of the response format.

**Knowledge Base Used:** [Client configuration and HTTP transport](https://app.greptile.com/appwrite/-/custom-context/knowledge-base/appwrite/sdk-for-console/-/docs/sdk-client-and-transport.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Claude Code Fix in Codex

Comment thread src/client.ts
value !== null &&
typeof value === 'object'
) {
formData.append(key, JSONbig.stringify(value));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Transport changes lack behavior tests Multipart objects are now serialized as JSON, and successful text responses are returned as raw strings, but neither behavior has a test. A multipart request with object attributes and a text response from chat or getZone should be checked through observable results; type-checking cannot catch a wrong field value or return value.

Knowledge Base Used: Client configuration and HTTP transport

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/client.ts
Line: 1178

Comment:
**Transport changes lack behavior tests** Multipart objects are now serialized as JSON, and successful text responses are returned as raw strings, but neither behavior has a test. A multipart request with object attributes and a text response from `chat` or `getZone` should be checked through observable results; type-checking cannot catch a wrong field value or return value.

**Knowledge Base Used:** [Client configuration and HTTP transport](https://app.greptile.com/appwrite/-/custom-context/knowledge-base/appwrite/sdk-for-console/-/docs/sdk-client-and-transport.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Codex

@ChiragAgg5k
ChiragAgg5k merged commit 1654e81 into main Sep 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants