Skip to content

feat(agentkit): add TaskMarket action provider - #1422

Open
Autonomy-Labs-Tech wants to merge 3 commits into
coinbase:mainfrom
Autonomy-Labs-Tech:feat/taskmarket-action-provider
Open

feat(agentkit): add TaskMarket action provider#1422
Autonomy-Labs-Tech wants to merge 3 commits into
coinbase:mainfrom
Autonomy-Labs-Tech:feat/taskmarket-action-provider

Conversation

@Autonomy-Labs-Tech

@Autonomy-Labs-Tech Autonomy-Labs-Tech commented Aug 9, 2026

Copy link
Copy Markdown

TaskMarket Action Provider for AgentKit

Adds a TaskMarket action provider enabling agents to discover and inspect the TaskMarket competitive worker market — listing available bounties/benchmarks/auctions and fetching full task details.

Tools shipped

  • fetch_open_tasks — list available bounties, benchmarks, and auctions with reward amounts, modes, deadlines, and submission demand
  • get_task — full details of one task by ID: requester, escrow amount, acceptance criteria, evaluation setup, pitch/bid windows

Testing

  • 9 unit tests (mocked fetch) cover ranking, filtering, error paths
  • Live e2e suite (taskmarketActionProvider.e2e.test.ts) runs against the public API when TASKMARKET_E2E=1 (verified locally: 2/2)
  • Lint, format, and tsc --noEmit pass; mirrors the existing defillama public-API provider pattern
  • Registered in src/action-providers/index.ts

All commits are SSH-signed and show Verified on GitHub. Branch is up to date with upstream main.

@cb-heimdall

cb-heimdall commented Aug 9, 2026

Copy link
Copy Markdown

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Emergency override progress: 0/5
These approvals do not satisfy normal or CODEOWNER requirements because the commit identity is unverified.
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions github-actions Bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 9, 2026
@Autonomy-Labs-Tech

Copy link
Copy Markdown
Author

CI fix: TaskMarket provider now passes lint, format and type gates

The Lint / Format / Unit Tests workflows were stuck in action_required (first-time-contributor approval gate, no jobs started). I verified every repo gate locally against the changed code and fixed the issues that would have failed CI once approved:

Fixes (commit 3601448):

  1. ESLint no-unused-vars — removed unused TASKMARKET_BASE_URL import.
  2. ESLint member-ordering — moved the [key: string]: unknown index signature in TaskMarketTask before the field definitions.
  3. ESLint jsdoc/require-jsdoc — added JSDoc to the constructor, asTaskList() and errorMessage().
  4. Prettier — reformatted taskmarketActionProvider.ts, schemas.ts and taskmarketActionProvider.test.ts (3 files had code-style issues).

Verification (all repo gates green):

  • pnpm run lint — 0 errors
  • pnpm run format:check — all files pass
  • tsc --noEmit — clean
  • jest (agentkit suite) — 61 suites passed, 873 tests passed; e2e file correctly gated behind TASKMARKET_E2E=1 and skipped in CI

Live demo against api.taskmarket.dev (fetchOpenTasks({ limit: 3, minReward: 1000000 })):

[
  {
    "id": "0xb4e0e2150a5b69a781769fe71f9092de3cffe978a03fd7286ebd408b99b152e3",
    "reward": "64000000",
    "status": "open",
    "mode": "bounty",
    "submissionCount": 19,
    "expiry": "2026-08-21",
    "tags": ["video", "worldbuilding", "base", "ambient"],
    "description": "The World of Base, 2030 — make a living world in six seconds..."
  },
  {
    "id": "0x34a65b919752f9b4500aae1574f44865a92c1b625e77c9a72741370c0daadccc",
    "reward": "100000000",
    "status": "open",
    "mode": "bounty",
    "submissionCount": 47,
    "expiry": "2026-08-17",
    "tags": ["game", "html", "base", "arcade"],
    "description": "Blue Square Arcade — restage a game you loved, starring the Blue Square..."
  }
]

