feat(connectors): add 7 knowledge base connectors (Google Forms, Typeform, Azure DevOps, YouTube, JSM, S3, Sentry)#4880
Conversation
…form, Azure DevOps, YouTube, JSM, S3, Sentry)
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview New implementations consistently set Docs/skills: Reviewed by Cursor Bugbot for commit 3bfec6e. Configure here. |
…, batch omissions, cap-vs-exhaustion)
Greptile SummaryThis PR adds 7 new knowledge-base connectors (Google Forms, Typeform, Azure DevOps wiki+work items+repo files, YouTube, JSM, Amazon S3/R2/MinIO, and Sentry) plus a deregistered X connector, and hardens the sync engine with a new
Confidence Score: 5/5Safe to merge; the connector logic is well-reasoned and the sync-engine changes are covered by new tests. The connectors follow established patterns correctly: content-hash invariance between listing and hydration, proper No files require special attention beyond the minor notes on Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
LS[listDocuments page N] --> DOCS{documents fetched}
DOCS -->|contentDeferred: true| STUB[emit stub]
DOCS -->|contentDeferred: false| FULL[emit full doc]
STUB --> HASH{content hash changed?}
FULL --> HASH
HASH -->|unchanged| SKIP[skip - docsUnchanged++]
HASH -->|changed| GD[getDocument - hydrate content]
GD -->|null| DEL[mark for deletion]
GD -->|doc| UPSERT[add/update in KB]
LS --> CAP{listingCapped?}
CAP -->|true| NORECONCILE[skip deletion reconciliation]
CAP -->|false| RECONCILE[hard-delete absent docs]
TRUNCATED{listingTruncated?} -->|true| NORECONCILE
FULLSYNC{forced fullSync?} -->|true + listingCapped| RECONCILE
FULLSYNC -->|true + listingTruncated| NORECONCILE
Reviews (11): Last reviewed commit: "fix(connectors): ado discards foreign-ph..." | Re-trigger Greptile |
…less of hitLimit (404-null-filter gap)
|
@greptile |
|
@cursor review |
…-poisoning on listing failure
|
@greptile |
|
@cursor review |
… flag, google-forms response cap in hash
|
@greptile |
|
@cursor review |
…ion (promote from s3)
|
@greptile |
|
@cursor review |
|
@greptile |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 5f4516b. Configure here.
…(fullSync cannot override); s3 byte-exact size fallback; ado tsdoc accuracy
…ed pure function, tighten engine comments
|
@greptile |
|
@cursor review |
…cument custom-wiql full-listing behavior
|
@cursor review |
|
@greptile |
…s a continuation token
|
@greptile |
|
@cursor review |
…ns all response pages for change detection
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 3bfec6e. Configure here.
- registry: register x connector (was dead code, never wired in) - google-docs/google-drive/google-forms: gate deletion reconciliation on Drive incompleteSearch; google-docs also now sets listingCapped on its maxDocs cap path - jsm: add read:jira-user scope so reporter resolves on requests - gong: only set listingCapped on genuine truncation, not exact-cap source exhaustion - gitlab: issues phase switched to keyset pagination (removes ~50k offset ceiling), matching the repo-tree phase - grain: parallelize recording + transcript fetch in getDocument - ashby: document updatedAt-based content-hash limitation for notes/feedback change detection - tests: mapTags coverage for x, granola, greenhouse, fathom, rootly
Summary
listingCappeddeletion-reconciliation requirement (the most common bug class found during validation)Type of Change
Testing
Connector test suite passes (100 tests), full type-check and Biome clean. Validated against live provider API docs; not yet smoke-tested against live accounts.
Checklist