Commit Graph

1121 Commits

Author SHA1 Message Date
Zyan 8ab1335476 Icon for Bash Tool integration page
Icon retrieved from: https://fonts.google.com/icons?icon.query=search+&icon.size=48&icon.color=%231f1f1f
2026-08-06 15:00:14 -06:00
Zyan 2af8fdeea0 Update GlobalInstructionPlugin per issue #1227 - 10 (#2065)
Rendered page:
Agent's PR: #1244 
Original Issue: #1227 

--

The formal deprecation note for the old global_instruction parameter is already in the source code and API documentation (https://adk.dev/api-reference/python/google-adk.html) (https://adk.dev/plugins/).

Additionally I added a note here to explain it.
2026-08-06 19:12:50 +00:00
Zyan c07062e153 Add optimization section in agent index per issue #1227 - 12 (#2059)
* Add optimization section in agent index per issue #1227 - 12

Rendered page:
Agent's PR: #1248 
Original Issue: #1227

* Update index.md
2026-08-06 13:12:07 -06:00
Kristopher Overholt d5ad625366 Add July 2026 ADK Community Call recording (#2073)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-05 23:32:16 +00:00
Amaad Martin c75e61f5f3 docs: normalize Typescript to TypeScript across the site (#2079)
The site rendered one language under two names. Tab labels were split
137 `TypeScript` / 53 `Typescript`, with three pages carrying both
spellings at once (custom-agents.md 7/7, patterns.md 1/7,
function-tools.md 4/1), and the language-support badges were split 67/18
the same way. Because pymdownx.tabbed slugifies tab labels to lowercase,
both variants rendered and linked fine, so no link check or build warning
ever flagged it -- it was visible only to readers, as two names for one
SDK.

Every user-visible occurrence is normalized to `TypeScript`, plus the two
inconsistencies that turned up while doing it. 80 changed lines, accounted
for exactly:

  53  tab label       === "Typescript"            -> === "TypeScript"
  18  badge span      lst-typescript">Typescript  -> TypeScript
   3  prose mention   cloud-run.md, mcp-tools.md, workflows/patterns.md
   2  api-reference/index.md card heading and link text
   1  badge div attr  title="...Python and Typescript."
   1  mkdocs.yml nav  Typescript ADK              -> TypeScript ADK
   1  code fence      ```javascript -> ```typescript on a .ts include
   1  artifacts/index.md closing summary sentence
  ---
  80

The first six rows are pure casing: 78 lines that differ from their
originals by nothing but `Typescript` -> `TypeScript`. The last two are
not, and are the reason this is not a `sed`:

llm-agents.md:872 fenced `--8<-- ".../capital_agent.ts"` as ```javascript.
It was the only javascript-fenced `.ts` include in docs/ (the other 189
TypeScript fences are correct), and it cost that one snippet its
TypeScript highlighting.

artifacts/index.md:1084 closed the page by naming languages and got the
list wrong. It described reaching the artifact methods "using Python's
context objects or directly interacting with the `BaseArtifactService` in
Java" -- a two-language enumeration at the end of a page that carries
Python, TypeScript, Go, Java and Kotlin tabs (11/10/10/10/11), and one
that contradicts :556, which correctly names four of them. The
enumeration is dropped rather than extended: the sentence now describes
the two ways to reach these methods -- through the context object, or
through `BaseArtifactService` -- which is what the page actually teaches
and does not rot when a sixth language is added.

docs/api-reference/index.md is included even though the rest of
docs/api-reference/ is generated output that must not be touched. That
tree holds 3,140 generated HTML files and exactly one hand-authored page:
this one. It is Markdown, it is the only api-reference entry mkdocs.yml
lists as `.md` rather than `index.html` (:272, :441), it uses Material
`grid cards` and `:fontawesome-*:` shortcodes, and it carries a
`CONTRIBUTORS:` note citing issues #1716 and #1717. Its TypeScript card
already said "TypeScript" twice in its body text while its heading and
link text said "Typescript"; those two are now consistent with the body.
No generated file is modified.

Not in this change: the broken `SseConnectionParams` sample in
mcp-tools.md (docs-ts/p6c-mcp-ts-sample) and the `@google/adk` example
version bumps (docs-ts/p6b-example-versions). Only the casing of the
prose line above that sample is touched here.

Verified: `mkdocs build` exits 0 with an empty warning set on both main
and this branch, and the two warning sets are identical. A rendered
before/after diff of the whole site shows every `__tabbed_*` id, every
tab radio id and every heading anchor unchanged. Zero `=== "Typescript"`
and zero `lst-typescript">Typescript` remain anywhere in the repo.

Co-authored-by: Amaad Martin <amaadmartin@google.com>
2026-08-05 15:58:49 -07:00
Haiyuan Cao 0fba5aa6f0 Enhance BigQuery Agent Analytics documentation (#2028)
* Enhance BigQuery Agent Analytics documentation

Updated documentation to clarify Java and Python plugin differences, added details on dropped-event observability, and improved explanations of event types and attributes.

* Address review: use language support tags and a single drop-reasons table

- Replace the inline Java version callouts in prose with language-support-tag
  blocks on the relevant sections (Built-in redaction, Dropped-event
  observability; ADK 2.0 workflow events already carried one).
- Collapse the duplicated 'Drop reasons (Python)' / 'Drop reasons (Java)'
  tables into a single table with a per-language column.
- Trim the duplicated Java scope prose in the intro and the ADK 2.0 note.

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-08-05 08:50:09 -05:00
Joe Fernandez 1d8a608348 docs(live): Refactor streaming docs, move streaming/ to live/ directory (#2063)
Co-authored-by: Shahin Saadati <happyhuman@users.noreply.github.com>
2026-08-04 16:09:24 -07:00
Milen Kovachev 9f1ae0d3f0 docs: add Eventarc tool integration page and code snippets (#2045)
* docs: add Eventarc tool integration page and code snippets

- Document general-purpose EventarcToolset and publish_message tool
- Document domain-specific create_publish_tool with static, dynamic, and runtime lambda attribute bindings
- Add complete, runnable Python code snippets for both built-in tool and domain-specific publishing
- Add Eventarc icon asset

* Improve the documentation after running integration-review script.

* Update eventarc.md

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-04 20:48:26 +00:00
George Weale 71dc8b0b61 docs(models): fix unparseable snippets and stale Claude setup steps (#2012)
* docs(models): fix unparseable snippets and stale Claude setup steps

* docs(models): correct apigee retry claim, LlmResponse.text, McpToolset spelling

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-08-03 16:38:17 -07:00
Zyan 308c783180 Update slack integration page tag to connectors (#2049) 2026-07-31 18:18:26 -05:00
Kristopher Overholt 3246d98ffb Dedupe discovered modules and auto-derive extras in the Python API reference generator (#2043)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-31 17:59:42 -05:00
Joe Fernandez 9dae39408d docs (python): Python API Reference docs v2.6.0 (#2039)
- generated using https://github.com/google/adk-docs/tree/main/tools/python-api-docs
2026-07-31 13:51:30 -07:00
Zyan e62aa9b2d3 Create slack runner integration page #1521 - 4 (#2035)
* Create slack runner integration page #1521 - 4

Adds the official integration documentation for `SlackRunner`. 

- Created `docs/integrations/slack.md` following the Plugin template.
- Added Socket Mode installation and initialization instructions (`google-adk[slack]`).
- Checked against the integration-review and integration-create instructions.

* Update slack.md

* Update slack.md

Worked on feedback
2026-07-31 14:23:17 -06:00
dependabot[bot] 960b9a9d38 chore(deps): bump org.postgresql:postgresql (#2044)
Bumps the maven group with 1 update in the /examples/java/demos/patent-search-agent/src/main/java/tools/CloudRunFunction directory: [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc).


Updates `org.postgresql:postgresql` from 42.7.11 to 42.7.12
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.11...REL42.7.12)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.12
  dependency-type: direct:production
  dependency-group: maven
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-31 15:08:56 -05:00
Mikalai Senkevich f58f09c0df docs: add documentation for OpenAI model support in ADK agents (#2000)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-31 18:29:21 +00:00
Kristopher Overholt bc749667a7 Update API reference docs for ADK TypeScript 1.5.0 (#2040) 2026-07-31 18:21:37 +00:00
Joe Fernandez 3e4a9ea715 docs: Update REST API reference to 2.6.0 (#2042)
* git

* docs: Update REST API reference to 2.6.0
2026-07-31 11:20:00 -07:00
Joe Fernandez c7827b6335 git (#2041) 2026-07-31 11:19:06 -07:00
Zyan cd66bc5128 Update propagate grounding metadata as per Issue #1587 - 6 (#2033)
* Update propagate grounding metadata as per Issue #1587 - 6

Rendered view
PR #1598 
Original Issue #1587 

--

- Improved explanation of original ask bot draft
- Added code example

* Update function-tools.md

* Update function-tools.md

* Update function-tools.md
2026-07-31 12:11:57 -06:00
Kristopher Overholt b0f0e12680 Add TypeScript API reference generation script; update API audit skill (#2038)
* Add script in tools/ to generate ADK TS API reference documentation

* Update API ref audit skill to reflect new ADK TS API ref generation script
2026-07-31 12:53:00 -05:00
Shivansh Sharma 0e1d6094e9 docs: document new RunConfig parameters (#2006)
Co-authored-by: SHAI-shivansh-sharma <SHAI-shivansh-sharma@users.noreply.github.com>
2026-07-31 15:45:42 +00:00
Shobhit Singh de510f8059 docs: remove experimental banner from data agent tools (#2037)
* docs: remove experimental banner from data agent tools

* Update data-agent.md

also remove "Experimental" tag subheader

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-31 08:15:21 -07:00
Zyan b0c2f1665a Slack logo (#2036)
Uploading png image for Slack logo
2026-07-30 20:56:41 -06:00
Zyan 7f1ce79a6f Update custom_metadata per Issue 1292 - 8 (#1983)
* Update custom_metadata per Issue 1292 - 8

Rendered page:
Agent PR: #1306 
Original Issue: #1292 

-Polished the explanation of how and why custom_metadata works. It now clearly outlines how developers can pass service-specific configurations (like ttl and revision_ttl) directly to the underlying Agent Platform.
- I found that the add_events_to_memory(events=...) section that the agent was proposing was already documented in the site.

* Update memory.md

Worked on feedback. Updated the custom metadata documentation to use a generic BaseMemoryService example instead of platform-specific services. The code snippet was also revised to use generic key-value pairs rather than prescriptive TTL keys.
2026-07-30 20:49:29 -06:00
Umer Ali b30cf33cd4 docs: fix missing imports in custom agents and graph routes examples (#1995)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-30 23:03:54 +00:00
Ali Adnan 882165a8b2 Fix route key mismatch in conditional-routing.py workflow example (#1996)
* Update conditional-routing.py

* Update tools_and_agent.py

* Update tools_and_agent.py

* Update tools_and_agent.py

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-30 22:48:11 +00:00
Joe Fernandez c2c5359807 Update code-exec-agent-runtime.md (#2034) 2026-07-30 15:29:08 -07:00
Zyan 890af7cf79 Add Spanner Admin Toolset per issue #1521 - 6 (#1998)
* Update Spanner Toolset per issue #1521 - 6

Rendered page:
PR: #1525 
Original Issue #1521 

---

- Updated the page to add the Spanner admin toolset info with examples.
- Added configuration details for environment variables.
- Added alias for gemini-flash-latest to the bot's original snippet.
- Added contextual system instruction for the agent.

* Update spanner.md
2026-07-29 12:42:44 -06:00
adk-bot 23ea009dfc Update ADK doc according to issue #1256 - 4 - McpToolset Progress Updates (#1263)
* docs: Add section on Handling Progress Updates for McpToolset

* Update mcp-tools.md

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-28 19:26:39 -07:00
Joe Fernandez 84c5364d3b docs(session): refactor the session docs for better usability (#2027)
* Update index.md

* navigation and page title renaming
2026-07-28 23:44:24 +00:00
Josh Zhang 131a92e1d0 docs(integrations): refresh e2a page for the hosted-only MCP server (#2026)
* docs(integrations): refresh e2a page for the hosted-only MCP server

The e2a integration page has drifted from the service since it landed in
May. Corrections:

- Drop both Local MCP Server tabs. The `@e2a/mcp-server` npm package is
  retired and the current server has no stdio transport, so `npx -y
  @e2a/mcp-server` installs an abandoned build.
- Point the remote examples at `https://api.e2a.dev/mcp`, the endpoint
  published in the MCP Registry, instead of the older `mcp.e2a.dev`.
- Remove `E2A_AGENT_EMAIL`, which no longer exists; `whoami` takes no
  inputs and resolves identity from the credential.
- Remove the `E2A_BASE_URL` config table (renamed, and unused now that
  the page is hosted-only).
- Fix the held-send status: `pending_review`, not `pending_approval`.
- Drop the `agent_mode: local|cloud` guidance. There is no delivery mode
  to choose; inbound is available by polling or webhook subscription.
- Refresh the tool surface (~60 tools, was 18) and group it by credential
  scope, since an agent-scoped key sees only the runtime tools.
- Update repository links for the tokencanopy org rename.

* docs(integrations): recommend the e2a SDK for production ADK agents

The MCP toolset gives the model the inbox, which is the wrong layer for
the deterministic parts of a deployment: webhook signature verification,
at-least-once delivery handling, and idempotent sends. Add a section
recommending the SDK own that boundary, with the MCP toolset kept for
model-driven actions inside a turn, and point at the working example.

* docs(integrations): add WebSocket delivery and future-proof the tool count

Two corrections after checking the page against the running service:

- Receiving mail listed only polling and webhooks. WebSocket delivery via
  the SDK's listen() needs no public URL, which makes it the practical
  choice while developing an ADK agent or for a long-running agent that
  isn't a web service.
- The tool surface grows; state 60+ rather than a number that dates.

* docs(integrations): restructure e2a page to the integration template

Address review feedback. Drop the four added top-level sections ('For
production', 'Key scope', 'Receiving mail', 'Sending and review holds')
and fold only the load-bearing facts back into the template's existing
shape:

- Key scope becomes two sentences introducing Available tools, since an
  agent-scoped key genuinely cannot see the admin tools listed there.
- The SDK recommendation becomes a short tip after the code sample,
  keeping the inline links.
- Delivery options and OAuth become one sentence each in Configuration.
- accepted/pending_review moves into the send_message table row.

Additional resources trimmed to four: dropped the MCP Registry link (a
raw JSON API) and the two SDK links, which remain linked inline.

Page is now intro / use cases / prerequisites / one sample / tools /
configuration / resources, 186 lines.

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-28 17:48:35 -05:00
Zyan 342e36d8ee Update OpenAPI tool execution section per Issue #1227 - 11 (#1991)
* OpenAPI tool execution section per Issue #1227 - 11

Rendered view
PRs> #1245 #1246 
Original Issue> #1227 

---

- Updated the execution section of the OpenAPI tool and improved language.
- Did minor edits to format and headers

* Update openapi-tools.md
2026-07-28 16:39:51 -06:00
Zyan 0a9cc3a7db Update include_plugins per Issue #1173 - 9 (#1990)
* Update include_plugins per Issue #1173 - 9

Rendered page>
PRs> #1190  #1192 
Original Issue> #1173 

- Changed the proposed note format into a bullet point.
- Made the explanation shorter and more direct so it matches Google's writing style guide.
- Fixed and replaced the undefined agent variable with a concrete MyImageAgent placeholder class to make the Python snippet self-contained.
- Added comments inside the code to explain exactly what happens when you turn plugins on or off (like how it affects things like tracing and events).
- Did light formatting in the rest of the page

* Update function-tools.md

* Update function-tools.md

fixed rendering mistakes

* Update function-tools.md

Adding a bullet did not work, I created a sub topic to stop the snippet from breaking in the rendering.

* Update function-tools.md
2026-07-28 16:30:37 -06:00
George Weale 98556ba5ad docs(deploy): correct adk deploy CLI options for Cloud Run and GKE (#2011)
* docs(deploy): correct adk deploy CLI options for Cloud Run and GKE

* Update python.md

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-28 20:19:26 +00:00
Haran Rajkumar de3244cb92 Stop publishing homepage partials as standalone pages (#2009)
* Stop publishing homepage partials as standalone pages

The homepage is assembled from partials in docs/_includes/homepage/ via the
macros plugin. mkdocs.yml listed `/_includes/**` under `not_in_nav`, which only
suppresses the "not in nav" warning -- the partials were still built, published,
and indexed. All ten had live URLs, e.g. https://adk.dev/_includes/homepage/_eval/.

These pages are broken in isolation: the partials use paths relative to the site
root, so on their own URL links like `href="evaluate/"` resolve to
/_includes/homepage/_eval/evaluate/ (404) and images fail to load.

Move the pattern to `exclude_docs` so the partials are skipped by the build,
and delete _eval.md and _ai-dev-tools.md, which were dropped from index.md in
#1772 and are no longer included anywhere.

Verified with a local build: site/index.html is byte-identical before and after,
and the only difference across the entire output tree is the removal of the ten
_includes/ pages, which also disappear from sitemap.xml and the search index.

* Update mkdocs.yml

remove extended comments from config file; PR and blame records are sufficient explanation.

---------

Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-28 10:40:56 -07:00
Kristopher Overholt 9114ba877c Fix broken adk-samples links from deleted samples (#2004) 2026-07-28 12:32:40 -05:00
Kristopher Overholt ace8400f79 Improve integration-review skill and add per-skill usage READMEs (#2003)
* Improve integration-review skill and add per-skill usage READMEs

* Improve integration-review line-anchored comments and released-version verification
2026-07-28 12:18:23 -05:00
Kristopher Overholt 32f6197da9 Add skill to audit ADK API reference doc versions (#1999)
* Add skill to audit ADK API reference doc versions

* Clarifications

* Update skill name, add README

* Remove language list
2026-07-28 12:14:21 -05:00
Simon 69b25925e1 docs: update Unstructured Transform MCP tool names and cover the extraction tools (#2010)
* docs: update Unstructured Transform MCP tool names

* docs: cover the Unstructured Transform extraction tools
2026-07-28 11:12:08 -05:00
dependabot[bot] 22bbad0203 chore(deps): bump the go_modules group across 2 directories with 1 update (#2005)
Bumps the go_modules group with 1 update in the /examples/go directory: [google.golang.org/grpc](https://github.com/grpc/grpc-go).
Bumps the go_modules group with 1 update in the /tools/feature-matrix directory: [google.golang.org/grpc](https://github.com/grpc/grpc-go).


Updates `google.golang.org/grpc` from 1.81.1 to 1.82.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.1...v1.82.1)

Updates `google.golang.org/grpc` from 1.79.3 to 1.82.1
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.81.1...v1.82.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.82.1
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: google.golang.org/grpc
  dependency-version: 1.82.1
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 10:40:48 -05:00
Zyan c8e6c03f6f Update external access tokens per issue 1292 - 7 (#1974)
* Update external access tokens per issue 1292 - 7

- Reviewed original PR and added some corrections to the agent's draft.
- Added more info about authentication warnings.
- Added documentation for the external_access_token_key feature in authentication.md.
- Reviewed against python repository.

Links:
- Rendered page: 
- Original PRs: #1303 and #1304 
- Issue: #1292

* Update authentication.md
2026-07-24 15:14:00 -06:00
Zyan 6f00717edb Updating skilltoolset page per issue #1350 - 4 (#1973)
* Updating skilltoolset page per issue #1350 - 4

- Added a note so the developer checks for the files in their working directory.
- Removed redundant and not useful information for the developer on the agent's original
pr.
- Small formatting to headers.
2026-07-24 13:47:25 -06:00
Maciej Szwaja 6f82b62a08 chore: update ADK Java doc to version 1.7.0 (#1989) 2026-07-24 18:22:51 +00:00
Kristopher Overholt ceceda2616 Fix broken docs link on ZoomInfo integration page (#1992)
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
2026-07-24 18:21:56 +00:00
Haiyuan Cao 29c409dab3 docs: highlight BigQuery Agent Analytics Looker Block in the dashboard section (#1997)
Add a featured "Looker Block" subsection to "Build a dashboard" pointing to the
ready-to-use BigQuery Agent Analytics Looker Block on the Looker Marketplace,
and move the existing example-notebook guidance under a "Custom dashboard from a
notebook" subsection.
2026-07-23 14:15:45 -05:00
Zyan d9a0b5d187 Updating gke page per issue #1521 - 12 (#1972)
* Updating gke page per issue #1521 - 12

Update GKE deployment guide and formatting:
-Fixed missing information and errors for --service_type, ClusterIP, and LoadBalancer.
-Replaced deprecated Flash 2.0 mentions with gemini-latest.
-Removed outdated Vertex AI references.
-Improved the troubleshooting section and verified code snippets.
-General cleanup: fixed grammar, text wrapping, whitespace, bullet points, and note blocks (!!!).

Rendered Page: 
Agent's PR: https://github.com/google/adk-docs/pull/1527
Original Issue: #1521

* Update gke.md

* Update gke.md
2026-07-23 12:06:21 -06:00
Zyan 9a5d9ca36a Add skill to review PRs generated by adk-bot (#1982)
* Create SKILL.md

Skill page to review adk bot PRs

* Update SKILL.md

Worked on feedback and also I added a step instructing the bot to search closed issues and past PRs.

* Update adk-bot-review skill and tidy skill formatting

---------

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-22 12:46:06 -05:00
Umer Ali cd7b1935ed fix: add missing await to create_session calls in callback examples (#1976)
InMemorySessionService.create_session is async, so calls without await
return unawaited coroutines and the sessions are never created, causing
SessionNotFoundError on subsequent runner.run_async() calls.

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-20 16:56:53 -05:00
Umer Ali 5e70bc7be3 fix: correct undefined variable names in state output_key example (#1977)
Variables app_name and user_id were defined lowercase but referenced as
APP_NAME and USER_ID (uppercase), causing NameError at runtime.

Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-20 15:58:17 -05:00
Umer Ali 04655e1bf7 docs: fix wrong return type and missing imports in function tools example (#1979)
Co-authored-by: Kristopher Overholt <koverholt@google.com>
2026-07-20 15:54:06 -05:00