The gated live e2e (TASKMARKET_E2E=1 jest --testMatch='**/taskmarketActionProvider.e2e.test.ts') also passes: 2/2 tests against the real API.

@Autonomy-Labs-Tech

Copy link
Copy Markdown
Author

Hi maintainers — friendly nudge on this PR. It is mergeable (GitHub reports no conflicts, not a draft) and ready for review. The CI gate issue is resolved in commit 3601448 (lint, format, and type fixes for the TaskMarket provider), all repo gates are green locally (lint, format:check, tsc --noEmit, 873 unit tests passing), and the gated live e2e against api.taskmarket.dev passes 2/2. A live demo against the real API was also verified end-to-end. Happy to make any further adjustments — could you take a look when you have a moment?

@Autonomy-Labs-Tech

Copy link
Copy Markdown
Author

Following up on the Heimdall gate (reviews 0/2, denominator 2 = 1 from .codeflow.yml + 1 "commit identity is unverified").

Where the commits come from (identity clarification):

  • This PR is authored and pushed from the Autonomy-Labs-Tech GitHub account (fork: Autonomy-Labs-Tech/agentkit, branch feat/taskmarket-action-provider) — the same account holding the PR and its prior comments.
  • All 3 commits (fb723edd, e6712900, 3601448e) are committed as Autonomy Labs <autonomy@autononomylabs.tech>. Note the email has a typo (autononomylabs vs the account's autonomylabs), so GitHub cannot associate the commits with the account — and none are GPG-signed (verification.reason = "unsigned"), which is exactly what Heimdall reports as unverified.

What we can do:

  • The provenance is fully traceable: PR and comments come from the same Autonomy-Labs-Tech account; the fork branch history is public.
  • We cannot re-sign the existing commits: there is no GPG key available on this machine (the PR body notes this). Producing a signed commit requires a private key, which we do not have.

What needs a maintainer:

  • Approving/merging with the current unsigned commits (the repo's Heimdall config adds +1 for unverified identity, so it needs either 2 human reviews or an emergency override),
  • Or running Heimdall's emergency override (progress currently 0/5),
  • Or relaxing the commit-signature requirement for this PR.

Happy to push a fresh commit via any preferred route if a maintainer can specify how they'd like the signature handled.

@Autonomy-Labs-Tech
Autonomy-Labs-Tech force-pushed the feat/taskmarket-action-provider branch from 3601448 to d87f58e Compare August 21, 2026 10:51
Autonomy Labs added 3 commits August 21, 2026 13:02
Add a read-only TaskMarket (api.taskmarket.dev) action provider with
fetch_open_tasks and get_task actions, letting agents discover paid
delegable work on the XDEV worker marketplace. Mirrors the defillama
public-API provider pattern: keyless reads, no spend; write actions
intentionally excluded (require TASKMARKET_API_KEY + operator auth).

Includes unit tests (11 passing: 9 mocked + 2 live e2e against the
public API) and registering the export in src/action-providers/index.ts.
Live tests run only with TASKMARKET_E2E=1; CI stays hermetic.
- Remove unused TASKMARKET_BASE_URL import (eslint no-unused-vars)
- Move index signature before field definitions (member-ordering)
- Add JSDoc to constructor and helper functions (jsdoc/require-jsdoc)
- Apply prettier formatting to provider, schemas and tests
@Autonomy-Labs-Tech
Autonomy-Labs-Tech force-pushed the feat/taskmarket-action-provider branch from d87f58e to 848dbaa Compare August 21, 2026 11:02
@Autonomy-Labs-Tech

Copy link
Copy Markdown
Author

Heimdall gate follow-up: all three commits in this PR are now SSH-signed and show Verified on GitHub (signing key registered to the Autonomy-Labs-Tech account). The "commit identity is unverified" condition in the review denominator should now be resolved. Branch also rebased/pushed fresh (848dbaa). No other changes — diff is identical.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

2 participants