Skip to content

Add the Kotlin tab for driving a long-running tool to completion - #2159

Open
happyhuman wants to merge 1 commit into
mainfrom
docs-kotlin-hitl-tools
Open

Add the Kotlin tab for driving a long-running tool to completion#2159
happyhuman wants to merge 1 commit into
mainfrom
docs-kotlin-hitl-tools

Conversation

@happyhuman

Copy link
Copy Markdown
Collaborator

What

Adds the missing Kotlin tab to the call_reimbursement_tool group on docs/tools-custom/function-tools.md, via a new call_reimbursement_tool region in the LongRunningTool.kt file that already backs this page.

Why

The page already has a Kotlin tab for defining a long-running tool (@Tool(isLongRunning = true)), but none for resuming one. That leaves the Kotlin reader exactly at the point where the invocation pauses, with no shown way forward — while Python, TypeScript, Go and Java all continue.

The Kotlin flow mirrors Python's: find the call whose id the event lists in Event.longRunningToolIds, hold on to the matching FunctionResponse, then send a copy back with the final status to resume.

Scope: half this backlog row is deliberately not here

The row also named RequestInputTool and GetUserChoiceTool. I did not document them, because they have no host page in any language:

  • Neither appears in any narrative docs/**.md page — only in generated API reference, plus incidental mentions (docs/agents/config.md name list, BigQuery analytics event names).
  • docs/graphs/human-input.md is the graphs subsystem, which Kotlin does not have, so it is the wrong home — as the backlog itself noted.
  • There is no general built-in-tools page to extend.

Adding a Kotlin-only section would invent page structure rather than close a Kotlin gap, so this is Kotlin being level with the other SDKs, not behind. Recorded for a product-docs request instead.

Verification

Grounded against the v0.8.0 git tag. Full ladder green (L0, L1 compile with KSP, L2 ktlint, L3, L5, L6). L4 runSnippets reports SKIP — no such Gradle task exists in this repo.

Tracked as KT-26.

The call_reimbursement_tool group showed Python, TypeScript, Go and Java
but not Kotlin, even though the page already carries a Kotlin tab for
defining the tool a few sections earlier. Defining a long-running tool
without showing how to resume it leaves the Kotlin reader at the point
where the invocation pauses.

The new region extends the file that already backs this page rather than
adding a second one. It mirrors the Python flow: watch for the call whose
id appears in Event.longRunningToolIds, keep the matching
FunctionResponse, then send a copy of it back with the final status to
resume the paused invocation.

Scoped deliberately to that group. RequestInputTool and GetUserChoiceTool
were also on this backlog row, but they have no host page in ANY language
- they appear nowhere in the narrative docs, only in generated API
reference - so adding a Kotlin-only section for them would invent
structure rather than close a gap. Recorded for a product-docs request
instead.
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for adk-docs-preview ready!

Name Link
🔨 Latest commit ea02d54
🔍 Latest deploy log https://app.netlify.com/projects/adk-docs-preview/deploys/6a872a64e676a700078c4c5e
😎 Deploy Preview https://deploy-preview-2159--adk-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@happyhuman happyhuman self-assigned this Aug 20, 2026
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