feat(integrations): add Taskmarket requester toolset - #6718
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
thanks for the pr. we dont take vendor-specific integrations into adk core, the framework would end up owning an integration per product and we cant maintain or test those against live third-party services. this works fine as a standalone package. you can publish it and list it in the integrations catalog at adk.dev/integrations, which is where users look for this. closing for that reason. |
Fixes #6717
Summary
This PR adds a self-contained
google.adk.integrations.taskmarketpackage forTaskmarket requester workflows:
list_tasks,get_task, andlist_submissionsread live public API data.preview_taskproduces an exact review record with description, reward,duration, deadline, mode, tags, Base chain ID, USDC contract, and a
conservative maximum spend.
create_taskis wrapped with ADK's confirmation gate and additionallyrequires
confirm=Trueplus the unchanged preview token.available balance. It invokes
taskmarket task createonce, without shellinterpolation or automatic retries.
caller to inspect live Taskmarket status before doing anything else.
accepted or stored by ADK.
Usage
Install and initialize the first-party CLI outside ADK:
Then add
TaskMarketToolset()to an ADK agent. The integration documentationin
src/google/adk/integrations/taskmarket/README.mdinstructs the agent toshow the preview and obtain explicit user confirmation before creating a task,
and to keep submission acceptance/rejection human-reviewed.
Validation
Local validation on Python 3.12:
pytest -q tests/unittests/integrations/taskmarket/test_taskmarket_toolset.py— 8 passedpytest -q tests/unittests/integrations— 582 passed, 2 skipped, 19 subtests passedpyink --check— passedisort --check-only— passedruff check— passedmypy src/google/adk/integrations/taskmarket— passedscripts/compliance_checks.py— passedThe focused tests cover the exact preview token, explicit confirmation,
changed-request rejection, Base/USDC and balance preflight, no blind retry on
ambiguous writes, and public API reads.
Upstream and Taskmarket evidence
c22518c2ff7c23fa758c5b62cd2b46a3dc9f9fa2checks passed. The triage check is in progress. The Google CLA check asks a
first-time contributor to sign the upstream CLA; no CLA was signed or
represented on the user's behalf.
0xfb182f610d57a6c056a8cfd1c9b691a0869c1e0d67c041ac27ed9f42a9c732a12a662c3d-e2f1-4a03-bc03-a1c8ab6ed4b10xbc7cf3ce97cfcc627f5d65ed9a2c156cffafd8c85482d604c4d1291ac612acfe0xff7d123aab5940c14c6cb63aec51fb4d9fef96a7d96a5418267b782a068db876evidence capture. Selection and payment remain pending.
The implementation is a small integration package and does not change ADK core
agent or tool execution semantics. It uses AI-assisted development; all
behavior is covered by the tests and validation commands above.