Skip to content

feat(google): agent setup tools for Google integration#1136

Draft
RhysSullivan wants to merge 1 commit into
mainfrom
google-agent-setup-tools
Draft

feat(google): agent setup tools for Google integration#1136
RhysSullivan wants to merge 1 commit into
mainfrom
google-agent-setup-tools

Conversation

@RhysSullivan

Copy link
Copy Markdown
Owner

What

Adds agent-callable setup tools to the Google plugin so an agent can configure Google products through chat, mirroring the existing web product-picker UX. No generalized source-setup service: this is scoped to the Google plugin and reuses the existing extension and presets.

Three static-source tools:

  • listProducts (read-only): catalog of available Google products with each product's OAuth audience tier and special-consent flags.
  • addBundle (requires approval): resolves selected product ids to Discovery specs and registers a single integration covering them. Echoes back the products, surfaces audience warnings for products that need special consent, and returns the OAuth next steps.
  • setupStatus (read-only): reports whether Google is currently configured.

Secret handling

The tools never accept a client secret. Google has no Dynamic Client Registration, so the user brings their own Google Cloud OAuth client. Secret entry stays in the web UI via the existing OAuth handoff; the agent tools point the agent at that flow and explicitly avoid asking for the secret in chat. This keeps the client secret off the agent channel.

Shared logic

The product catalog and audience-warning helpers are consolidated in the SDK presets module and reused by both the new agent tools and the React accounts panel (the panel previously held a local duplicate of the audience-warning map).

Tests

New Effect Vitest suite drives all three tools through executor.execute, with a stubbed HTTP client keyed on the canonical Discovery URLs:

  • listProducts returns the catalog and makes zero network calls
  • addBundle resolves product ids to a single integration, echoes products, and includes the OAuth next steps
  • unknown product id fails before any network call and names the bad id back to the caller
  • empty selection fails with no_products_selected and no network call
  • a mixed bundle surfaces exactly the expected audience warnings
  • setupStatus transitions unconfigured to configured

Verification: format:check, lint (0 errors), typecheck (all packages), and the Google package test suite all pass.

Adds three static-source tools so an agent can set up Google products
through chat, mirroring the web product-picker flow:

- listProducts: read-only catalog of available Google products with
  their OAuth audience tier and special-consent flags.
- addBundle: resolves selected product ids to Discovery specs and
  registers one integration covering them; surfaces audience warnings
  and the OAuth next steps.
- setupStatus: read-only report of whether Google is configured.

Secret entry stays in the web UI: the tools never accept a client
secret and instead point the agent at the OAuth handoff flow, keeping
the client secret off the agent channel.

The product catalog and audience-warning helpers are consolidated in
the SDK presets module and reused by both the agent tools and the
React accounts panel.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing 68e2c78 Commit Preview URL

Branch Preview URL
Jun 26 2026, 12:07 AM

@github-actions

Copy link
Copy Markdown
Contributor

Cloudflare preview

Console https://executor-preview-pr-1136.executor-e2e.workers.dev
MCP https://executor-preview-pr-1136.executor-e2e.workers.dev/mcp
Deployed commit 68e2c78

Sign-in is Cloudflare Access (one-time PIN to an allowed email). The preview has its own database and encryption key; it is destroyed when this PR closes.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud 68e2c78 Jun 26 2026, 12:08 AM

@pkg-pr-new

pkg-pr-new Bot commented Jun 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1136

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1136

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1136

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1136

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1136

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1136

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1136

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1136

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1136

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1136

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1136

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1136

executor

npm i https://pkg.pr.new/executor@1136

commit: 68e2c78

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.

1 participant