[feat] Add triggers catalog browse and connections UI#4741
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Adds a Triggers settings surface mirroring the tools UI: browse a connected integration's providers/integrations/events and view each event's trigger_config schema. Connections are read via /triggers/connections and the same shared gateway_connections row appears under both tools and triggers without a second connect. The gatewayTrigger API layer validates at the boundary with zod, mirroring the backend DTOs until the Fern client is regenerated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Superseded by #4749, which consolidates the entire gateway-triggers work (api + web + hosting + docs) into a single PR. |
Context
The triggers backend (catalog plus connections) had no UI. This lane adds the browse half of the frontend: a Triggers surface where you pick a connected integration, browse its events, and see each event's config schema, plus the connection list. It is the visual dual of the existing Tools settings surface.
Changes
Adds a Triggers settings surface mirroring the Tools UI:
trigger_configschema read-only, reusing the existingSchemaForm./triggers/connections. The same sharedgateway_connectionsrow appears under both Tools and Triggers with no second connect. The two lists use distinct React Query keys so the shared rows never collide in cache, and the connection type is aliased to the tools type so the lists stay byte-compatible.gatewayTriggermodules in@agenta/entities(API client, hooks, state) and@agenta/entity-ui(the events drawer), plus the OSS settings page and sidebar entry.The API client is built on the shared axios instance with zod validation at the boundary, because the catalog API is not yet in the generated Fern client and regenerating it needs the backend OpenAPI (out of scope for a web-only lane). The local zod schemas mirror the backend DTOs and collapse onto the generated client once it is regenerated.
The Triggers tab is gated by the same Composio gate as Tools (
isToolsEnabled()); no separate frontend flag.Tests / notes
@agenta/entitiesunit suite passes, including a newgatewayTriggerApitest covering catalog browse, the shared-row reads, and boundary-validation fallbacks.@agenta/entitiesand@agenta/entity-ui.What to QA
trigger_configschema. Confirm the connection that appears under Tools also appears under Triggers without prompting a second connect.