Skip to content

feat(data-analytics): add stitch-data Stitch Connect connector#275

Open
andrei-hasna wants to merge 1 commit into
mainfrom
station02-claude/open-connectors/7639b5b6-05af-4d93-8682-cb05d696294c-d1573caa
Open

feat(data-analytics): add stitch-data Stitch Connect connector#275
andrei-hasna wants to merge 1 commit into
mainfrom
station02-claude/open-connectors/7639b5b6-05af-4d93-8682-cb05d696294c-d1573caa

Conversation

@andrei-hasna

Copy link
Copy Markdown
Contributor

Summary

Adds @hasna/connect-stitch-data, a first-class open-connectors package for Stitch built on the public Stitch Connect API (v4). Rebuilt from upstream API docs and existing open-connectors patterns — no platform-alumia code copied.

What's included

  • API client (src/api/client.ts): Bearer auth, URL/query building, JSON parsing, retry-with-backoff on 429 and 5xx, StitchApiError.
  • Resource modules: sources (list/get/create/update/delete/pause/unpause/connection-check), destinations, source & destination type catalogs, streams, replication jobs (sync start/stop), and extraction/load reporting (paginated).
  • CLI (src/cli/index.ts): Commander with --api-key/--client-id/--base-url/--format/--verbose/--profile, multi-profile credential storage.
  • Types & utils, placeholder-only .env.example, README.md, CLAUDE.md.
  • Registry: new stitch-data entry under Data & Analytics.
  • Test: src/api/client.test.ts (URL build, Bearer header, JSON parse, 204, 429/5xx retry, error handling).

Validation

  • bun run typecheck
  • bun run build
  • bun test (connector) ✅ 14 pass
  • Live wiring check against api.stitchdata.com returns a parsed 401 Not Authorized with a bad token, confirming end-to-end request/auth/error handling.
  • Guards: no secrets, no internal/platform-alumia references, no browser-use dependency, .env.example placeholders only.

🤖 Generated with Claude Code

@andrei-hasna
andrei-hasna force-pushed the station02-claude/open-connectors/7639b5b6-05af-4d93-8682-cb05d696294c-d1573caa branch from ee175f3 to 842d7d4 Compare July 7, 2026 00:47
@andrei-hasna

Copy link
Copy Markdown
Contributor Author

Worker update for routed merge-review task dafbc379-0f36-44d9-95fd-6b70e6dfb59e.

Updated PR head to linear commit 842d7d4a5284cb80333827f2e982c1687907014e on top of current main and kept the PR diff scoped to connectors/stitch-data/** plus src/lib/connectors/data-analytics.ts.

Fixes applied after adversarial review:

  • Corrected Stitch stream metadata update typing/payload shape and added a regression test.
  • Stored Stitch profile credentials/current-profile marker with owner-only file and directory modes.
  • Centralized access-token masking so short tokens are fully hidden.
  • Added the required ${NPM_TOKEN} npm auth placeholder.
  • Updated connector build to emit dist/index.d.ts.

Validation:

  • GitHub CI build passed on 842d7d4a.
  • Local root typecheck passed.
  • Local root build passed.
  • Local full test suite passed: 2025 tests, 0 failures with writable HOME=/tmp/open-connectors-test-home.
  • gitleaks git --log-opts origin/main..HEAD --redact --no-banner --verbose passed: no leaks found.

Merge blocker: latest GitHub reviews are still empty, so this PR still needs a non-author approval before merge. Attempted to request selected reviewer kriptoburak, but GitHub returned HTTP 422 because that user is not a collaborator on hasna/connectors.

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