Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
e00a0cb
feat: add integration.sync_units control table
mbani01 Aug 11, 2026
f5dafd7
feat: add sync units data access layer
mbani01 Aug 11, 2026
f41df42
feat: add integration-builder lib with connector registry
mbani01 Aug 11, 2026
5062058
fix: skip sync units of soft-deleted integrations when claiming
mbani01 Aug 11, 2026
327d6d0
feat: add getCredential facade
mbani01 Aug 11, 2026
4daecd3
fix: export integration builder DAL from package root
mbani01 Aug 11, 2026
31d697f
style: fix prettier formatting in credentials facade
mbani01 Aug 11, 2026
94901f8
refactor: rename integration-builder to connectors
mbani01 Aug 11, 2026
d681c11
feat: add connectors worker with dispatcher workflow
mbani01 Aug 11, 2026
8b22542
feat: add sync-run workflow with dummy connector
mbani01 Aug 11, 2026
ff1248f
feat: add connectors worker docker setup
mbani01 Aug 12, 2026
ab10d0c
fix: rethrow sync run errors so temporal reflects failures
mbani01 Aug 12, 2026
9de976f
feat: add connectors http core with error taxonomy
mbani01 Aug 12, 2026
f76efcc
fix: guard heartbeat callback and add connectors worker dockerignore
mbani01 Aug 12, 2026
8a1391b
fix: restrict rate limit detection to unambiguous signals
mbani01 Aug 12, 2026
5e4117a
fix: always apply pooled token in http client auth
mbani01 Aug 12, 2026
b582876
fix: add default http timeout and narrow claimed unit payload
mbani01 Aug 12, 2026
fac2c62
feat: add redis token pool for connectors
mbani01 Aug 13, 2026
032d4cd
feat: add token budgets with dispatcher admission
mbani01 Aug 13, 2026
1f5324b
feat: add emit with zod validation reusing legacy results publishing
mbani01 Aug 27, 2026
5a88aed
chore: sync pnpm lockfile with main
mbani01 Aug 27, 2026
2bac076
fix: publish schema-parsed record instead of raw input in emit
mbani01 Aug 27, 2026
ff4a063
Merge remote-tracking branch 'origin/main' into feat/integration-buil…
mbani01 Aug 27, 2026
a0dafee
fix: address http client and emit schema review findings
mbani01 Aug 27, 2026
12f2cdd
fix: align node 24 targets, migration ordering and applier classifica…
mbani01 Aug 27, 2026
47f6e53
fix: park tokens on secondary rate limits and ignore stale reset headers
mbani01 Aug 27, 2026
2644746
fix: rotate to a fresh token after quarantining on auth failure
mbani01 Aug 27, 2026
57fc8af
feat: wire http client and emit into sync runs
mbani01 Aug 27, 2026
89eee85
fix: register dummy connector only in dev environments
mbani01 Aug 27, 2026
871980b
fix: persist partial progress when a sync run parks on rate limit
mbani01 Aug 27, 2026
c19e860
feat: add per-platform manifest hooks for tokens, budgets and respons…
mbani01 Aug 27, 2026
84a0801
fix: admit units with no healthy tokens so seeding can revive the pool
mbani01 Aug 27, 2026
8c78a77
feat: add github app auth, graphql client and connector skeleton
mbani01 Aug 27, 2026
8935e49
fix: address review findings on timeouts, partial-run recency and sin…
mbani01 Aug 28, 2026
bbf15c5
feat: add github sync-unit seeding script to connectors worker
mbani01 Aug 28, 2026
1219e42
chore: add connectors worker builder definition
mbani01 Aug 28, 2026
266690b
feat: resolve github app installation id with env and flag overrides
mbani01 Aug 28, 2026
6e406ae
feat: add github connector syncs with full pagination and nango paylo…
mbani01 Aug 31, 2026
bd43a59
fix: park github syncs on body-level and secondary rate limits with e…
mbani01 Sep 1, 2026
1187b0e
fix: fetch pr children per item to avoid github batch node drops
mbani01 Sep 1, 2026
3b69675
fix: align github member payloads and event skips with nango implemen…
mbani01 Sep 1, 2026
7dcd42d
perf: probe token budgets concurrently in dispatcher admission
mbani01 Sep 1, 2026
ed1c940
feat: add github discussions sync with nested reply traversal
mbani01 Sep 1, 2026
e918730
feat: add github stars sync and register discussions and stars in man…
mbani01 Sep 1, 2026
cdcd3c8
fix: classify github app token minting errors by status
mbani01 Sep 2, 2026
821b0f7
fix: classify github 403s by cause instead of defaulting to auth
mbani01 Sep 2, 2026
531e71f
fix: park unavailable runs and dead-letter sync units on auth failure…
mbani01 Sep 2, 2026
d530dce
feat: encode platform, sync and channel in sync-run workflow ids
mbani01 Sep 2, 2026
e07421d
feat: fast-track incomplete sync runs and bound runs by wall clock
mbani01 Sep 2, 2026
accd746
fix: back off failed sync runs instead of waiting out the lease guard
mbani01 Sep 2, 2026
ad2d086
fix: preserve installation park state across token re-mints
mbani01 Sep 2, 2026
cb814c1
fix: ask temporal whether a sync is running instead of guarding the l…
mbani01 Sep 2, 2026
9f7713f
feat: persist last error message and run completeness on sync units
mbani01 Sep 2, 2026
ef0f76a
feat: count provider requests in the connector http client
mbani01 Sep 2, 2026
2942d7b
feat: emit structured run-summary log lines from sync runs
mbani01 Sep 2, 2026
91b39f8
feat: log per-tick dispatch summaries from the connectors dispatcher
mbani01 Sep 2, 2026
a39d4ec
fix: register logDispatchSummary activity on the connectors worker
mbani01 Sep 2, 2026
d77b008
feat: make the connector token pool global and installation-backed
mbani01 Sep 3, 2026
37e7ea4
feat: replace request-path quarantine with token invalidation
mbani01 Sep 3, 2026
7951a1f
fix: make token pool state updates atomic with a lua script
mbani01 Sep 3, 2026
41378f6
perf: skip github pool re-seeding while the seed marker is fresh
mbani01 Sep 3, 2026
62eb1aa
feat: log token pool rotation events from sync runs
mbani01 Sep 3, 2026
f688c28
feat: allow restricting the github pool to specific installation ids
mbani01 Sep 3, 2026
9c4022f
chore: disable the github stars sync
mbani01 Sep 3, 2026
18c1966
fix: paginate github app installation listing
mbani01 Sep 3, 2026
60884ad
fix: stop discarding usable github responses and over-parking tokens
mbani01 Sep 4, 2026
83b4b00
fix: rotate across the whole token pool before parking a run
mbani01 Sep 4, 2026
e1a3149
chore: log github rate-limit response detail on token park
mbani01 Sep 4, 2026
3cb979a
revert: throw on any github graphql error again
mbani01 Sep 4, 2026
8571bf4
feat: add a github app budget audit script
mbani01 Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CREATE TABLE IF NOT EXISTS integration.sync_units (
Comment thread
mbani01 marked this conversation as resolved.
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
"integrationId" UUID NOT NULL REFERENCES public.integrations(id),
platform TEXT NOT NULL,
"channelId" TEXT NOT NULL,
"channelName" TEXT NOT NULL,
"syncName" TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'active'
CHECK (status IN ('active','paused','dead_letter','decommissioned')),
"nextRunAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
"lockedAt" TIMESTAMPTZ,
"lastRunAt" TIMESTAMPTZ,
"lastSuccessAt" TIMESTAMPTZ,
"consecutiveFailures" INT NOT NULL DEFAULT 0,
"lastErrorClass" TEXT,
watermark JSONB,
"emittedCount" INT,
"createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
"updatedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE ("integrationId", "channelId", "syncName")
);

CREATE INDEX IF NOT EXISTS "ix_sync_units_due"
ON integration.sync_units ("nextRunAt")
WHERE status = 'active';
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ALTER TABLE integration.sync_units
ADD COLUMN "lastErrorMessage" TEXT,
ADD COLUMN "lastRunComplete" BOOLEAN;
Loading
Loading