Skip to content

feat(adapters): full write-side capability set across 30 high-impact integrations#70

Merged
drewstone merged 30 commits into
developfrom
feat/adapters-mega-fanout-tier-1-2
Jun 2, 2026
Merged

feat(adapters): full write-side capability set across 30 high-impact integrations#70
drewstone merged 30 commits into
developfrom
feat/adapters-mega-fanout-tier-1-2

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Adds writable + missing-read capabilities across 30 integration adapters, plus one declarative-rest infrastructure fix that enables the new capability shapes.

What

Per-adapter mutation/write surface expansion. Most adapters previously shipped a read-only or partial surface; this PR closes the obvious gaps so an agent can not just inspect but act.

Adapter New capabilities
apollo sequences.add_contacts
asana tasks.addComment, tasks.complete
billplz cancel.bill, create.refund
browse-ai capturedLists.get, tasks.list
chatwoot toggle_status, assign_conversation
devin sessions.list, attachments.upload
emailit logs.list
github pulls.create, pulls.merge, issues.createComment, pulls.reviews.create
gitlab merge_requests.create, merge_requests.accept, notes.create
heartbeat threads.create, messages.create
hubspot create_deal, update_deal_stage, create_ticket
intercom contacts.create, contacts.update
just-invoice invoices.send, invoices.markPaid, invoices.update
kimai timesheets.stop, timesheets.list, projects.list
kissflow process.instance.create, process.instance.submit
lemon-squeezy subscriptions.cancel, orders.issueRefund
mailchain messages.inbox.list
mattermost update_post, delete_post, add_reaction
nifty tasks.update, comments.create
outlook-mail send_message, create_draft
pipedrive activities.create, notes.create
shippo transactions.create, tracks.get
shopify refunds.create, fulfillments.create, draft_orders.create
slack post_in_thread, update_message, delete_message, add_reaction, upload_file
stripe-pack create_payment_intent, create_refund, create_customer
twin-labs browsing.stop, browsing.get
twitter tweets.delete, tweets.like, tweets.retweet, dms.send
vouchery-io vouchers.redeem, vouchers.void
zapier actions.list, actions.execute

All new mutations carry cas: 'native-idempotency' + externalEffect: true per the ConnectorAdapter contract.

Infrastructure fix

declarative-rest.ts: two changes the new capabilities depend on.

  1. Preserve baseUrl path. new URL('/x', 'https://api/v1') drops /v1 because absolute paths reset to origin. Strip the leading / from operation paths so a baseUrl with a prefix (api.emailit.com/v1, www.billplz.com/api/v3) keeps it.
  2. Recursive body interpolation. renderValue now recurses into arrays and nested objects so adapters that ship structured bodies (billplz, emailit, lemon-squeezy) get their {placeholder} strings interpolated instead of shipped as literals.

Both are pure platform fixes — no behavior change for adapters with flat bodies and prefix-free baseUrls.

Tests

  • 2617 / 2617 passing locally (pnpm exec vitest run).
  • 30 disjoint adapter commits, each shipping adapter code + adapter tests together.
  • One fix(declarative-rest) commit lands the platform change.
  • pnpm exec tsc --noEmit clean.

…lation

new URL('/x', 'https://api/v1') drops the /v1 because absolute paths reset
to origin. Strip the leading / from operation paths so a baseUrl with a
prefix (api.emailit.com/v1, www.billplz.com/api/v3) keeps it. Also recurse
into arrays and nested objects in renderValue so structured request bodies
(billplz, emailit, lemon-squeezy) get their {placeholder} strings
interpolated instead of shipped as literals.

@tangletools tangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved — write-side capability expansion across 30 integration adapters. All 2617 tests green; declarative-rest infrastructure fix is sound (baseUrl path preservation + recursive body interpolation are correct for the new structured-body adapters). Per-adapter commits keep diff bisectable.

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.

2 participants