Skip to content

feat(CE): add mysql source and destination connectors#1032

Open
dataengineergaurav wants to merge 5 commits into
Multiwoven:mainfrom
dataengineergaurav:feature/mysql-connector
Open

feat(CE): add mysql source and destination connectors#1032
dataengineergaurav wants to merge 5 commits into
Multiwoven:mainfrom
dataengineergaurav:feature/mysql-connector

Conversation

@dataengineergaurav

@dataengineergaurav dataengineergaurav commented Jun 12, 2026

Copy link
Copy Markdown

Description

Adds MySQL source and destination connectors for the Multiwoven Reverse ETL platform. Both connectors use the Sequel mysql2 adapter (same as the existing MariaDB connector).

  • Source connector: check_connection, discover, read (with limit/offset)
  • Destination connector: check_connection, discover, write (QueryBuilder-based SQL + db.run)

Related Issue

Closes #10

Type of Change

  • New Connector (Destination or Source Connector)

How Has This Been Tested?

All 15 tests pass (9 source + 6 destination). Run with:

bundle exec rspec spec/multiwoven/integrations/source/mysql/client_spec.rb
bundle exec rspec spec/multiwoven/integrations/destination/mysql/client_spec.rb

Checklist:

  • Branch name prefixed with feature/
  • Added unit tests for the changes made
  • Commit messages follow guidelines
  • Tested on local/staging (all 15 tests pass)
  • Added the new connector in rollout.rb
  • Updated the version number of the gem (0.35.0 → 0.35.1)
  • Changes for new connector documented in docs repo
  • No new runtime dependencies needed (mysql2 already transitive via MariaDB)
  • Code follows best practices

Summary by CodeRabbit

  • New Features
    • Added a MySQL source connector with connection checking, schema discovery, and batch raw-SQL reads.
    • Added a MySQL destination connector with connection checking, schema discovery, and per-record writes.
    • Published MySQL source/destination configuration metadata and JSON specs (including required connection fields).
  • Chores
    • Bumped the Rollout integration version to 0.38.0 and enabled MySQL for both sources and destinations.
  • Tests
    • Added RSpec coverage for MySQL source and destination connection, discover, and read/write behavior.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds MySQL source and destination connectors (clients), configuration specs and metadata, registers the connectors in the integration loader and rollout, and updates the integrations gem version to 0.38.0 with comprehensive RSpec test suites.

Changes

MySQL Connectors

Layer / File(s) Summary
MySQL Destination Connector Implementation and Tests
integrations/lib/multiwoven/integrations/destination/mysql/client.rb, integrations/lib/multiwoven/integrations/destination/mysql/config/meta.json, integrations/lib/multiwoven/integrations/destination/mysql/config/spec.json, integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb
Implements destination Client with check_connection, discover (information_schema → Catalog/Streams), and write (per-record SQL via QueryBuilder.perform, db.run, success/failure tracking). Adds meta/spec JSON files and RSpec tests validating connection status, discovery, write behavior, logging, and metadata naming.
MySQL Source Connector Implementation and Tests
integrations/lib/multiwoven/integrations/source/mysql/client.rb, integrations/lib/multiwoven/integrations/source/mysql/config/meta.json, integrations/lib/multiwoven/integrations/source/mysql/config/spec.json, integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb
Implements source Client with check_connection, discover (information_schema → Catalog/Streams), and read (executes configured SQL, optional batch limit/offset → RecordMessage with emitted_at). Adds meta/spec JSON files and RSpec tests covering connection, read (including batching), discovery, exception routing, and internal method presence.
Integration Registration and Rollout
integrations/lib/multiwoven/integrations.rb, integrations/lib/multiwoven/integrations/rollout.rb, server/Gemfile
Registers MySQL source and destination clients via require_relative in the integration loader, adds "Mysql" to ENABLED_SOURCES and ENABLED_DESTINATIONS, bumps rollout version from 0.35.0 to 0.38.0, and updates multiwoven-integrations gem dependency from ~> 0.34.6 to ~> 0.38.0.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Suggested reviewers

  • TivonB-AI2
  • Shibayan95

Poem

🐰 In rows and schemas I hop and play,
I spy information_schema along the way,
I fetch and write with a carrot grin,
Tests tucked in my burrow, ready to spin,
Two connectors launched—let the data dance begin!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change—adding MySQL source and destination connectors to the CE version.
Description check ✅ Passed The PR description covers the main objectives, includes related issue, type of change, testing details, and addresses most checklist items comprehensively.
Linked Issues check ✅ Passed The PR successfully implements all objectives from issue #10: adds a MySQL connector for source use in open-source, provides built-in MySQL connectivity, and enables MySQL as a source option.
Out of Scope Changes check ✅ Passed All changes are directly aligned with the PR objectives. The version bump, rollout.rb updates, and Gemfile dependency changes are necessary supporting changes for the connector implementation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Implements MySQL connector supporting both source (read/discover/check_connection) and destination (write/discover/check_connection) operations.

- Source connector: Sequel mysql2 adapter with limit/offset support
- Destination connector: QueryBuilder-based SQL generation with db.run writes
- Full test coverage: 9 source tests, 6 destination tests (all passing)
- Registered in rollout.rb ENABLED_SOURCES and ENABLED_DESTINATIONS
- Version bumped to 0.35.1

Closes Multiwoven#10
@dataengineergaurav dataengineergaurav force-pushed the feature/mysql-connector branch from 617fdfb to e9bdeb3 Compare June 12, 2026 13:30

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🧹 Nitpick comments (1)
integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb (1)

92-109: ⚡ Quick win

Assert that the SQL was actually batched in this example.

This test only toggles limit and offset; because fetch is stubbed without inspecting its argument, it still passes if batched_query is never applied. Please assert the query sent to Sequel contains the batch clause, or stub batched_query directly.

One way to make the expectation meaningful
- allow(sequel_client).to receive(:fetch).and_return(dataset)
+ expect(sequel_client)
+   .to receive(:fetch)
+   .with(a_string_matching(/LIMIT\s+100\s+OFFSET\s+1/i))
+   .and_return(dataset)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb` around
lines 92 - 109, The test currently stubs sequel_client.fetch without verifying
the SQL, so update it to assert the batched query is used: either set an
expectation on sequel_client to receive(:fetch).with(a_string_including("LIMIT
100").and(a_string_including("OFFSET 1"))) when client.read(s_config) is called,
or instead stub client.batched_query to return a known SQL string and assert
fetch is called with that string; reference the test's s_config, client.read,
client.batched_query, sequel_client.fetch and the limit/offset values (100/1)
when making the assertion.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@integrations/lib/multiwoven/integrations/destination/mysql/client.rb`:
- Around line 7-13: The Sequel Database opened by create_connection is never
closed causing pooled connections to accumulate; for check_connection (and
likewise discover and write) assign the result of create_connection to a local
variable (e.g. db = create_connection(connection_config)) and wrap the work in a
begin/rescue/ensure block where the ensure calls db.disconnect (or db.disconnect
if method name differs in your Sequel version) if db is present, preserving
existing rescue behavior for errors; update discover and write the same way so
every created DB is always disconnected in an ensure.
- Around line 17-20: The SQL in discover builds query by interpolating
connection_config[:database] into query (query variable in discover), which
allows injection; change this to use a parameterized/bound query or properly
escape the schema value instead of direct interpolation: remove
"#{connection_config[:database]}" from the query string and pass
connection_config[:database] as a bound parameter when executing the query (or
use the client/driver escape method if prepared statements aren’t available),
updating the call that executes query to supply the parameter so discovery only
queries the intended schema.
- Around line 48-62: The code is leaking full generated SQL via logger.debug and
log_request_response (see Multiwoven::Integrations::Core::QueryBuilder.perform
output and its use in logger.debug, log_request_response, and the exception
handling). Remove the raw query text from all logs and messages: stop
interpolating or passing the `query` string to logger.debug,
`log_request_response`, and `handle_exception` payloads; instead log
non-sensitive metadata such as `action`, `table_name`, `primary_key`, and
`sync_config.sync_id/sync_run_id`, or a deterministic fingerprint/hash of the
query if you need correlation, and ensure errors only include the safe metadata
and error message (no PII-containing SQL).

