Skip to content

Add drive.replyToComment and drive.resolveComment tools #343

Description

@geetikamahajan

Proposal

Add two write-side Drive comment tools to complement the existing drive.getComments:

  • drive.replyToComment(fileId, commentId, content) — post a reply to an existing comment
  • drive.resolveComment(fileId, commentId, content?) — mark a comment resolved, optionally with a closing message

Both use the existing drive.replies.create endpoint (with action: "resolve" for the second). No new OAuth scopes — both fit in the existing drive.write feature group which already has the drive scope.

Motivation

drive.getComments today lets an agent read a doc's review state but not respond to it. Enabling reply + resolve turns review workflows into something an agent can actively participate in — e.g. a reviewer leaves 10 comments on a Google Doc, the agent drafts responses grounded in the doc's content, the user approves each draft, and the agent posts them. Today that loop stalls after the agent reads the comments.

Status

I have a working implementation ready to send as a PR:

  • Two new methods in DriveService.ts mirroring the getComments / trashFile patterns
  • Two registerTool entries in index.ts next to drive.getComments
  • Tool names added to the drive.write feature group in feature-config.ts
  • 6 new test cases covering happy path, URL extraction, and error handling — all 472 tests pass (466 existing + 6 new)
  • Live-validated against a real Google Doc: created via docs.create, added a comment, called drive.replyToComment and drive.resolveComment, verified resolved: true on re-read

Total diff: 4 files, ~236 LOC including tests.

Question

Is this in scope for the project? If yes, I'll open the PR. CLA is already signed.

Happy to split into two PRs (reply and resolve separately) if you'd prefer smaller atomic changes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions