feat: add confirmation-gated TaskMarket toolset - #12342
Conversation
|
@a1271981054 is attempting to deploy a commit to the deepset Team on Vercel. A member of the Team first needs to authorize it. |
|
|
|
Hi @a1271981054, thanks a lot for your contribution! 🙏 We noticed that the Contributor License Agreement (CLA) check ( To get your PR reviewed, please sign the CLA via the link in the |
|
Hi @a1271981054, just a friendly reminder: this PR is still in draft because the Contributor License Agreement (CLA) hasn't been signed yet. We'd love to review your contribution! Please sign the CLA via the link in the |
Related Issues
Proposed Changes
This PR adds
TaskMarketToolset, a first-party HaystackToolsetfor discovering and requesting external TaskMarket work from an agent workflow.confirm=True, a matching preview, an application-provided approval callback, Base/USDC wallet preflight, and sufficient USDC balance.taskmarketCLI without accepting private keys, shell interpolation, automatic submission acceptance/rejection, or retries of ambiguous writes.How did you test it?
hatch run fmthatch run test:typeshatch run test:unit test/tools -q— 294 passed, 12 deselectedhatch -e test run python -c 'from haystack.tools import TaskMarketToolset; ...'against the live public TaskMarket API — read-only listing succeeded.taskmarket depositandtaskmarket statsoutput checks confirmed the Base chain, USDC contract, andbalanceUsdcfields consumed by the preflight path.Notes for the reviewer
The write path intentionally stops at an application approval callback and never handles private keys. A CLI timeout is reported as
status="unknown"so callers reconcile live status before deciding whether to do anything else.This PR was fully generated with an AI assistant. I have reviewed the changes and run the relevant tests.
Checklist