* Add TypeScript tabs to the graph workflow pages
The five /graphs/ pages documented graph workflows for Python and Go only,
so a TypeScript reader had to infer the API from the Python tab — which
does not translate: TypeScript has no `@node` decorator, schemas are Zod
objects rather than pydantic models, state is written through `ctx.state`
instead of returned on an event, and a user-facing message is the event's
`content` rather than a `message` field.
Every section that has a Python tab now has a TypeScript tab before the Go
one, backed by 26 snippet files under examples/typescript/snippets/graphs/.
The snippets are ported from the runnable samples in adk-js
(samples/workflows/), which already map 1:1 to these section anchors, and
they all type-check against the adk-js workflow API.
The tabs also call out the behaviours that are easy to get wrong and have
no Python equivalent: `ctx.runNode()` resolves to a node result rather than
the output, and does not throw when a child interrupts; a second event
carrying `output` silently overwrites the first; `LlmAgent.inputSchema` is
not the node's input contract inside a graph.
* Drop inline comments from the graph workflow snippets
The `//` annotations inside the snippet regions duplicated the prose that
already introduces each tab, and they were the first thing a reader saw in a
rendered sample rather than the API itself.
Removes the 83 `//` comments inside the `--8<--` regions across all 26 files.
JSDoc blocks stay, since they document what a function or schema is rather
than annotating a line; the Apache headers and the per-file orientation
comments above each region are untouched, and neither renders on the docs
site anyway.
Verified comment-only: compiling every file before and after with
`tsc --removeComments` produces byte-identical `.js` and `.d.ts` output
across all 52 emitted files.
* Use single-quoted strings in the graph workflow snippets
The 26 files landed double-quoted, which reads as a deliberate choice next to
the existing TypeScript snippets under examples/typescript/snippets/ — those
are predominantly single-quoted (49 of 68 imports). The repo has no prettier
config, so nothing enforces either style; this just stops the new directory
looking different from its neighbours.
Formatting only: `prettier --no-config --single-quote`, and every changed line
differs from the original by a quote character alone. Compiling before and
after with `tsc --removeComments` produces output whose only differences are
the same quote swaps, since tsc preserves the source quote style.
* Restore the upstream titleCase guard in the nested workflow snippet
Porting samples/workflows/routes/nested_workflow inlined the `titleCase`
helper and dropped the check that a character's uppercase form is a single
code point, along with the comment explaining why it is there. That changed
behaviour for word-initial characters whose uppercase expands: "first draft"
became "FIrst Draft" and "ßeta test" became "SSeta Test", where upstream
leaves both alone.
Restores the helper, the guard and the rationale. Because the helper sits
inside the --8<-- region, the explanation now renders on the page as well, so
the next person to touch it can see what the guard is for.
Also restores an unused `_ctx` parameter in the user_message snippet, the only
other place the port had drifted from upstream.
Verified by compiling each of the 26 snippets and its upstream counterpart at
adk-v2.0.0 with `tsc --removeComments` and comparing the emitted JavaScript:
all 26 are now semantically identical to samples/workflows/.
* Address review: plainer wording, and lift shared cautions out of the tabs
Wording, across all TypeScript tabs:
- No sentence starts with code syntax. "`route` is independent of..." becomes
"The `route` value is independent of...", and the same for the other cases.
- Removed informal and editorial phrasing: "earn their keep", "dropped
straight into", "reach for", "hands you", "two things to know going in",
"kick the children off", "fails loudly".
- Spelled out "/" as "and" in the `inputSchema` and `outputSchema` sentence.
- Described the `ctx.runNode()` interrupt behaviour in full rather than only
as "does not throw": it returns normally with `interruptIds` populated and
`output` undefined, and an orchestrator that skips the check continues with
a value the user never supplied.
- Explained what a JoinNode waits for instead of referring to "the barrier".
- Tied the `rerunOnResume` option back to the code sample it follows, and
introduced the two orchestrator details by saying when they matter.
Structure:
- The "Response schema input limitations" note appeared in both the Python
and TypeScript tabs. Replaced both with one language-neutral note after the
code examples.
- The "Stuck JoinNode" caution appeared in all three tabs. Replaced them with
one caution after the code examples, stating the rule that every node
feeding a join must produce an output.
- Moved the unbounded-cycle caution out of the TypeScript tab to the end of
the section, since it is not language specific.
Snippet header comments got the same wording pass. Verified afterwards: the
26 snippets still type-check, all 53 snippet includes resolve, and every
snippet is still semantically identical to samples/workflows/ at adk-v2.0.0.
* Apply suggestion from @joefernandez
---------
Co-authored-by: Joe Fernandez <931947+joefernandez@users.noreply.github.com>
* adding go getting started to 2.0 docs
* updating graphs docs for go; adding in workflow example go snippets
* Updating HiTL docs for Go 2.0
* updating Go getting started guide for v2
* Updating Routes docs for Go v2
* Updating data handling docs for Go 2.0
* Updating dynamic workflows docs for Go 2.0
* fix(docs): set ADK Go 2.0 GA date on the 2.0 landing page
* fix(docs): standardize ADK Go 2.0 install/import on /v2 @ v2.0.0
* updating announcement banner
* routes snippets updates
* 2.0 install instructions clean-up
* updating collaboration docs for go v2 + new example snippet
---------
Co-authored-by: Karol Piotrowicz <kpiotrowicz@google.com>
* Updated the python code sample for routing.
* Simplified the routing sample
* Update routes.md
add more indent to "if" statement return for readability
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>