Skip to content

feat(source/cloud-storage): add write/copy/move/delete object tools#3139

Merged
Yuan325 merged 2 commits into
googleapis:mainfrom
huangjiahua:feat/gcs-tools-2
Apr 29, 2026
Merged

feat(source/cloud-storage): add write/copy/move/delete object tools#3139
Yuan325 merged 2 commits into
googleapis:mainfrom
huangjiahua:feat/gcs-tools-2

Conversation

@huangjiahua

@huangjiahua huangjiahua commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

Description

Adds four new Cloud Storage object mutation tools:

  • cloud-storage-write-object - write text content directly to a GCS object
  • cloud-storage-copy-object - copy an object within or across buckets
  • cloud-storage-move-object - atomic rename within a bucket via the native move API
  • cloud-storage-delete-object - delete a single object

Coverage:

  • Unit tests for each new tool, including YAML parsing and Invoke validation.
  • Integration test config wiring for the new Cloud Storage tools.
  • Source and integration docs added for all four new tools.

PR Checklist

  • Make sure to open an issue as a bug/issue before writing your code!
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)
  • Make sure to add ! if this involves a breaking change

Issue Reference

Fixes # 🦕

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces object mutation capabilities to the Cloud Storage integration, adding tools for copying, deleting, moving, and writing objects. It also updates the existing upload tool to support an optional overwrite parameter, leveraging Cloud Storage preconditions for atomic checks. The changes encompass core source logic, tool implementations, comprehensive documentation, and integration tests. Feedback focuses on standardizing the titles in the YAML frontmatter of the new documentation files to include the 'Tool' suffix.

Adds four new Cloud Storage object mutation tools.

New tools:

- cloud-storage-write-object: write text content directly to a GCS object

- cloud-storage-copy-object: copy an object within or across buckets

- cloud-storage-move-object: atomic rename within a bucket via the native move API

- cloud-storage-delete-object: delete a single object

This keeps existing overwrite behavior for upload, write, copy, and move operations so the change is not breaking.
@huangjiahua huangjiahua changed the title feat(source/cloud-storage)!: add write/copy/move/delete object tools feat(source/cloud-storage): add write/copy/move/delete object tools Apr 28, 2026
@huangjiahua huangjiahua marked this pull request as ready for review April 28, 2026 20:55
@huangjiahua huangjiahua requested a review from a team as a code owner April 28, 2026 20:55

@Yuan325 Yuan325 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you!

@Yuan325

Yuan325 commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

/gcbrun

