feat(surface,sdk): helpers runtime fanout via codegen for 46 relayfile providers (#340) - #342
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
maintainability lens — FAILMaintainability review — PR #342Blockers1. Failing tests shipped as evidence. 2. Concerns
Notes
REVIEW_FAILED |
history lens — PASSBlockers: none under the three HISTORY criteria. Reviewed commit Notes
Concerns — nonblocking for this lens
REVIEW_PASSED |
structure lens — MISSING |
|
🎯 review-swarm: FAILED (M:fail H:pass S:missing) Lens transcripts posted as sibling comments above. |
45f9ba7 to
a7ef243
Compare
6410c53 to
82dbaa5
Compare
c1552e5 to
1c284bf
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1c284bf. Configure here.
…e providers (#340) Generate 50 namespaces, with 40 runtime clients and explicit refusal for unavailable upstream clients. Full acceptance remains blocked by the upstream gaps documented in docs/HELPERS-RUNTIME.md. Capture typechecks, full test runs, and the passing isolated retry of two watch-mode timeouts. Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
…es it Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82 Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
Slice Y widened SlackPostMessage to carry blocks/attachments (via
{text, blocks, attachments} or opts). Slice S's helper transport
went through slackClient which only receives flattened text, so
those fields were lost. Wrap the transport for slack.post to
project the original call params onto the writeback body.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
Session-Id: efeda5df-9b7c-48d4-b2ce-957f5bef0a82
1c284bf to
400785f
Compare

Closes #340. Extends slice N (#332, merged) — from 5 typed providers to 51 providers with runtime wrappers.
Delivered via flows dogfooding
First real slice implemented through
implement-slice.flow.ts— not SSH+spawn. Journal-backed, kernel-owned. Codex agent-4 executed under a worker lease for 2062s producing this commit.01M28Z5VQCCHMC7P3945971KCMhttps://agentrelay.com/observer?key=ot_live_6bdb5611795e5991234c196ef9831b50a51592a5f6798f01Scope delivered
scripts/generate-helpers.mjsto emit runtime wrappers alongside types for all 51 providersProviders wired end-to-end
airtable, asana, azure-blob, box, calendly, clickup, cloudflare, confluence, daytona, docker-hub, dropbox, fathom, gcp, gcs, github, gitlab, gmail, google-calendar, google-drive, granola, hubspot, intercom, jira, linear, mailgun, mixpanel, neon, notion, onedrive, pipedrive, postgres, posthog, recall, reddit, redis, s3, salesforce, segment, sendgrid, sharepoint, shopify, shortcut, slack, stripe, teams, telegram, webhook-server, x, zendesk
Not-in-scope
on(slack.mention(...))) — separate follow-upTest plan
🤖 Delivered via flows-driven implement-slice.flow.ts (dogfooded). First real spec slice through the new pattern.
Note
Medium Risk
Broadens external writeback and journal effect paths across many providers using the existing Slack pattern; mis-preflight or delivery confirmation bugs could affect many integrations, though behavior is heavily tested in mock/kernel suites.
Overview
Slice S wires generated relayfile helper clients onto flow
Ctxso calls likef.github.createIssue(...)lower to the same journaled agent-step + effect protocol Slack already used, now for ~50 provider namespaces (40 with live clients; 10 marked unavailable).The SDK replaces Slack-only effect plumbing with
authored-helper-effect, a shared mount/mock writeback transport (helper-writeback), durable receipts, andresumeHelperEffecton CLI resume. Preflight scans declaredtoolsand static body references for every provider (helper_provider.mount_required/helper_provider.unsupported), and flow headers accept each generated namespace. Slack keeps its ergonomic API but routes through the shared transport; structured post bodies are preserved via a small wrapper.Surface adds
bindHelper/invokeHelperso async client methods become lazySteps, plus docs (HELPERS-RUNTIME.md) and slice-S verification artifacts. Documented gaps: full live provider bar not closed (#340)—ten providers lack upstream clients;f.notion.appendBlockis mock-only without an adapter route.Reviewed by Cursor Bugbot for commit 400785f. Bugbot is set up for automated code reviews on this repo. Configure here.