Skip to content

feat(platform): integration package upload with OAuth2 and connection testing#432

Merged
larryro merged 57 commits into
mainfrom
feat/318-integration-package-upload
Feb 12, 2026
Merged

feat(platform): integration package upload with OAuth2 and connection testing#432
larryro merged 57 commits into
mainfrom
feat/318-integration-package-upload

Conversation

@larryro

@larryro larryro commented Feb 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add integration package upload wizard supporting REST API and SQL integrations with config validation, icon upload, and connector code parsing
  • Implement OAuth2 authorization flow for integrations including token exchange, refresh, and multi-auth method support (API key, basic auth, bearer token, OAuth2)
  • Add unified connection testing for all integration types (REST, SQL, predefined) with sandbox-based execution
  • Add integration manage dialog for viewing/editing uploaded integrations with test connection support
  • Include example integration packages (Circuly, Outlook, Protel, Shopify) as reference implementations
  • Improve integration approvals UI with parameter validation and OAuth2 credential refresh
  • Migrate multiple integration helper files to simplified naming conventions

Test plan

  • Integration package parsing and config validation tests
  • Connection testing sandbox tests
  • Integration details component tests
  • Execution step journal tests
  • Workflow engine shard tests
  • Automation and custom agent active toggle tests
  • Manual: upload a REST integration package with icon, connector, and config
  • Manual: upload a SQL integration package and test connection
  • Manual: configure OAuth2 credentials and complete authorization flow
  • Manual: test connection from integration manage dialog
  • Manual: verify example integrations work as reference

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added four new integrations: Circuly, Outlook, Protel, and Shopify.
    • Integration upload and manage UI with two-step upload/preview, icon upload, and credential configuration.
    • OAuth2 support and ability to save OAuth2 client credentials for integrations.
    • Integration connection testing (REST & SQL) and improved parameter validation for operations.
  • UX

    • Integration manage dialog, upload preview, and approval cards improved with expandable parameter views and wrapped/error-friendly layouts.
  • Tests

    • Added comprehensive tests for integration upload, parsing, validation, and connection flows.

…n testing

Add a multi-step upload wizard for integration packages (ZIP with config.json
and optional connector.js), supporting both REST API and SQL types. Consolidate
per-provider test connection logic into a unified test_connection module, remove
_logic file suffix convention from email_providers and integrations, and add
example integration packages for Circuly, Protel, and Shopify.
…upport

Implement complete OAuth2 authorization code flow for integrations:
- Auth URL generation, redirect callback, token exchange, and encrypted storage
- Automatic token refresh with 5-minute expiry buffer
- OAuth2 client credential management UI in manage dialog
- OAuth2 success/error banner notifications

Add support for multiple authentication methods per integration:
- New `supportedAuthMethods` field allows declaring multiple auth options
- Auth method selector dropdown in manage dialog when multiple methods available
- Switching methods clears credentials and resets test state
- Config validation ensures authMethod is included in supportedAuthMethods
…ample

Extend integration schema with operationType and requiresApproval fields
for SQL operations. Add oauth2Config support to createIntegrationInternal
for OAuth2 authorization flows. Include Outlook integration example.
…and OAuth2 refresh

Add approval cards (integration, workflow, human input) to test chat panel
using merged chat items. Improve approval card UI with expandable parameters,
text overflow handling, and separate status update before execution. Include
parameter schemas in operation summaries and validate required parameters
before creating approvals or executing. Restructure OAuth2 token refresh with
early return, specific error diagnostics, and response validation. Update
integration upload to accept icon files and pass parameter schemas. Fetch all
approval statuses per thread instead of only pending.
Link users to the example integrations repo from the upload dialog
and ignore the examples/ directory in knip.
…est setup

jsdom doesn't implement Blob.text() or Blob.arrayBuffer(), causing
parse-integration-package tests to fail with "config.json is not valid
JSON". Added FileReader-based polyfills in the UI test setup.
The sqlConfig in parse-integration-package tests inherited operations from
validConfig without a query field, but the schema's superRefine requires
SQL operations to include a query. This caused 3 SQL-related tests to fail.
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.

1 participant