@Yuan325 Yuan325 merged commit b225fc4 into googleapis:main Apr 29, 2026
22 checks passed
github-actions Bot pushed a commit that referenced this pull request Apr 29, 2026
… tools (#3139)

## Description

Adds four new Cloud Storage object mutation tools:

- `cloud-storage-write-object` - write text content directly to a GCS
object
- `cloud-storage-copy-object` - copy an object within or across buckets
- `cloud-storage-move-object` - atomic rename within a bucket via the
native move API
- `cloud-storage-delete-object` - delete a single object

Coverage:
- Unit tests for each new tool, including YAML parsing and Invoke
validation.
- Integration test config wiring for the new Cloud Storage tools.
- Source and integration docs added for all four new tools.

## PR Checklist

- [x] Make sure to open an issue as a bug/issue before writing your
code!
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involves a breaking change

## Issue Reference

Fixes # 🦕

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> b225fc4
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Apr 29, 2026
… tools (googleapis#3139)

## Description

Adds four new Cloud Storage object mutation tools:

- `cloud-storage-write-object` - write text content directly to a GCS
object
- `cloud-storage-copy-object` - copy an object within or across buckets
- `cloud-storage-move-object` - atomic rename within a bucket via the
native move API
- `cloud-storage-delete-object` - delete a single object

Coverage:
- Unit tests for each new tool, including YAML parsing and Invoke
validation.
- Integration test config wiring for the new Cloud Storage tools.
- Source and integration docs added for all four new tools.

## PR Checklist

- [x] Make sure to open an issue as a bug/issue before writing your
code!
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [x] Make sure to add `!` if this involves a breaking change

## Issue Reference

Fixes # 🦕

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> b225fc4
Yuan325 added a commit that referenced this pull request May 7, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.2.0](v1.1.0...v1.2.0)
(2026-05-07)


### Features

* Add support for HTTPS/TLS listener
([#3126](#3126))
([8bc385d](8bc385d))
* **source/bigquery:** Add maximumBytesBilled source config
([#2724](#2724))
([42f2d07](42f2d07))
* **source/cloud-storage:** Add bucket and object management tools
([#3129](#3129))
([8de9bcf](8de9bcf))
* **source/cloud-storage:** Add Cloud Storage source with list_objects
and read_object tools
([#3081](#3081))
([da27b37](da27b37))
* **source/cloud-storage:** Add write/copy/move/delete object tools
([#3139](#3139))
([b225fc4](b225fc4))
* **tools/knowledge-catalog:** Search Data Quality Scans
([#2444](#2444))
([1c63551](1c63551))


### Bug Fixes

* Allow converting string literal block with list
([#3050](#3050))
([36ab2a9](36ab2a9)),
closes [#3023](#3023)
* **mcp:** Implement router-level logger injection for MCP auth
([#3067](#3067))
([ccc7cf5](ccc7cf5))
* Prevent test.db from being created during unit tests
([#3042](#3042))
([d10d2ca](d10d2ca))
* Remove hardcoded * allowed origin for sse
([#3054](#3054))
([c4c7bd9](c4c7bd9))
* **sources/postgres:** Apply URL encoding to query string params
([#3020](#3020))
([6b860f4](6b860f4))
* **tool/looker-conversational-analytics:** OAuth token in GDA payload
fix ([#3058](#3058))
([6632d96](6632d96))
* **tools/bigquery-execute-sql:** Avoid surfacing invalid queries as MCP
500s ([#3056](#3056))
([7ed92c8](7ed92c8))
* **tools/looker:** Fix OAuth for Converational Analytics
([#3044](#3044))
([f9e3e55](f9e3e55))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
pavankrishna13 pushed a commit to pavankrishna13/genai-toolbox that referenced this pull request May 19, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.2.0](googleapis/mcp-toolbox@v1.1.0...v1.2.0)
(2026-05-07)


### Features

* Add support for HTTPS/TLS listener
([googleapis#3126](googleapis#3126))
([8bc385d](googleapis@8bc385d))
* **source/bigquery:** Add maximumBytesBilled source config
([googleapis#2724](googleapis#2724))
([42f2d07](googleapis@42f2d07))
* **source/cloud-storage:** Add bucket and object management tools
([googleapis#3129](googleapis#3129))
([8de9bcf](googleapis@8de9bcf))
* **source/cloud-storage:** Add Cloud Storage source with list_objects
and read_object tools
([googleapis#3081](googleapis#3081))
([da27b37](googleapis@da27b37))
* **source/cloud-storage:** Add write/copy/move/delete object tools
([googleapis#3139](googleapis#3139))
([b225fc4](googleapis@b225fc4))
* **tools/knowledge-catalog:** Search Data Quality Scans
([googleapis#2444](googleapis#2444))
([1c63551](googleapis@1c63551))


### Bug Fixes

* Allow converting string literal block with list
([googleapis#3050](googleapis#3050))
([36ab2a9](googleapis@36ab2a9)),
closes [googleapis#3023](googleapis#3023)
* **mcp:** Implement router-level logger injection for MCP auth
([googleapis#3067](googleapis#3067))
([ccc7cf5](googleapis@ccc7cf5))
* Prevent test.db from being created during unit tests
([googleapis#3042](googleapis#3042))
([d10d2ca](googleapis@d10d2ca))
* Remove hardcoded * allowed origin for sse
([googleapis#3054](googleapis#3054))
([c4c7bd9](googleapis@c4c7bd9))
* **sources/postgres:** Apply URL encoding to query string params
([googleapis#3020](googleapis#3020))
([6b860f4](googleapis@6b860f4))
* **tool/looker-conversational-analytics:** OAuth token in GDA payload
fix ([googleapis#3058](googleapis#3058))
([6632d96](googleapis@6632d96))
* **tools/bigquery-execute-sql:** Avoid surfacing invalid queries as MCP
500s ([googleapis#3056](googleapis#3056))
([7ed92c8](googleapis@7ed92c8))
* **tools/looker:** Fix OAuth for Converational Analytics
([googleapis#3044](googleapis#3044))
([f9e3e55](googleapis@f9e3e55))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
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.

3 participants