Extends slice N (#324, merged as #332). N shipped typed codegen for a handful of providers. This slice extends scripts/generate-helpers.mjs to emit runtime wrappers (not just types) for all 51 relayfile-adapters providers, using the slack pattern from B (#299 → #314).
Scope
Enhance scripts/generate-helpers.mjs to walk every adapter in /Users/khaliqgant/Projects/AgentWorkforce/relayfile-adapters/packages/*/ and emit for each provider:
- Typed helper client in
packages/surface/src/helpers/<provider>.ts (already done for slack/github/linear/notion/stripe by N)
- NEW: Runtime wrapper that lowers each verb to a journaled effect step consuming the
@relayfile/relay-helpers client, with mount writeback + mock mode (same shape as packages/surface/src/slack.ts)
- NEW: Preflight for each provider's credential/mount requirement, mirroring the slack preflight
Providers to add (46 remaining)
airtable, asana, azure-blob, box, calendly, clickup, cloudflare, confluence, daytona, docker-hub, dropbox, fathom, gcp, gcs, gmail, google-calendar, google-drive, granola, hubspot, intercom, jira, mailgun, mixpanel, neon, onedrive, pipedrive, postgres, posthog, recall, reddit, redis, s3, salesforce, segment, sendgrid, sharepoint, shopify, shortcut, teams, telegram, x, webhook-server, zendesk (plus the 5 N already covered as regression check)
Not-in-scope
- Provider-specific TRIGGERS (
on(slack.mention(...))) — separate follow-up
- Rich block/attachment types beyond what relay-helpers already exports
- Direct-token transports (mount writeback is the sanctioned path)
Acceptance
- `f.github.createIssue({repo, title, body})` typechecks + runs → journaled effect step → relayfile mount write
- Same for f.linear.createIssue, f.notion.appendBlock, f.stripe.createInvoice, etc.
- Regression: existing f.slack.post keeps working
- Codegen is idempotent: rerunning produces same output
- Mock mode (`RELAYFLOWS__MOCK=1`) works uniformly for all providers
Depends on
Files to touch
scripts/generate-helpers.mjs (enhance), packages/surface/src/helpers/*.ts (generated for all providers), packages/surface/src/effect-transport.ts (new — shared effect+mount writeback that all providers use), packages/sdk/src/preflight.ts (generic provider-credential check), tests + fixture flow per-provider smoke
🤖 Filed by relayflow-lead-0910
Extends slice N (#324, merged as #332). N shipped typed codegen for a handful of providers. This slice extends
scripts/generate-helpers.mjsto emit runtime wrappers (not just types) for all 51 relayfile-adapters providers, using the slack pattern from B (#299 → #314).Scope
Enhance
scripts/generate-helpers.mjsto walk every adapter in/Users/khaliqgant/Projects/AgentWorkforce/relayfile-adapters/packages/*/and emit for each provider:packages/surface/src/helpers/<provider>.ts(already done for slack/github/linear/notion/stripe by N)@relayfile/relay-helpersclient, with mount writeback + mock mode (same shape aspackages/surface/src/slack.ts)Providers to add (46 remaining)
airtable, asana, azure-blob, box, calendly, clickup, cloudflare, confluence, daytona, docker-hub, dropbox, fathom, gcp, gcs, gmail, google-calendar, google-drive, granola, hubspot, intercom, jira, mailgun, mixpanel, neon, onedrive, pipedrive, postgres, posthog, recall, reddit, redis, s3, salesforce, segment, sendgrid, sharepoint, shopify, shortcut, teams, telegram, x, webhook-server, zendesk (plus the 5 N already covered as regression check)
Not-in-scope
on(slack.mention(...))) — separate follow-upAcceptance
Depends on
Files to touch
scripts/generate-helpers.mjs (enhance), packages/surface/src/helpers/*.ts (generated for all providers), packages/surface/src/effect-transport.ts (new — shared effect+mount writeback that all providers use), packages/sdk/src/preflight.ts (generic provider-credential check), tests + fixture flow per-provider smoke
🤖 Filed by relayflow-lead-0910