apps/server/package.json | 1 + apps/server/src/sourceControl/SourceControlDiscovery.test.ts | 21 + apps/server/src/sourceControl/SourceControlProviderRegistry.test.ts | 2 + apps/server/src/sourceControl/builtInDrivers.ts | 5 + apps/web/src/components/CommandPalette.tsx | 20 +- apps/web/src/components/GitActionsControl.tsx | 12 +- apps/web/src/components/Icons.tsx | 8 + apps/web/src/components/ThreadStatusIndicators.test.tsx | 22 + apps/web/src/components/ThreadStatusIndicators.tsx | 23 +- apps/web/src/components/pullRequest/pullRequestDetail.logic.ts | 2 + apps/web/src/components/pullRequest/pullRequestLinkContextMenu.ts | 1 + apps/web/src/components/settings/SourceControlSettings.tsx | 2 + apps/web/src/sourceControlPresentation.ts | 7 + apps/web/src/state/sourceControlActions.ts | 2 +- docs/user/source-control.md | 20 +- package.json | 2 +- packages/contracts/src/sourceControl.ts | 1 + packages/shared/src/changeRequestUrl.ts | 7 + packages/shared/src/sourceControl.ts | 31 +- packages/source-control-gitcafe/package.json | 52 ++ packages/source-control-gitcafe/src/server/GitCafeApi.ts | 176 +++++++ packages/source-control-gitcafe/src/server/GitCafeCredentials.test.ts | 155 ++++++ packages/source-control-gitcafe/src/server/GitCafeCredentials.ts | 166 ++++++ packages/source-control-gitcafe/src/server/GitCafePullRequestProvider.test.ts | 751 +++++++++++++++++++++++++++ packages/source-control-gitcafe/src/server/GitCafePullRequestProvider.ts | 867 ++++++++++++++++++++++++++++++++ packages/source-control-gitcafe/src/server/GitCafeSourceControlProvider.test.ts | 339 +++++++++++++ packages/source-control-gitcafe/src/server/GitCafeSourceControlProvider.ts | 503 ++++++++++++++++++ packages/source-control-gitcafe/src/server/driver.ts | 20 + packages/source-control-gitcafe/src/server/gitCafeHosts.test.ts | 46 ++ packages/source-control-gitcafe/src/server/gitCafeHosts.ts | 49 ++ packages/source-control-gitcafe/src/server/gitCafePullRequestJson.test.ts | 547 ++++++++++++++++++++ packages/source-control-gitcafe/src/server/gitCafePullRequestJson.ts | 578 +++++++++++++++++++++ packages/source-control-gitcafe/tsconfig.json | 7 + pnpm-lock.yaml | 34 ++ scripts/release-smoke.ts | 1 + 35 files changed, 4463 insertions(+), 17 deletions(-)