In `@integrations/lib/multiwoven/integrations/source/mysql/client.rb`:
- Around line 7-13: The Sequel::Database handles created (via create_connection)
in methods like check_connection (and the similar discover/read paths) are never
disconnected; wrap the connection allocation so the returned Sequel::Database is
disconnected after use (use an ensure block or a block-yielding helper) and call
db.disconnect (or db.disconnect_all) on the Sequel::Database instance; locate
create_connection and callers such as check_connection and ensure any
early-return/rescue paths also call disconnect to avoid leaking sockets/pools.
- Around line 75-88: The group_by_table method is incorrectly keying result by
index causing one entry per column; change it to key by table_name (use
table_name as the unique key), initialize result[table_name] when missing, set
result[table_name][:tablename] = table_name, and push each column_data into
result[table_name][:columns] (rather than replacing with a single-element array)
so all columns for the same table are aggregated under one entry; update
references to result[index] -> result[table_name] and ensure is_nullable
handling and column_data remain unchanged.
- Around line 17-19: The discovery SQL currently interpolates
connection_config[:database] into query (variable query) which allows SQL
injection; change to a parameterized query instead: build the SQL with a
placeholder and pass connection_config[:database] as a bound parameter to
query_execution (or use Sequel's bound variable API) after creating the
connection with create_connection, so query_execution receives the SQL and the
database name as a parameter rather than embedding connection_config[:database]
directly; update any callers of query_execution if necessary to accept bound
parameters.

In `@integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb`:
- Around line 82-85: The spec currently stubs Sequel#fetch with
and_return(dataset) so the block passed by client.discover is never executed;
change the stub for sequel_client.fetch to yield rows to the block (e.g., yield
dataset or an array/row object) so the block path inside discover is exercised
and the mapping of result rows is validated — update the stub on
sequel_client.fetch used before calling
client.discover(sync_config_json[:destination][:connection_specification]) to
use a block-yielding stub (reference: Sequel#fetch, discover, sequel_client,
dataset).

---

Nitpick comments:
In `@integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb`:
- Around line 92-109: The test currently stubs sequel_client.fetch without
verifying the SQL, so update it to assert the batched query is used: either set
an expectation on sequel_client to
receive(:fetch).with(a_string_including("LIMIT
100").and(a_string_including("OFFSET 1"))) when client.read(s_config) is called,
or instead stub client.batched_query to return a known SQL string and assert
fetch is called with that string; reference the test's s_config, client.read,
client.batched_query, sequel_client.fetch and the limit/offset values (100/1)
when making the assertion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5c4563f7-1b6b-405c-b976-9ebf402a792a

📥 Commits

Reviewing files that changed from the base of the PR and between b8798d5 and 617fdfb.

⛔ Files ignored due to path filters (2)
  • integrations/lib/multiwoven/integrations/destination/mysql/icon.svg is excluded by !**/*.svg
  • integrations/lib/multiwoven/integrations/source/mysql/icon.svg is excluded by !**/*.svg
📒 Files selected for processing (10)
  • integrations/lib/multiwoven/integrations.rb
  • integrations/lib/multiwoven/integrations/destination/mysql/client.rb
  • integrations/lib/multiwoven/integrations/destination/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations/destination/mysql/config/spec.json
  • integrations/lib/multiwoven/integrations/rollout.rb
  • integrations/lib/multiwoven/integrations/source/mysql/client.rb
  • integrations/lib/multiwoven/integrations/source/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations/source/mysql/config/spec.json
  • integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb
  • integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb

Comment thread integrations/lib/multiwoven/integrations/destination/mysql/client.rb Outdated
Comment thread integrations/lib/multiwoven/integrations/source/mysql/client.rb
Comment thread integrations/lib/multiwoven/integrations/source/mysql/client.rb Outdated
Comment thread integrations/lib/multiwoven/integrations/source/mysql/client.rb

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb`:
- Around line 129-149: The test for client.discover only asserts one column and
not that multiple columns from the same table are aggregated; update the spec to
validate all mocked columns/streams: call
client.discover(sync_config[:source][:connection_specification]) and then assert
message.catalog.streams length and that the stream for "test_table" includes
properties for "col1", "col2", and "col3" (or alternatively change the
integration contract to expect one stream per column and assert accordingly).
Focus assertions around the produced catalog/streams from client.discover and
ensure behavior aligns with the implementation in group_by_table (which sets
result[index][:columns] = [column_data]) so the test verifies whether columns
are aggregated into a single stream or emitted as multiple streams.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 95aad96a-6720-48a7-b523-9e069ac86496

📥 Commits

Reviewing files that changed from the base of the PR and between 617fdfb and e9bdeb3.

⛔ Files ignored due to path filters (2)
  • integrations/lib/multiwoven/integrations/destination/mysql/icon.svg is excluded by !**/*.svg
  • integrations/lib/multiwoven/integrations/source/mysql/icon.svg is excluded by !**/*.svg
📒 Files selected for processing (10)
  • integrations/lib/multiwoven/integrations.rb
  • integrations/lib/multiwoven/integrations/destination/mysql/client.rb
  • integrations/lib/multiwoven/integrations/destination/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations/destination/mysql/config/spec.json
  • integrations/lib/multiwoven/integrations/rollout.rb
  • integrations/lib/multiwoven/integrations/source/mysql/client.rb
  • integrations/lib/multiwoven/integrations/source/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations/source/mysql/config/spec.json
  • integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb
  • integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb
✅ Files skipped from review due to trivial changes (2)
  • integrations/lib/multiwoven/integrations/destination/mysql/config/spec.json
  • integrations/lib/multiwoven/integrations/rollout.rb
🚧 Files skipped from review as they are similar to previous changes (7)
  • integrations/lib/multiwoven/integrations/source/mysql/config/spec.json
  • integrations/lib/multiwoven/integrations/source/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations/destination/mysql/config/meta.json
  • integrations/lib/multiwoven/integrations.rb
  • integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb
  • integrations/lib/multiwoven/integrations/destination/mysql/client.rb
  • integrations/lib/multiwoven/integrations/source/mysql/client.rb

- Fix group_by_table to key by table_name instead of array index
- Source spec: verify SQL contains LIMIT/OFFSET in batched read test
- Destination spec: yield fetch block to exercise discover path
module Multiwoven
module Integrations
VERSION = "0.35.0"
VERSION = "0.35.1"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@dataengineergaurav Raise to 0.38.0. We have some other connector PRs that need to be merged before this one

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

covered.

@TivonB-AI2

Copy link
Copy Markdown
Collaborator

@dataengineergaurav Can you post a video of a demo sync for both Source and Destination. Show the creation of the connector and model for source then do a sync. Preferably a sync where the MySQL Source Connector is upserting data to a different Destination from the MySQL. Same thing when doing the MySQL Destination Connector. Show the Destination has received the data as verification of success.

- Disconnect Sequel connections via db&.disconnect in ensure blocks
  (check_connection, discover, read, write)
- Parameterize discover query with ? placeholder instead of
  interpolating connection_config[:database]
- Remove raw generated SQL from logs; log only safe metadata
  (action, table_name, primary_key, sync_id)
- Simplify destination group_by_table to use table_name as key
  (matching source pattern)
- Allow :disconnect on sequel_client instance_double in specs
  (reflects new ensure block behavior)
@dataengineergaurav

Copy link
Copy Markdown
Author

Addressed all CodeRabbit review items in the latest commit (dc56d0f8). Here's what was changed:

🔌 Connection leak (source + destination)
Added db&.disconnect in ensure blocks on check_connection, discover, read, and write. Every Sequel connection is now properly closed after use.

🛡️ SQL injection (source + destination)
Replaced '#{connection_config[:database]}' string interpolation with a ? bound parameter in both discover queries.

🔒 PII logging (destination)
Removed raw generated SQL from logger.debug and log_request_response. Logs now contain only safe metadata: action, table_name, primary_key, sync_id, sync_run_id.

♻️ Destination group_by_table simplified
Refactored to match the source pattern — uses table_name as the hash key directly, removing the unnecessary extra .group_by / .transform_values pass.

🧪 Specs updated
Added allow(sequel_client).to receive(:disconnect) stubs to both spec files to match the new ensure block behavior. Updated the destination discover test to use a Sequel::Dataset double with .all.

All 15 RSpec unit tests and 17 end-to-end integration tests pass.

- Guard .env.example
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/pull_request_template.md
.github/workflows/create-release-notes.yaml
.github/workflows/deploy-main.yml
.github/workflows/integrations-ci.yml
.github/workflows/integrations-gem-release.yml
.github/workflows/integrations-main.yml
.github/workflows/release.yaml
.github/workflows/server-ci.yml
.github/workflows/server-docker-build-amd.yml
.github/workflows/server-docker-build-arm.yml
.github/workflows/server-docker-hub-push-tags-amd.yaml
.github/workflows/server-docker-hub-push-tags-arm.yaml
.github/workflows/sync-ce-commits.yaml
.github/workflows/ui-ci.yml
.github/workflows/ui-docker-build-amd.yml
.github/workflows/ui-docker-build-arm.yml
.github/workflows/ui-docker-hub-push-tags-amd.yml
.github/workflows/ui-docker-hub-push-tags-arm.yml
.github/workflows/ui-validate.yml
.gitignore
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
SECURITY.md
docker-compose.yml
git-hooks/commit-msg
git-hooks/setup-hooks.sh
integrations/.github/ISSUE_TEMPLATE/bug_report_template.md
integrations/.github/ISSUE_TEMPLATE/documentation_update_template.md
integrations/.github/ISSUE_TEMPLATE/feature_request_template.md
integrations/.github/ISSUE_TEMPLATE/new_connector_issue_template.md
integrations/.github/pull_request_template.md
integrations/.github/workflows/release.yml
integrations/.gitignore
integrations/.rspec
integrations/.rubocop.yml
integrations/.ruby-version
integrations/.vscode/settings.json
integrations/CHANGELOG.md
integrations/CODE_OF_CONDUCT.md
integrations/Gemfile
integrations/Gemfile.lock
integrations/LICENSE.txt
integrations/README.md
integrations/Rakefile
integrations/bin/console
integrations/bin/setup
integrations/lib/multiwoven/integrations.rb
integrations/lib/multiwoven/integrations/config.rb
integrations/lib/multiwoven/integrations/core/base_connector.rb
integrations/lib/multiwoven/integrations/core/constants.rb
integrations/lib/multiwoven/integrations/core/destination_connector.rb
integrations/lib/multiwoven/integrations/core/fullrefresher.rb
integrations/lib/multiwoven/integrations/core/http_client.rb
integrations/lib/multiwoven/integrations/core/http_helper.rb
integrations/lib/multiwoven/integrations/core/query_builder.rb
integrations/lib/multiwoven/integrations/core/rate_limiter.rb
integrations/lib/multiwoven/integrations/core/source_connector.rb
integrations/lib/multiwoven/integrations/core/streaming_http_client.rb
integrations/lib/multiwoven/integrations/core/unstructured_source_connector.rb
integrations/lib/multiwoven/integrations/core/utils.rb
integrations/lib/multiwoven/integrations/core/vector_source_connector.rb
integrations/lib/multiwoven/integrations/destination/airtable/client.rb
integrations/lib/multiwoven/integrations/destination/airtable/config/catalog.json
integrations/lib/multiwoven/integrations/destination/airtable/config/meta.json
integrations/lib/multiwoven/integrations/destination/airtable/config/spec.json
integrations/lib/multiwoven/integrations/destination/airtable/icon.svg
integrations/lib/multiwoven/integrations/destination/airtable/schema_helper.rb
integrations/lib/multiwoven/integrations/destination/ais_data_store/client.rb
integrations/lib/multiwoven/integrations/destination/ais_data_store/config/meta.json
integrations/lib/multiwoven/integrations/destination/ais_data_store/config/spec.json
integrations/lib/multiwoven/integrations/destination/ais_data_store/icon.svg
integrations/lib/multiwoven/integrations/destination/amazon_s3/client.rb
integrations/lib/multiwoven/integrations/destination/amazon_s3/config/meta.json
integrations/lib/multiwoven/integrations/destination/amazon_s3/config/spec.json
integrations/lib/multiwoven/integrations/destination/amazon_s3/icon.svg
integrations/lib/multiwoven/integrations/destination/databricks_lakehouse/client.rb
integrations/lib/multiwoven/integrations/destination/databricks_lakehouse/config/meta.json
integrations/lib/multiwoven/integrations/destination/databricks_lakehouse/config/spec.json
integrations/lib/multiwoven/integrations/destination/databricks_lakehouse/icon.svg
integrations/lib/multiwoven/integrations/destination/facebook_custom_audience/client.rb
integrations/lib/multiwoven/integrations/destination/facebook_custom_audience/config/catalog.json
integrations/lib/multiwoven/integrations/destination/facebook_custom_audience/config/meta.json
integrations/lib/multiwoven/integrations/destination/facebook_custom_audience/config/spec.json
integrations/lib/multiwoven/integrations/destination/facebook_custom_audience/icon.svg
integrations/lib/multiwoven/integrations/destination/google_sheets/client.rb
integrations/lib/multiwoven/integrations/destination/google_sheets/config/catalog.json
integrations/lib/multiwoven/integrations/destination/google_sheets/config/meta.json
integrations/lib/multiwoven/integrations/destination/google_sheets/config/spec.json
integrations/lib/multiwoven/integrations/destination/google_sheets/icon.svg
integrations/lib/multiwoven/integrations/destination/http/client.rb
integrations/lib/multiwoven/integrations/destination/http/config/catalog.json
integrations/lib/multiwoven/integrations/destination/http/config/meta.json
integrations/lib/multiwoven/integrations/destination/http/config/spec.json
integrations/lib/multiwoven/integrations/destination/http/icon.svg
integrations/lib/multiwoven/integrations/destination/hubspot/client.rb
integrations/lib/multiwoven/integrations/destination/hubspot/config/catalog.json
integrations/lib/multiwoven/integrations/destination/hubspot/config/meta.json
integrations/lib/multiwoven/integrations/destination/hubspot/config/spec.json
integrations/lib/multiwoven/integrations/destination/hubspot/icon.svg
integrations/lib/multiwoven/integrations/destination/iterable/client.rb
integrations/lib/multiwoven/integrations/destination/iterable/config/catalog.json
integrations/lib/multiwoven/integrations/destination/iterable/config/meta.json
integrations/lib/multiwoven/integrations/destination/iterable/config/spec.json
integrations/lib/multiwoven/integrations/destination/iterable/icon.svg
integrations/lib/multiwoven/integrations/destination/klaviyo/client.rb
integrations/lib/multiwoven/integrations/destination/klaviyo/config/catalog.json
integrations/lib/multiwoven/integrations/destination/klaviyo/config/meta.json
integrations/lib/multiwoven/integrations/destination/klaviyo/config/spec.json
integrations/lib/multiwoven/integrations/destination/klaviyo/icon.svg
integrations/lib/multiwoven/integrations/destination/mailchimp/client.rb
integrations/lib/multiwoven/integrations/destination/mailchimp/config/catalog.json
integrations/lib/multiwoven/integrations/destination/mailchimp/config/meta.json
integrations/lib/multiwoven/integrations/destination/mailchimp/config/spec.json
integrations/lib/multiwoven/integrations/destination/mailchimp/icon.svg
integrations/lib/multiwoven/integrations/destination/maria_db/client.rb
integrations/lib/multiwoven/integrations/destination/maria_db/config/meta.json
integrations/lib/multiwoven/integrations/destination/maria_db/config/spec.json
integrations/lib/multiwoven/integrations/destination/maria_db/icon.svg
integrations/lib/multiwoven/integrations/destination/microsoft_dynamics/client.rb
integrations/lib/multiwoven/integrations/destination/microsoft_dynamics/config/catalog.json
integrations/lib/multiwoven/integrations/destination/microsoft_dynamics/config/meta.json
integrations/lib/multiwoven/integrations/destination/microsoft_dynamics/config/spec.json
integrations/lib/multiwoven/integrations/destination/microsoft_dynamics/icon.svg
integrations/lib/multiwoven/integrations/destination/microsoft_excel/client.rb
integrations/lib/multiwoven/integrations/destination/microsoft_excel/config/catalog.json
integrations/lib/multiwoven/integrations/destination/microsoft_excel/config/meta.json
integrations/lib/multiwoven/integrations/destination/microsoft_excel/config/spec.json
integrations/lib/multiwoven/integrations/destination/microsoft_excel/icon.svg
integrations/lib/multiwoven/integrations/destination/microsoft_sql/client.rb
integrations/lib/multiwoven/integrations/destination/microsoft_sql/config/meta.json
integrations/lib/multiwoven/integrations/destination/microsoft_sql/config/spec.json
integrations/lib/multiwoven/integrations/destination/microsoft_sql/icon.svg
integrations/lib/multiwoven/integrations/destination/mysql/client.rb
integrations/lib/multiwoven/integrations/destination/mysql/config/meta.json
integrations/lib/multiwoven/integrations/destination/mysql/config/spec.json
integrations/lib/multiwoven/integrations/destination/mysql/icon.svg
integrations/lib/multiwoven/integrations/destination/odoo/client.rb
integrations/lib/multiwoven/integrations/destination/odoo/config/meta.json
integrations/lib/multiwoven/integrations/destination/odoo/config/spec.json
integrations/lib/multiwoven/integrations/destination/odoo/icon.svg
integrations/lib/multiwoven/integrations/destination/oracle_db/client.rb
integrations/lib/multiwoven/integrations/destination/oracle_db/config/meta.json
integrations/lib/multiwoven/integrations/destination/oracle_db/config/spec.json
integrations/lib/multiwoven/integrations/destination/oracle_db/icon.svg
integrations/lib/multiwoven/integrations/destination/pinecone_db/client.rb
integrations/lib/multiwoven/integrations/destination/pinecone_db/config/meta.json
integrations/lib/multiwoven/integrations/destination/pinecone_db/config/spec.json
integrations/lib/multiwoven/integrations/destination/pinecone_db/icon.svg
integrations/lib/multiwoven/integrations/destination/postgresql/client.rb
integrations/lib/multiwoven/integrations/destination/postgresql/config/meta.json
integrations/lib/multiwoven/integrations/destination/postgresql/config/spec.json
integrations/lib/multiwoven/integrations/destination/postgresql/icon.svg
integrations/lib/multiwoven/integrations/destination/qdrant/client.rb
integrations/lib/multiwoven/integrations/destination/qdrant/config/meta.json
integrations/lib/multiwoven/integrations/destination/qdrant/config/spec.json
integrations/lib/multiwoven/integrations/destination/qdrant/icon.svg
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/client.rb
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/config/catalog.json
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/config/meta.json
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/config/spec.json
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/icon.svg
integrations/lib/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/schema_helper.rb
integrations/lib/multiwoven/integrations/destination/salesforce_crm/client.rb
integrations/lib/multiwoven/integrations/destination/salesforce_crm/config/catalog.json
integrations/lib/multiwoven/integrations/destination/salesforce_crm/config/meta.json
integrations/lib/multiwoven/integrations/destination/salesforce_crm/config/spec.json
integrations/lib/multiwoven/integrations/destination/salesforce_crm/icon.svg
integrations/lib/multiwoven/integrations/destination/sftp/client.rb
integrations/lib/multiwoven/integrations/destination/sftp/config/catalog.json
integrations/lib/multiwoven/integrations/destination/sftp/config/meta.json
integrations/lib/multiwoven/integrations/destination/sftp/config/spec.json
integrations/lib/multiwoven/integrations/destination/sftp/icon.svg
integrations/lib/multiwoven/integrations/destination/slack/client.rb
integrations/lib/multiwoven/integrations/destination/slack/config/catalog.json
integrations/lib/multiwoven/integrations/destination/slack/config/meta.json
integrations/lib/multiwoven/integrations/destination/slack/config/spec.json
integrations/lib/multiwoven/integrations/destination/slack/icon.svg
integrations/lib/multiwoven/integrations/destination/stripe/client.rb
integrations/lib/multiwoven/integrations/destination/stripe/config/catalog.json
integrations/lib/multiwoven/integrations/destination/stripe/config/meta.json
integrations/lib/multiwoven/integrations/destination/stripe/config/spec.json
integrations/lib/multiwoven/integrations/destination/stripe/icon.svg
integrations/lib/multiwoven/integrations/destination/weaviate/client.rb
integrations/lib/multiwoven/integrations/destination/weaviate/config/meta.json
integrations/lib/multiwoven/integrations/destination/weaviate/config/spec.json
integrations/lib/multiwoven/integrations/destination/weaviate/icon.svg
integrations/lib/multiwoven/integrations/destination/zendesk/client.rb
integrations/lib/multiwoven/integrations/destination/zendesk/config/catalog.json
integrations/lib/multiwoven/integrations/destination/zendesk/config/meta.json
integrations/lib/multiwoven/integrations/destination/zendesk/config/spec.json
integrations/lib/multiwoven/integrations/destination/zendesk/icon.svg
integrations/lib/multiwoven/integrations/protocol/protocol.json
integrations/lib/multiwoven/integrations/protocol/protocol.rb
integrations/lib/multiwoven/integrations/rollout.rb
integrations/lib/multiwoven/integrations/service.rb
integrations/lib/multiwoven/integrations/source/amazon_s3/client.rb
integrations/lib/multiwoven/integrations/source/amazon_s3/config/meta.json
integrations/lib/multiwoven/integrations/source/amazon_s3/config/spec.json
integrations/lib/multiwoven/integrations/source/amazon_s3/icon.svg
integrations/lib/multiwoven/integrations/source/anthropic/client.rb
integrations/lib/multiwoven/integrations/source/anthropic/config/catalog.json
integrations/lib/multiwoven/integrations/source/anthropic/config/meta.json
integrations/lib/multiwoven/integrations/source/anthropic/config/spec.json
integrations/lib/multiwoven/integrations/source/anthropic/icon.svg
integrations/lib/multiwoven/integrations/source/aws_athena/client.rb
integrations/lib/multiwoven/integrations/source/aws_athena/config/meta.json
integrations/lib/multiwoven/integrations/source/aws_athena/config/spec.json
integrations/lib/multiwoven/integrations/source/aws_athena/icon.svg
integrations/lib/multiwoven/integrations/source/aws_bedrock_model/client.rb
integrations/lib/multiwoven/integrations/source/aws_bedrock_model/config/catalog.json
integrations/lib/multiwoven/integrations/source/aws_bedrock_model/config/meta.json
integrations/lib/multiwoven/integrations/source/aws_bedrock_model/config/spec.json
integrations/lib/multiwoven/integrations/source/aws_bedrock_model/icon.svg
integrations/lib/multiwoven/integrations/source/aws_sagemaker_model/client.rb
integrations/lib/multiwoven/integrations/source/aws_sagemaker_model/config/catalog.json
integrations/lib/multiwoven/integrations/source/aws_sagemaker_model/config/meta.json
integrations/lib/multiwoven/integrations/source/aws_sagemaker_model/config/spec.json
integrations/lib/multiwoven/integrations/source/aws_sagemaker_model/icon.svg
integrations/lib/multiwoven/integrations/source/bigquery/client.rb
integrations/lib/multiwoven/integrations/source/bigquery/config/meta.json
integrations/lib/multiwoven/integrations/source/bigquery/config/spec.json
integrations/lib/multiwoven/integrations/source/bigquery/icon.svg
integrations/lib/multiwoven/integrations/source/clickhouse/client.rb
integrations/lib/multiwoven/integrations/source/clickhouse/config/meta.json
integrations/lib/multiwoven/integrations/source/clickhouse/config/spec.json
integrations/lib/multiwoven/integrations/source/clickhouse/icon.svg
integrations/lib/multiwoven/integrations/source/databricks/client.rb
integrations/lib/multiwoven/integrations/source/databricks/config/meta.json
integrations/lib/multiwoven/integrations/source/databricks/config/spec.json
integrations/lib/multiwoven/integrations/source/databricks/icon.svg
integrations/lib/multiwoven/integrations/source/databrics_model/client.rb
integrations/lib/multiwoven/integrations/source/databrics_model/config/catalog.json
integrations/lib/multiwoven/integrations/source/databrics_model/config/meta.json
integrations/lib/multiwoven/integrations/source/databrics_model/config/spec.json
integrations/lib/multiwoven/integrations/source/databrics_model/icon.svg
integrations/lib/multiwoven/integrations/source/firecrawl/client.rb
integrations/lib/multiwoven/integrations/source/firecrawl/config/catalog.json
integrations/lib/multiwoven/integrations/source/firecrawl/config/meta.json
integrations/lib/multiwoven/integrations/source/firecrawl/config/spec.json
integrations/lib/multiwoven/integrations/source/firecrawl/icon.svg
integrations/lib/multiwoven/integrations/source/generic_open_ai/client.rb
integrations/lib/multiwoven/integrations/source/generic_open_ai/config/catalog.json
integrations/lib/multiwoven/integrations/source/generic_open_ai/config/meta.json
integrations/lib/multiwoven/integrations/source/generic_open_ai/config/spec.json
integrations/lib/multiwoven/integrations/source/generic_open_ai/icon.svg
integrations/lib/multiwoven/integrations/source/google_drive/client.rb
integrations/lib/multiwoven/integrations/source/google_drive/config/catalog.json
integrations/lib/multiwoven/integrations/source/google_drive/config/meta.json
integrations/lib/multiwoven/integrations/source/google_drive/config/spec.json
integrations/lib/multiwoven/integrations/source/google_drive/icon.svg
integrations/lib/multiwoven/integrations/source/google_vertex_model/client.rb
integrations/lib/multiwoven/integrations/source/google_vertex_model/config/catalog.json
integrations/lib/multiwoven/integrations/source/google_vertex_model/config/meta.json
integrations/lib/multiwoven/integrations/source/google_vertex_model/config/spec.json
integrations/lib/multiwoven/integrations/source/google_vertex_model/icon.svg
integrations/lib/multiwoven/integrations/source/http/client.rb
integrations/lib/multiwoven/integrations/source/http/config/meta.json
integrations/lib/multiwoven/integrations/source/http/config/spec.json
integrations/lib/multiwoven/integrations/source/http/icon.svg
integrations/lib/multiwoven/integrations/source/http_model/client.rb
integrations/lib/multiwoven/integrations/source/http_model/config/catalog.json
integrations/lib/multiwoven/integrations/source/http_model/config/meta.json
integrations/lib/multiwoven/integrations/source/http_model/config/spec.json
integrations/lib/multiwoven/integrations/source/http_model/icon.svg
integrations/lib/multiwoven/integrations/source/intuit_quick_books/client.rb
integrations/lib/multiwoven/integrations/source/intuit_quick_books/config/catalog.json
integrations/lib/multiwoven/integrations/source/intuit_quick_books/config/meta.json
integrations/lib/multiwoven/integrations/source/intuit_quick_books/config/spec.json
integrations/lib/multiwoven/integrations/source/intuit_quick_books/icon.svg
integrations/lib/multiwoven/integrations/source/maria_db/client.rb
integrations/lib/multiwoven/integrations/source/maria_db/config/meta.json
integrations/lib/multiwoven/integrations/source/maria_db/config/spec.json
integrations/lib/multiwoven/integrations/source/maria_db/icon.svg
integrations/lib/multiwoven/integrations/source/mysql/client.rb
integrations/lib/multiwoven/integrations/source/mysql/config/meta.json
integrations/lib/multiwoven/integrations/source/mysql/config/spec.json
integrations/lib/multiwoven/integrations/source/mysql/icon.svg
integrations/lib/multiwoven/integrations/source/odoo/client.rb
integrations/lib/multiwoven/integrations/source/odoo/config/meta.json
integrations/lib/multiwoven/integrations/source/odoo/config/spec.json
integrations/lib/multiwoven/integrations/source/odoo/icon.svg
integrations/lib/multiwoven/integrations/source/open_ai/client.rb
integrations/lib/multiwoven/integrations/source/open_ai/config/catalog.json
integrations/lib/multiwoven/integrations/source/open_ai/config/meta.json
integrations/lib/multiwoven/integrations/source/open_ai/config/spec.json
integrations/lib/multiwoven/integrations/source/open_ai/icon.svg
integrations/lib/multiwoven/integrations/source/oracle_db/client.rb
integrations/lib/multiwoven/integrations/source/oracle_db/config/meta.json
integrations/lib/multiwoven/integrations/source/oracle_db/config/spec.json
integrations/lib/multiwoven/integrations/source/oracle_db/icon.svg
integrations/lib/multiwoven/integrations/source/pinecone_db/client.rb
integrations/lib/multiwoven/integrations/source/pinecone_db/config/catalog.json
integrations/lib/multiwoven/integrations/source/pinecone_db/config/meta.json
integrations/lib/multiwoven/integrations/source/pinecone_db/config/spec.json
integrations/lib/multiwoven/integrations/source/pinecone_db/icon.svg
integrations/lib/multiwoven/integrations/source/postgresql/client.rb
integrations/lib/multiwoven/integrations/source/postgresql/config/meta.json
integrations/lib/multiwoven/integrations/source/postgresql/config/spec.json
integrations/lib/multiwoven/integrations/source/postgresql/icon.svg
integrations/lib/multiwoven/integrations/source/qdrant/client.rb
integrations/lib/multiwoven/integrations/source/qdrant/config/catalog.json
integrations/lib/multiwoven/integrations/source/qdrant/config/meta.json
integrations/lib/multiwoven/integrations/source/qdrant/config/spec.json
integrations/lib/multiwoven/integrations/source/qdrant/icon.svg
integrations/lib/multiwoven/integrations/source/redshift/client.rb
integrations/lib/multiwoven/integrations/source/redshift/config/meta.json
integrations/lib/multiwoven/integrations/source/redshift/config/spec.json
integrations/lib/multiwoven/integrations/source/redshift/icon.svg
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/client.rb
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/config/catalog.json
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/config/meta.json
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/config/spec.json
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/icon.svg
integrations/lib/multiwoven/integrations/source/salesforce_consumer_goods_cloud/schema_helper.rb
integrations/lib/multiwoven/integrations/source/sftp/client.rb
integrations/lib/multiwoven/integrations/source/sftp/config/meta.json
integrations/lib/multiwoven/integrations/source/sftp/config/spec.json
integrations/lib/multiwoven/integrations/source/sftp/icon.svg
integrations/lib/multiwoven/integrations/source/snowflake/client.rb
integrations/lib/multiwoven/integrations/source/snowflake/config/meta.json
integrations/lib/multiwoven/integrations/source/snowflake/config/spec.json
integrations/lib/multiwoven/integrations/source/snowflake/icon.svg
integrations/lib/multiwoven/integrations/source/watsonx_ai/client.rb
integrations/lib/multiwoven/integrations/source/watsonx_ai/config/catalog.json
integrations/lib/multiwoven/integrations/source/watsonx_ai/config/meta.json
integrations/lib/multiwoven/integrations/source/watsonx_ai/config/spec.json
integrations/lib/multiwoven/integrations/source/watsonx_ai/icon.svg
integrations/lib/multiwoven/integrations/source/watsonx_data/client.rb
integrations/lib/multiwoven/integrations/source/watsonx_data/config/meta.json
integrations/lib/multiwoven/integrations/source/watsonx_data/config/spec.json
integrations/lib/multiwoven/integrations/source/watsonx_data/icon.svg
integrations/multiwoven-integrations.gemspec
integrations/sig/multiwoven/integrations.rbs
integrations/spec/multiwoven/integrations/config_spec.rb
integrations/spec/multiwoven/integrations/core/base_connector_spec.rb
integrations/spec/multiwoven/integrations/core/destination_connector_spec.rb
integrations/spec/multiwoven/integrations/core/fullrefresher_spec.rb
integrations/spec/multiwoven/integrations/core/http_client_spec.rb
integrations/spec/multiwoven/integrations/core/query_builder_spec.rb
integrations/spec/multiwoven/integrations/core/rate_limiter_spec.rb
integrations/spec/multiwoven/integrations/core/source_connector_spec.rb
integrations/spec/multiwoven/integrations/core/streaming_http_client_spec.rb
integrations/spec/multiwoven/integrations/core/unstructured_source_connector_spec.rb
integrations/spec/multiwoven/integrations/core/utils_spec.rb
integrations/spec/multiwoven/integrations/core/vector_source_connector_spec.rb
integrations/spec/multiwoven/integrations/destination/airtable/client_spec.rb
integrations/spec/multiwoven/integrations/destination/airtable/schema_helper_spec.rb
integrations/spec/multiwoven/integrations/destination/ais_data_store/client_spec.rb
integrations/spec/multiwoven/integrations/destination/amazon_s3/client_spec.rb
integrations/spec/multiwoven/integrations/destination/databricks_lakehouse/client_spec.rb
integrations/spec/multiwoven/integrations/destination/facebook_custom_audience/client_spec.rb
integrations/spec/multiwoven/integrations/destination/google_sheets/client_spec.rb
integrations/spec/multiwoven/integrations/destination/http/client_spec.rb
integrations/spec/multiwoven/integrations/destination/hubspot/client_spec.rb
integrations/spec/multiwoven/integrations/destination/iterable/client_spec.rb
integrations/spec/multiwoven/integrations/destination/klaviyo/client_spec.rb
integrations/spec/multiwoven/integrations/destination/mailchimp/client_spec.rb
integrations/spec/multiwoven/integrations/destination/maria_db/client_spec.rb
integrations/spec/multiwoven/integrations/destination/microsoft_dynamics/client_spec.rb
integrations/spec/multiwoven/integrations/destination/microsoft_excel/client_spec.rb
integrations/spec/multiwoven/integrations/destination/microsoft_sql/client_spec.rb
integrations/spec/multiwoven/integrations/destination/mysql/client_spec.rb
integrations/spec/multiwoven/integrations/destination/odoo/client_spec.rb
integrations/spec/multiwoven/integrations/destination/oracle_db/client_spec.rb
integrations/spec/multiwoven/integrations/destination/pinecone_db/client_spec.rb
integrations/spec/multiwoven/integrations/destination/postgresql/client_spec.rb
integrations/spec/multiwoven/integrations/destination/qdrant/client_spec.rb
integrations/spec/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/client_spec.rb
integrations/spec/multiwoven/integrations/destination/salesforce_consumer_goods_cloud/schema_helper_spec.rb
integrations/spec/multiwoven/integrations/destination/salesforce_crm/client_spec.rb
integrations/spec/multiwoven/integrations/destination/sftp/client_spec.rb
integrations/spec/multiwoven/integrations/destination/slack/client_spec.rb
integrations/spec/multiwoven/integrations/destination/stripe/client_spec.rb
integrations/spec/multiwoven/integrations/destination/weaviate/client_spec.rb
integrations/spec/multiwoven/integrations/destination/zendesk/client_spec.rb
integrations/spec/multiwoven/integrations/protocol/protocol_spec.rb
integrations/spec/multiwoven/integrations/rollout_spec.rb
integrations/spec/multiwoven/integrations/service_spec.rb
integrations/spec/multiwoven/integrations/source/amazons3/client_spec.rb
integrations/spec/multiwoven/integrations/source/anthropic/client_spec.rb
integrations/spec/multiwoven/integrations/source/aws_athena/client_spec.rb
integrations/spec/multiwoven/integrations/source/aws_bedrock_model/client_spec.rb
integrations/spec/multiwoven/integrations/source/aws_sagemaker_model/client_spec.rb
integrations/spec/multiwoven/integrations/source/bigquery/client_spec.rb
integrations/spec/multiwoven/integrations/source/clickhouse/client_spec.rb
integrations/spec/multiwoven/integrations/source/databricks/client_spec.rb
integrations/spec/multiwoven/integrations/source/databricks_model/client_spec.rb
integrations/spec/multiwoven/integrations/source/firecrawl/client_spec.rb
integrations/spec/multiwoven/integrations/source/generic_open_ai/client_spec.rb
integrations/spec/multiwoven/integrations/source/google_drive/client_spec.rb
integrations/spec/multiwoven/integrations/source/google_vertex_model/client_spec.rb
integrations/spec/multiwoven/integrations/source/http/client_spec.rb
integrations/spec/multiwoven/integrations/source/http_model/client_spec.rb
integrations/spec/multiwoven/integrations/source/intuit_quick_books/client_spec.rb
integrations/spec/multiwoven/integrations/source/maria_db/client_spec.rb
integrations/spec/multiwoven/integrations/source/mysql/client_spec.rb
integrations/spec/multiwoven/integrations/source/odoo/client_spec.rb
integrations/spec/multiwoven/integrations/source/open_ai/client_spec.rb
integrations/spec/multiwoven/integrations/source/oracle_db/client_spec.rb
integrations/spec/multiwoven/integrations/source/pinecone_db/client_spec.rb
integrations/spec/multiwoven/integrations/source/postgresql/client_spec.rb
integrations/spec/multiwoven/integrations/source/qdrant/client_spec.rb
integrations/spec/multiwoven/integrations/source/redshift/client_spec.rb
integrations/spec/multiwoven/integrations/source/salesforce_consumer_goods/client_spec.rb
integrations/spec/multiwoven/integrations/source/salesforce_consumer_goods/schema_helper_spec.rb
integrations/spec/multiwoven/integrations/source/sftp/client_spec.rb
integrations/spec/multiwoven/integrations/source/snowflake/client_spec.rb
integrations/spec/multiwoven/integrations/source/watsonx_ai/client_spec.rb
integrations/spec/multiwoven/integrations/source/watsonx_data/client_spec.rb
integrations/spec/multiwoven/integrations_spec.rb
integrations/spec/spec_helper.rb
release-notes.md
server/.dockerignore
server/.env.example
server/.gitattributes
server/.github/ISSUE_TEMPLATE/bug_report_template.md
server/.github/ISSUE_TEMPLATE/documentation_update_template.md
server/.github/ISSUE_TEMPLATE/feature_request_template.md
server/.github/pull_request_template.md
server/.gitignore
server/.rubocop.yml
server/.rubocop_todo.yml
server/.ruby-version
server/.simplecov
server/.vscode/settings.json
server/Dockerfile
server/Dockerfile.dev
server/Gemfile
server/Gemfile.lock
server/README.md
server/Rakefile
server/app/channels/application_cable/channel.rb
server/app/channels/application_cable/connection.rb
server/app/contracts/auth_contracts.rb
server/app/contracts/catalog_contracts.rb
server/app/contracts/connector_contracts.rb
server/app/contracts/connector_definition_contracts.rb
server/app/contracts/model_contracts.rb
server/app/contracts/report_contracts.rb
server/app/contracts/schedule_sync_contracts.rb
server/app/contracts/sync_contracts.rb
server/app/contracts/sync_record_contracts.rb
server/app/contracts/sync_run_contracts.rb
server/app/contracts/user_contracts.rb
server/app/contracts/workspace_contracts.rb
server/app/controllers/api/v1/auth_controller.rb
server/app/controllers/api/v1/catalogs_controller.rb
server/app/controllers/api/v1/connector_definitions_controller.rb
server/app/controllers/api/v1/connectors_controller.rb
server/app/controllers/api/v1/models_controller.rb
server/app/controllers/api/v1/reports_controller.rb
server/app/controllers/api/v1/schedule_syncs_controller.rb
server/app/controllers/api/v1/sync_records_controller.rb
server/app/controllers/api/v1/sync_runs_controller.rb
server/app/controllers/api/v1/syncs_controller.rb
server/app/controllers/api/v1/users_controller.rb
server/app/controllers/api/v1/workspaces_controller.rb
server/app/controllers/application_controller.rb
server/app/controllers/concerns/.keep
server/app/controllers/concerns/audit_logger.rb
server/app/controllers/concerns/exception_handler.rb
server/app/controllers/concerns/resource_link_builder.rb
server/app/interactors/authentication/login.rb
server/app/interactors/authentication/logout.rb
server/app/interactors/authentication/resend_verification_email.rb
server/app/interactors/authentication/signup.rb
server/app/interactors/catalogs/create_catalog.rb
server/app/interactors/catalogs/update_catalog.rb
server/app/interactors/connector_definitions/filter_connector_definitions.rb
server/app/interactors/connectors/create_connector.rb
server/app/interactors/connectors/discover_connector.rb
server/app/interactors/connectors/execute_model.rb
server/app/interactors/connectors/query_source.rb
server/app/interactors/connectors/update_connector.rb
server/app/interactors/models/create_model.rb
server/app/interactors/models/update_model.rb
server/app/interactors/reports/activity_report.rb
server/app/interactors/syncs/cancel_sync.rb
server/app/interactors/syncs/create_sync.rb
server/app/interactors/syncs/schedule_sync.rb
server/app/interactors/syncs/sync_configurations.rb
server/app/interactors/syncs/update_sync.rb
server/app/interactors/workspaces/create.rb
server/app/interactors/workspaces/delete.rb
server/app/interactors/workspaces/find.rb
server/app/interactors/workspaces/list_all.rb
server/app/interactors/workspaces/update.rb
server/app/jobs/application_job.rb
server/app/jobs/send_sync_alerts_job.rb
server/app/mailers/application_mailer.rb
server/app/mailers/devise_mailer.rb
server/app/mailers/sync_alert_mailer.rb
server/app/mailers/sync_run_mailer.rb
server/app/mailers/user_mailer.rb
server/app/mailers/workspace_user_mailer.rb
server/app/middleware/multiwoven_server/quiet_logger.rb
server/app/middleware/multiwoven_server/request_response_logger.rb
server/app/models/agents/component.rb
server/app/models/agents/edge.rb
server/app/models/agents/remote_code_execution.rb
server/app/models/agents/workflow.rb
server/app/models/agents/workflow_integration.rb
server/app/models/agents/workflow_log.rb
server/app/models/agents/workflow_run.rb
server/app/models/alert.rb
server/app/models/alert_channel.rb
server/app/models/alert_medium.rb
server/app/models/application_record.rb
server/app/models/audit_log.rb
server/app/models/billing.rb
server/app/models/billing/plan.rb
server/app/models/billing/subscription.rb
server/app/models/catalog.rb
server/app/models/chat_message.rb
server/app/models/concerns/.keep
server/app/models/connector.rb
server/app/models/custom_visual_component_file.rb
server/app/models/data_app.rb
server/app/models/data_app_session.rb
server/app/models/embedding_model.rb
server/app/models/eula.rb
server/app/models/feedback.rb
server/app/models/message_feedback.rb
server/app/models/model.rb
server/app/models/organization.rb
server/app/models/resource.rb
server/app/models/role.rb
server/app/models/schema_validations/integration/configuration_slack.json
server/app/models/schema_validations/integrations/configuration_slack.json
server/app/models/schema_validations/models/configuration_aiml.json
server/app/models/schema_validations/models/configuration_dynamic_sql.json
server/app/models/schema_validations/models/configuration_unstructured.json
server/app/models/schema_validations/models/configuration_vector_search.json
server/app/models/sso_configuration.rb
server/app/models/sync.rb
server/app/models/sync_file.rb
server/app/models/sync_record.rb
server/app/models/sync_run.rb
server/app/models/user.rb
server/app/models/visual_component.rb
server/app/models/workflow_integration.rb
server/app/models/workspace.rb
server/app/models/workspace_user.rb
server/app/policies/application_policy.rb
server/app/policies/connector_definition_policy.rb
server/app/policies/connector_policy.rb
server/app/policies/current_context.rb
server/app/policies/model_policy.rb
server/app/policies/report_policy.rb
server/app/policies/sync_policy.rb
server/app/policies/sync_record_policy.rb
server/app/policies/sync_run_policy.rb
server/app/policies/user_policy.rb
server/app/policies/workspace_policy.rb
server/app/serializers/audit_logs_serializer.rb
server/app/serializers/catalog_serializer.rb
server/app/serializers/connector_serializer.rb
server/app/serializers/feedback_serializer.rb
server/app/serializers/message_feedback_serializer.rb
server/app/serializers/model_serializer.rb
server/app/serializers/sync_record_serializer.rb
server/app/serializers/sync_run_serializer.rb
server/app/serializers/sync_serializer.rb
server/app/serializers/user_serializer.rb
server/app/serializers/workspace_serializer.rb
server/app/temporal/activities/create_sync_run_activity.rb
server/app/temporal/activities/extractor_activity.rb
server/app/temporal/activities/fetch_sync_activity.rb
server/app/temporal/activities/loader_activity.rb
server/app/temporal/activities/reporter_activity.rb
server/app/temporal/activities/schedule_sync_activity.rb
server/app/temporal/activities/terminate_workflow_activity.rb
server/app/temporal/cli/register_namespace
server/app/temporal/cli/setup.rb
server/app/temporal/cli/worker
server/app/temporal/middlewares/database_middleware.rb
server/app/temporal/middlewares/logging_middleware.rb
server/app/temporal/middlewares/update_sync_run_status_middleware.rb
server/app/temporal/workflows/schedule_sync_workflow.rb
server/app/temporal/workflows/sync_workflow.rb
server/app/temporal/workflows/terminate_workflow.rb
server/app/views/devise/mailer/confirmation_instructions.html.erb
server/app/views/devise/mailer/invitation_instructions.html.erb
server/app/views/devise/mailer/password_change.html.erb
server/app/views/devise/mailer/reset_password_instructions.html.erb
server/app/views/layouts/mailer.html.erb
server/app/views/layouts/mailer.text.erb
server/app/views/sync_alert_mailer/sync_failure_email.html.erb
server/app/views/sync_alert_mailer/sync_row_failure_email.html.erb
server/app/views/sync_alert_mailer/sync_success_email.html.erb
server/app/views/sync_run_mailer/status_email.html.erb
server/app/views/workspace_user_mailer/send_invitation_email.html.erb
server/bin/bundle
server/bin/docker-entrypoint
server/bin/rails
server/bin/rake
server/bin/setup
server/config.ru
server/config/application.rb
server/config/boot.rb
server/config/cable.yml
server/config/credentials.yml.enc
server/config/database.yml
server/config/environment.rb
server/config/environments/development.rb
server/config/environments/production.rb
server/config/environments/test.rb
server/config/initializers/active_model_serializers.rb
server/config/initializers/bullet.rb
server/config/initializers/cors.rb
server/config/initializers/custom_pagination_links.rb
server/config/initializers/devise.rb
server/config/initializers/filter_parameter_logging.rb
server/config/initializers/inflections.rb
server/config/initializers/kaminari_config.rb
server/config/initializers/logging.rb
server/config/initializers/new_relic.rb
server/config/initializers/premailer_rails.rb
server/config/initializers/rack_attack.rb
server/config/initializers/rails_host_authorization.rb
server/config/initializers/strong_migrations.rb
server/config/initializers/temporal.rb
server/config/locales/devise_invitable.en.yml
server/config/locales/en.yml
server/config/puma.rb
server/config/queue.yml
server/config/recurring.yml
server/config/routes.rb
server/config/secrets.yml
server/config/storage.yml
server/db/data/20240513072634_add_roles.rb
server/db/data/20240513073101_add_resources.rb
server/db/data/20240516181513_migrate_workspace_user_roles_to_admin.rb
server/db/data/20240524141637_update_workspace_users_to_admin_role.rb
server/db/data/20240617095053_update_role_policies.rb
server/db/data/20240626120511_update_member_view_role_permissions.rb
server/db/data/20240702095541_update_role_descriptions.rb
server/db/data/20240813084446_update_user_read_permission.rb
server/db/data/20240827212112_populate_category_field_in_connectors.rb
server/db/data/20240903055705_add_data_app_permission_to_roles.rb
server/db/data/20241022143042_add_audit_logs_permission_to_roles.rb
server/db/data/20241127103943_add_data_app_and_audit_logs_resources.rb
server/db/data/20241204154833_add_catalog_and_schedule_sync_resources.rb
server/db/data/20250103102748_add_alerts_permission_to_roles.rb
server/db/data/20250105185147_add_slack_and_email_to_alert_medium.rb
server/db/data/20250114120956_add_logo_url_to_alert_medium.rb
server/db/data/20250206100711_create_default_plan.rb
server/db/data/20250206100945_migrate_organizations_to_default_plan.rb
server/db/data/20250206101336_change_default_plan_to_active.rb
server/db/data/20250207090028_create_embedding_model_openai.rb
server/db/data/20250209222957_add_billing_permission_to_roles.rb
server/db/data/20250212170921_update_mode_in_embedding_models.rb
server/db/data/20250221161222_populate_role_type.rb
server/db/data/20250227122723_add_sso_configuration_permission_to_roles.rb
server/db/data/20250306202414_update_system_role_descriptions.rb
server/db/data/20250403013305_add_eula_permission_to_roles.rb
server/db/data/20250411101855_add_assistant_permission_to_roles.rb
server/db/data/20250414125119_add_sso_eula_assistant_resources.rb
server/db/data/20250417191605_update_eula_permission.rb
server/db/data/20250603113843_add_workflow_resources.rb
server/db/data/20250603114049_update_workflow_permissions_to_roles.rb
server/db/data/20250617163641_update_read_user_permission_for_non_admin_roles.rb
server/db/data/20250710183353_populate_sub_category_field_in_connectors.rb
server/db/data/20250724110926_assign_configurable_from_model.rb
server/db/data_schema.rb
server/db/migrate/20231016080754_create_workspaces.rb
server/db/migrate/20231016104518_devise_create_users.rb
server/db/migrate/20231016132422_add_jti_to_users.rb
server/db/migrate/20231020122228_add_confirmation_fields_to_user.rb
server/db/migrate/20231023091535_create_connectors.rb
server/db/migrate/20231023092329_create_catalogs.rb
server/db/migrate/20231023093217_create_models.rb
server/db/migrate/20231023130412_create_syncs.rb
server/db/migrate/20231101034843_create_workspace_users.rb
server/db/migrate/20231230143430_add_name_to_users.rb
server/db/migrate/20240103111636_add_connector_name_to_connector.rb
server/db/migrate/20240103195046_change_catalog_hash_type.rb
server/db/migrate/20240107054041_create_organizations.rb
server/db/migrate/20240107054253_add_organization_to_workspaces.rb
server/db/migrate/20240107055430_add_unique_index_to_organizations.rb
server/db/migrate/20240107104025_remove_indexes_from_workspaces.rb
server/db/migrate/20240107201734_create_sync_runs.rb
server/db/migrate/20240107203458_create_sync_records.rb
server/db/migrate/20240107204141_add_unique_constraint_to_sync_record_fingerprint.rb
server/db/migrate/20240107204627_add_cursor_fields_to_sync.rb
server/db/migrate/20240109173214_add_sync_mode_to_syncs.rb
server/db/migrate/20240109210604_remove_cursor_fields_from_syncs.rb
server/db/migrate/20240110110356_remove_schedule_data_from_syncs.rb
server/db/migrate/20240110110531_add_sync_interval_and_unit_to_syncs.rb
server/db/migrate/20240110111112_add_action_to_sync_runs.rb
server/db/migrate/20240110111625_remove_action_from_sync_runs.rb
server/db/migrate/20240110112014_add_action_to_sync_record.rb
server/db/migrate/20240110115908_add_stream_name_to_syncs.rb
server/db/migrate/20240112073233_add_primary_key_to_sync_records.rb
server/db/migrate/20240112133554_add_description_to_model.rb
server/db/migrate/20240112133622_add_description_to_connector.rb
server/db/migrate/20240121122719_add_status_to_sync_records.rb
server/db/migrate/20240122091247_add_current_offset_to_sync_runs.rb
server/db/migrate/20240122095423_add_unique_index_to_sync_records.rb
server/db/migrate/20240122095559_remove_unique_constraint_from_sync_record_fingerprint.rb
server/db/migrate/20240123185009_add_workflow_id_to_syncs.rb
server/db/migrate/20240125105732_remove_index_sync_id_and_primary_key_from_sync_records.rb
server/db/migrate/20240205062322_add_unique_id_to_users.rb
server/db/migrate/20240214124507_remove_index_and_add_new_index_to_sync_records.rb
server/db/migrate/20240222095807_add_workspace_id_to_sync_run.rb
server/db/migrate/20240222110240_add_columns_to_sync_run.rb
server/db/migrate/20240222110415_set_values_for_existing_sync_runs.rb
server/db/migrate/20240228111723_add_total_query_rows_to_sync_runs.rb
server/db/migrate/20240228111957_add_error_to_sync_records.rb
server/db/migrate/20240228112259_change_started_at_and_finished_at_in_sync_runs.rb
server/db/migrate/20240305070953_add_primary_key_sync_id_unique_index_to_sync_records.rb
server/db/migrate/20240305120454_add_discarded_at_to_syncs.rb
server/db/migrate/20240306045911_add_discarded_at_to_sync_runs.rb
server/db/migrate/20240314102143_add_lockable_to_users.rb
server/db/migrate/20240412183836_add_cursor_fields_to_syncs.rb
server/db/migrate/20240419062432_add_cron_expression_to_syncs.rb
server/db/migrate/20240419080033_update_schedule_type_in_syncs.rb
server/db/migrate/20240423060924_add_skipped_rows_to_sync_runs.rb
server/db/migrate/20240504054131_add_description_and_region_to_workspaces.rb
server/db/migrate/20240506111708_create_resources.rb
server/db/migrate/20240506111803_create_roles.rb
server/db/migrate/20240515072318_add_role_id_to_workspace_users.rb
server/db/migrate/20240521134208_add_invitation_fields_to_users.rb
server/db/migrate/20240522101110_devise_invitable_add_to_users.rb
server/db/migrate/20240523093913_add_unique_index_to_workspace_users.rb
server/db/migrate/20240614135415_remove_error_from_sync_records.rb
server/db/migrate/20240614140619_add_error_json_to_sync_records.rb
server/db/migrate/20240628122409_rename_error_to_logs_in_sync_records.rb
server/db/migrate/20240725060832_add_sync_run_type_to_sync_runs.rb
server/db/migrate/20240726095056_add_confirmable_to_devise.rb
server/db/migrate/20240823114746_add_configuration_to_models.rb
server/db/migrate/20240827211003_add_connector_category_to_connector.rb
server/db/migrate/20240829110045_create_data_apps.rb
server/db/migrate/20240829131951_create_visual_component.rb
server/db/migrate/20240917075008_change_name_null_in_visual_components.rb
server/db/migrate/20240923143812_add_data_app_token_to_data_apps.rb
server/db/migrate/20240923150740_populate_data_app_token_and_add_index.rb
server/db/migrate/20241007070931_create_feedbacks.rb
server/db/migrate/20241010214745_remove_name_unique_index_from_organization.rb
server/db/migrate/20241016120129_create_audit_logs.rb
server/db/migrate/20241017114319_add_feedback_type_and_change_feedback_content_to_feedbacks.rb
server/db/migrate/20241017155337_change_reaction_to_be_nullable_in_feedbacks.rb
server/db/migrate/20241024064358_create_data_app_sessions.rb
server/db/migrate/20241024103527_add_session_id_and_session_count_to_feedbacks_and_visual_components.rb
server/db/migrate/20241107074907_add_additional_remarks_to_feedbacks.rb
server/db/migrate/20241119070408_add_rendering_type_to_data_apps.rb
server/db/migrate/20241119111441_set_data_for_rendering_type_in_data_apps.rb
server/db/migrate/20241119205428_add_data_app_sessions_count_to_data_apps.rb
server/db/migrate/20241119205508_add_feedbacks_count_to_data_apps.rb
server/db/migrate/20241119210518_counter_culture_fix_counts_for_data_app_sessions_and_feedbacks.rb
server/db/migrate/20241126100010_create_active_storage_tables.active_storage.rb
server/db/migrate/20241126104103_create_cust_visual_compnt_file.rb
server/db/migrate/20241206211928_add_resource_link_to_audit_logs.rb
server/db/migrate/20241219163555_create_alerts.rb
server/db/migrate/20241219163606_create_alert_channels.rb
server/db/migrate/20250102134726_create_alert_media.rb
server/db/migrate/20250103134002_add_alert_medium_to_alert_channels.rb
server/db/migrate/20250103134316_add_foreign_key_alert_medium_to_alert_channel.rb
server/db/migrate/20250103134555_validate_add_foreign_key_alert_medium_to_alert_channel.rb
server/db/migrate/20250105190454_add_last_run_at_to_alert.rb
server/db/migrate/20250105190541_remove_platform_alert_channel.rb
server/db/migrate/20250105204109_create_solid_queue_tables.solid_queue.rb
server/db/migrate/20250105204110_add_missing_index_to_blocked_executions.solid_queue.rb
server/db/migrate/20250105204111_create_recurring_executions.solid_queue.rb
server/db/migrate/20250105205739_add_foreign_key_validation_for_solid_queue.rb
server/db/migrate/20250106130642_add_logo_to_alert_medium.rb
server/db/migrate/20250130231627_create_message_feedback.rb
server/db/migrate/20250204172626_remove_metadata_and_timestamp_from_message_feedbacks.rb
server/db/migrate/20250205115448_change_chatbot_response_name_in_message_feedbacks.rb
server/db/migrate/20250205125111_create_billing_plans.rb
server/db/migrate/20250205130002_change_addons_config_to_json_in_billing_plans.rb
server/db/migrate/20250205132231_create_billing_subscriptions.rb
server/db/migrate/20250205133513_rename_billing_plan_id_to_plan_id_in_billing_subscriptions.rb
server/db/migrate/20250207084006_create_embedding_models.rb
server/db/migrate/20250211130824_rename_max_rows_synced_limit_in_billing_plans.rb
server/db/migrate/20250211180054_change_additional_remark_name_in_message_feedbacks.rb
server/db/migrate/20250220021540_create_sso_configuration.rb
server/db/migrate/20250220183302_add_role_type_to_role.rb
server/db/migrate/20250220191249_add_organization_id_to_role.rb
server/db/migrate/20250220191433_add_organization_id_role_name_unique_index_to_role.rb
server/db/migrate/20250226100529_create_chat_messages.rb
server/db/migrate/20250319092853_create_recurring_tasks.solid_queue.rb
server/db/migrate/20250319092938_add_name_to_processes.solid_queue.rb
server/db/migrate/20250319092939_make_name_not_null.solid_queue.rb
server/db/migrate/20250319092940_change_solid_queue_recurring_tasks_static_to_not_null.solid_queue.rb
server/db/migrate/20250321180501_create_eula.rb
server/db/migrate/20250326163503_add_eula_accepted_to_users.rb
server/db/migrate/20250415181231_add_eula_accepted_at_to_user.rb
server/db/migrate/20250415192351_create_sync_files.rb
server/db/migrate/20250424010113_add_workflow_run_id_to_sync_run.rb
server/db/migrate/20250506000944_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000945_add_missing_unique_indices.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000946_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000947_add_missing_taggable_index.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000948_change_collation_for_tag_names.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000949_add_missing_indexes_on_taggings.acts_as_taggable_on_engine.rb
server/db/migrate/20250506000950_add_tenant_to_taggings.acts_as_taggable_on_engine.rb
server/db/migrate/20250519182802_add_message_feedbacks_count_to_data_apps.rb
server/db/migrate/20250519183250_add_chat_messages_count_to_data_apps.rb
server/db/migrate/20250519183842_counter_culture_fix_counts_for_message_feedbacks.rb
server/db/migrate/20250519183855_counter_culture_fix_counts_for_chat_messages.rb
server/db/migrate/20250529124656_add_workspace_logos.rb
server/db/migrate/20250529125449_add_organization_logos.rb
server/db/migrate/20250602094149_create_workflows.rb
server/db/migrate/20250602095746_create_components.rb
server/db/migrate/20250602100811_create_edges.rb
server/db/migrate/20250611091441_add_unique_index_to_workflows.rb
server/db/migrate/20250617051749_add_data_and_json_to_components.rb
server/db/migrate/20250618121819_remove_name_not_null_from_components.rb
server/db/migrate/20250627000141_add_sub_connector_category_to_connector.rb
server/db/migrate/20250701125416_create_workflow_runs.rb
server/db/migrate/20250715171640_add_template_to_workflows.rb
server/db/migrate/20250717004726_remove_template_to_workflows.rb
server/db/migrate/20250724103035_add_configurable_to_visual_components.rb
server/db/migrate/20250724111930_make_model_id_nullable_in_visual_components.rb
server/db/migrate/20250725172105_create_workflow_logs.rb
server/db/migrate/20250730142637_add_finished_at_to_workflow_run.rb
server/db/migrate/20250806031347_add_title_to_chat_messages.rb
server/db/migrate/20250812205822_move_title_from_chat_messages_to_data_app_session.rb
server/db/migrate/20250813130124_create_remote_code_executions.rb
server/db/migrate/20250918110212_remove_model_id_from_feedbacks_and_message_feedbacks.rb.rb
server/db/migrate/20250925150504_create_workflow_integration.rb
server/db/migrate/20251006204127_add_connection_configuration_for_workflow_integration.rb
server/db/migrate/20251009173752_change_workflow_id_from_stringto_uuid_in_workflow_integration.rb
server/db/schema.rb
server/db/seeds.rb
server/docker-compose.yml
server/enterprise/app/interactors/agents/workflows/run_workflow.rb
server/getduckdb.sh
server/getduckdbcli.sh
server/gethttpfsextension.sh
server/getoracleinstantclient.sh
server/lib/liquid/custom_filters.rb
server/lib/reverse_etl/extractors/base.rb
server/lib/reverse_etl/extractors/full_refresh.rb
server/lib/reverse_etl/extractors/http.rb
server/lib/reverse_etl/extractors/incremental_delta.rb
server/lib/reverse_etl/extractors/test_sync_extractor.rb
server/lib/reverse_etl/extractors/web_scraping.rb
server/lib/reverse_etl/loaders/base.rb
server/lib/reverse_etl/loaders/standard.rb
server/lib/reverse_etl/transformers/base.rb
server/lib/reverse_etl/transformers/chat_message_transformer.rb
server/lib/reverse_etl/transformers/embeddings/base.rb
server/lib/reverse_etl/transformers/embeddings/embedding_service.rb
server/lib/reverse_etl/transformers/embeddings/open_ai.rb
server/lib/reverse_etl/transformers/user_mapping.rb
server/lib/reverse_etl/utils/batch_query.rb
server/lib/reverse_etl/utils/cursor_query_builder.rb
server/lib/reverse_etl/utils/paginator.rb
server/lib/reverse_etl/utils/random_query_builder.rb
server/lib/script_vault/tracker.rb
server/lib/tasks/.keep
server/lib/utils/constants.rb
server/lib/utils/exception_reporter.rb
server/lib/utils/health_checker.rb
server/lib/utils/http_client.rb
server/lib/utils/json_helpers.rb
server/lib/utils/payload_generator/ai_ml.rb
server/lib/utils/payload_generator/dynamic_sql.rb
server/lib/utils/query_validator.rb
server/public/favicon.ico
server/public/robots.txt
server/spec/contracts/auth_contracts_spec.rb
server/spec/contracts/catalog_contracts_spec.rb
server/spec/contracts/connector_contracts_spec.rb
server/spec/contracts/connector_definition_contracts_spec.rb
server/spec/contracts/model_contracts_spec.rb
server/spec/contracts/report_contracts_spec.rb
server/spec/contracts/schedule_sync_contracts_spec.rb
server/spec/contracts/sync_contracts_spec.rb
server/spec/contracts/sync_record_contracts_spec.rb
server/spec/contracts/sync_run_contracts_spec.rb
server/spec/contracts/user_contracts_spec.rb
server/spec/contracts/workspace_contacts_spec.rb
server/spec/controllers/api/v1/auth_controller_spec.rb
server/spec/controllers/application_controller_spec.rb
server/spec/controllers/concerns/audit_logger_spec.rb
server/spec/controllers/concerns/resource_link_builder_spec.rb
server/spec/factories/agents/components.rb
server/spec/factories/agents/edges.rb
server/spec/factories/agents/remote_code_executions.rb
server/spec/factories/agents/workflow_integration.rb
server/spec/factories/agents/workflow_runs.rb
server/spec/factories/agents/workflows.rb
server/spec/factories/agents/workflows_logs.rb
server/spec/factories/alert_channels.rb
server/spec/factories/alert_media.rb
server/spec/factories/alerts.rb
server/spec/factories/audit_logs.rb
server/spec/factories/billing/plans.rb
server/spec/factories/billing/subscriptions.rb
server/spec/factories/catalogs.rb
server/spec/factories/chat_messages.rb
server/spec/factories/connectors.rb
server/spec/factories/custom_visual_component_files.rb
server/spec/factories/data_app_sessions.rb
server/spec/factories/data_apps.rb
server/spec/factories/embedding_models.rb
server/spec/factories/eula.rb
server/spec/factories/feedback.rb
server/spec/factories/message_feedbacks.rb
server/spec/factories/models.rb
server/spec/factories/organizations.rb
server/spec/factories/resources.rb
server/spec/factories/roles.rb
server/spec/factories/sso_configuration.rb
server/spec/factories/sync_records.rb
server/spec/factories/sync_runs.rb
server/spec/factories/syncs.rb
server/spec/factories/users.rb
server/spec/factories/visual_components.rb
server/spec/factories/workspace_users.rb
server/spec/factories/workspaces.rb
server/spec/interactors/authentication/login_spec.rb
server/spec/interactors/authentication/logout_spec.rb
server/spec/interactors/authentication/resend_verification_email_spec.rb
server/spec/interactors/authentication/signup_spec.rb
server/spec/interactors/catalogs/create_catalog_spec.rb
server/spec/interactors/catalogs/update_catalog_spec.rb
server/spec/interactors/connector_definitions/filter_connector_definitions_spec.rb
server/spec/interactors/connectors/create_connector_spec.rb
server/spec/interactors/connectors/discover_connector_spec.rb
server/spec/interactors/connectors/query_source_spec.rb
server/spec/interactors/connectors/update_connector_spec.rb
server/spec/interactors/models/create_model_spec.rb
server/spec/interactors/models/update_model_spec.rb
server/spec/interactors/reports/activity_report_spec.rb
server/spec/interactors/syncs/cancel_sync_spec.rb
server/spec/interactors/syncs/create_sync_spec.rb
server/spec/interactors/syncs/schedule_sync_spec.rb
server/spec/interactors/syncs/sync_configurations_spec.rb
server/spec/interactors/syncs/update_sync_spec.rb
server/spec/interactors/workspaces/create_spec.rb
server/spec/interactors/workspaces/delete_spec.rb
server/spec/interactors/workspaces/find_spec.rb
server/spec/interactors/workspaces/list_all_spec.rb
server/spec/interactors/workspaces/update_spec.rb
server/spec/lib/liquid/custom_filters_spec.rb
server/spec/lib/reverse_etl/extractors/base_spec.rb
server/spec/lib/reverse_etl/extractors/full_refresh_spec.rb
server/spec/lib/reverse_etl/extractors/http_spec.rb
server/spec/lib/reverse_etl/extractors/incremental_delta_spec.rb
server/spec/lib/reverse_etl/extractors/test_sync_extractor_spec.rb
server/spec/lib/reverse_etl/extractors/web_scraping_spec.rb
server/spec/lib/reverse_etl/loaders/base_spec.rb
server/spec/lib/reverse_etl/loaders/standard_spec.rb
server/spec/lib/reverse_etl/transformers/base_spec.rb
server/spec/lib/reverse_etl/transformers/chat_message_transformer_spec.rb
server/spec/lib/reverse_etl/transformers/embeddings/base_spec.rb
server/spec/lib/reverse_etl/transformers/embeddings/embedding_service_spec.rb
server/spec/lib/reverse_etl/transformers/embeddings/open_ai_spec.rb
server/spec/lib/reverse_etl/transformers/user_mapping_spec.rb
server/spec/lib/reverse_etl/utils/batch_query_spec.rb
server/spec/lib/reverse_etl/utils/cursor_query_builder_spec.rb
server/spec/lib/reverse_etl/utils/paginator_spec.rb
server/spec/lib/reverse_etl/utils/random_query_builder_spec.rb
server/spec/lib/utils/exception_reporter_spec.rb
server/spec/lib/utils/health_checker_spec.rb
server/spec/lib/utils/http_client_spec.rb
server/spec/lib/utils/json_helpers_spec.rb
server/spec/lib/utils/payload_generator/ai_ml_spec.rb
server/spec/lib/utils/payload_generator/dynamic_sql_spec.rb
server/spec/lib/utils/query_validator_spec.rb
server/spec/mailers/device_mailer_spec.rb
server/spec/mailers/sync_alert_mailer_spec.rb
server/spec/mailers/sync_run_mailer_spec.rb
server/spec/middleware/multiwoven_server/request_response_logger_spec.rb
server/spec/models/agents/component_spec.rb
server/spec/models/agents/edge_spec.rb
server/spec/models/agents/remote_code_execution_spec.rb
server/spec/models/agents/workflow_integration_spec.rb
server/spec/models/agents/workflow_log_spec.rb
server/spec/models/agents/workflow_run_spec.rb
server/spec/models/agents/workflow_spec.rb
server/spec/models/alert_channel_spec.rb
server/spec/models/alert_medium_spec.rb
server/spec/models/alert_spec.rb
server/spec/models/audit_log_spec.rb
server/spec/models/billing/plan_spec.rb
server/spec/models/billing/subscription_spec.rb
server/spec/models/catalog_spec.rb
server/spec/models/chat_message_spec.rb
server/spec/models/connector_spec.rb
server/spec/models/custom_visual_component_file_spec.rb
server/spec/models/data_app_session_spec.rb
server/spec/models/data_app_spec.rb
server/spec/models/eula_spec.rb
server/spec/models/feedback_spec.rb
server/spec/models/message_feedback_spec.rb
server/spec/models/model_spec.rb
server/spec/models/organization_spec.rb
server/spec/models/resource_spec.rb
server/spec/models/role_spec.rb
server/spec/models/sso_configuration_spec.rb
server/spec/models/sync_file_spec.rb
server/spec/models/sync_record_spec.rb
server/spec/models/sync_run_spec.rb
server/spec/models/sync_spec.rb
server/spec/models/user_spec.rb
server/spec/models/visual_component_spec.rb
server/spec/models/workspace_spec.rb
server/spec/models/workspace_user_spec.rb
server/spec/policies/application_policy_spec.rb
server/spec/policies/connector_definition_policy_spec.rb
server/spec/policies/connector_policy_spec.rb
server/spec/policies/model_policy_spec.rb
server/spec/policies/report_policy_spec.rb
server/spec/policies/sync_policy_spec.rb
server/spec/policies/sync_record_policy_spec.rb
server/spec/policies/sync_run_policy_spec.rb
server/spec/policies/user_policy_spec.rb
server/spec/policies/workspace_policy_spec.rb
server/spec/rails_helper.rb
server/spec/requests/api/v1/catalogs_controller_spec.rb
server/spec/requests/api/v1/connector_definitions_spec.rb
server/spec/requests/api/v1/connectors_controller_spec.rb
server/spec/requests/api/v1/models_controller_spec.rb
server/spec/requests/api/v1/reports_controller_spec.rb
server/spec/requests/api/v1/schedule_syncs_controller_spec.rb
server/spec/requests/api/v1/sync_records_controller_spec.rb
server/spec/requests/api/v1/sync_runs_controller_spec.rb
server/spec/requests/api/v1/syncs_controller_spec.rb
server/spec/requests/api/v1/users_controller_spec.rb
server/spec/requests/api/v1/workspaces_controller_spec.rb
server/spec/spec_helper.rb
server/spec/support/auth_helper.rb
server/spec/temporal/activities/create_sync_run_activity_spec.rb
server/spec/temporal/activities/extractor_activity_spec.rb
server/spec/temporal/activities/loader_activity_spec.rb
server/spec/temporal/activities/reporter_activity_spec.rb
server/spec/temporal/activities/schedule_sync_activity_spec.rb
server/spec/temporal/middlewares/logging_middleware_spec.rb
server/spec/temporal/middlewares/update_sync_run_status_middleware_spec.rb
server/spec/temporal/workflows/schedule_sync_workflow_spec.rb
server/spec/temporal/workflows/sync_workflow_spec.rb
server/storage/.keep
server/tmp/pids/.keep
server/vendor/.keep
sync_commit.sh
ui/.eslintrc.cjs
ui/.github/CODEOWNERS
ui/.github/ISSUE_TEMPLATE/bug_report_template.md
ui/.github/ISSUE_TEMPLATE/documentation_update_template.md
ui/.github/ISSUE_TEMPLATE/feature_request_template.md
ui/.github/pull_request_template.md
ui/.gitignore
ui/.prettierrc
ui/CODE_OF_CONDUCT.md
ui/CONTRIBUTING.md
ui/Dockerfile
ui/Dockerfile.dev
ui/LICENSE
ui/README.md
ui/__mocks__/moment.js
ui/__mocks__/react-chartjs-2.js
ui/cypress.config.ts
ui/cypress/e2e/login.cy.js
ui/index.html
ui/jest.config.js
ui/package-lock.json
ui/package.json
ui/public/favicon.svg
ui/server-config/nginx.conf
ui/server.js
ui/src/App.tsx
ui/src/assets/icons/FiBug.svg
ui/src/assets/icons/connector-placeholder.svg
ui/src/assets/images/404-image.png
ui/src/assets/images/DBTModelSelector.svg
ui/src/assets/images/EmptyQueryPreview.svg
ui/src/assets/images/ExitWarning.png
ui/src/assets/images/NoDestinations.png
ui/src/assets/images/NoModels.png
ui/src/assets/images/NoSources.png
ui/src/assets/images/NoSyncs.svg
ui/src/assets/images/SQLQuerySelector.svg
ui/src/assets/images/TableSelector.svg
ui/src/assets/images/database.svg
ui/src/assets/images/empty-state-illustration.svg
ui/src/assets/images/icon-white.svg
ui/src/assets/images/icon.svg
ui/src/assets/images/multiwoven-logo.svg
ui/src/assets/images/stars.svg
ui/src/assets/styles/common_styles.scss
ui/src/chakra-core.config.ts
ui/src/chakra.config.ts
ui/src/components/Alerts/Alerts.tsx
ui/src/components/Alerts/index.ts
ui/src/components/Badge/Badge.tsx
ui/src/components/Badge/index.ts
ui/src/components/BaseButton/BaseButton.tsx
ui/src/components/BaseButton/index.ts
ui/src/components/Breadcrumbs/Breadcrumbs.tsx
ui/src/components/Breadcrumbs/index.ts
ui/src/components/Breadcrumbs/types.ts
ui/src/components/ConnectorTable/ConnectorTable.tsx
ui/src/components/ConnectorTable/index.ts
ui/src/components/ContentContainer/ContentContainer.tsx
ui/src/components/ContentContainer/index.ts
ui/src/components/DataTable/RowsNotFound.tsx
ui/src/components/DataTable/Table.tsx
ui/src/components/DataTable/index.ts
ui/src/components/EnhancedPagination/PageChangeButton.tsx
ui/src/components/EnhancedPagination/PageNumberItem.tsx
ui/src/components/EnhancedPagination/Pagination.tsx
ui/src/components/EnhancedPagination/__tests__/Pagination.test.tsx
ui/src/components/EnhancedPagination/index.ts
ui/src/components/EntityItem/EntityItem.tsx
ui/src/components/EntityItem/index.ts
ui/src/components/ExitModal/ExitModal.tsx
ui/src/components/ExitModal/index.ts
ui/src/components/Fields/Fields.tsx
ui/src/components/Fields/index.ts
ui/src/components/FormFooter/FormFooter.tsx
ui/src/components/FormFooter/index.ts
ui/src/components/Heading/index.tsx
ui/src/components/HiddenInput/HiddenInput.tsx
ui/src/components/HiddenInput/index.ts
ui/src/components/JSONSchemaForm/JSONSchemaForm.tsx
ui/src/components/JSONSchemaForm/index.ts
ui/src/components/JSONSchemaForm/rjsf/BaseInputTemplate.tsx
ui/src/components/JSONSchemaForm/rjsf/DescriptionFieldTemplate.tsx
ui/src/components/JSONSchemaForm/rjsf/FieldTemplate.tsx
ui/src/components/JSONSchemaForm/rjsf/ObjectFieldTemplate.tsx
ui/src/components/JSONSchemaForm/rjsf/TitleFieldTemplate.tsx
ui/src/components/JSONSchemaForm/rjsf/WrapIfAdditionalTemplate.tsx
ui/src/components/Loader/Loader.tsx
ui/src/components/Loader/index.ts
ui/src/components/ModelTable/ModelTable.tsx
ui/src/components/ModelTable/index.ts
ui/src/components/Pagination/Pagination.tsx
ui/src/components/Pagination/index.ts
ui/src/components/SearchBar/SearchBar.tsx
ui/src/components/StatusTag/StatusTag.tsx
ui/src/components/StatusTag/index.ts
ui/src/components/Stepped…
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.

Mysql connector in source

3 participants