feat(google): agent setup tools for Google integration#1136
Draft
RhysSullivan wants to merge 1 commit into
Draft
feat(google): agent setup tools for Google integration#1136RhysSullivan wants to merge 1 commit into
RhysSullivan wants to merge 1 commit into
Conversation
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.
Deploying with
|
| 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 |
Contributor
Cloudflare preview
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. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | 68e2c78 | Jun 26 2026, 12:08 AM |
@executor-js/cli
@executor-js/config
@executor-js/execution
@executor-js/sdk
@executor-js/codemode-core
@executor-js/runtime-quickjs
@executor-js/plugin-file-secrets
@executor-js/plugin-graphql
@executor-js/plugin-keychain
@executor-js/plugin-mcp
@executor-js/plugin-onepassword
@executor-js/plugin-openapi
executor
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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:no_products_selectedand no network callVerification:
format:check,lint(0 errors),typecheck(all packages), and the Google package test suite all pass.