
Product
Microsoft Teams Notifications Are Now Available in Socket
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.
dsh-github-connect
Advanced tools
GitHub connect service for the DeepSeek Harness — Device Flow authorization storing the token through the credentials seam, deterministic git flow-state detection driving the conversation PR status bar, and @Remote methods (connectStatus / startDeviceFlow
English | 中文
The GitHub connect service (ctx.githubConnect): everything between "the user clicks Connect GitHub" and "the status bar above the input knows what to offer". Three responsibilities:
startDeviceFlow() returns the user code immediately and polls in the background at the server's pace (authorization_pending continues, slow_down adds 5s, expired_token / access_denied settle terminally). On success the token lands in the credentials seam (credentials.set) — its credentials/updated event is what refreshes every consumer, no restart, and the token value never transits the frontend. v1 uses non-expiring authorization; the refresh-token gap is documented in the code where it will land.agent/turn-stopping, cheap git facts (current branch, head sha, ahead count) plus one branch-PR lookup fold into the four-state machine — hidden / pr-ready / pr-open (with CI rollup) / pr-merged — pushed over the github/flow-state event. Gated hard: non-GitHub remote or unresolvable credential ⇒ no events (unconnected users never see the feature). Turns that produced no new commits emit nothing (noise rule). Detection never throws into the turn.@Remote button methods (design §6, zero model turns): connectStatus() (cached login lookup), startDeviceFlow(), deviceFlowStatus(), disconnect(), prDraft() (deterministic title/body prefill from the commits ahead of base), createPr() (branch/base from git, PR through the seam's idempotent create), mergePr() (squash / merge / rebase; 405/409 map to GITHUB_MERGE_BLOCKED), prChecks() and refreshFlowState() for the badge poller — the FRONTEND owns the polling cadence and stops while the page is hidden.| Field | Default | Semantics |
|---|---|---|
clientId | the shared dsh-github-connector OAuth App | Client id for the Device Flow (a public identifier, not a secret). Override on GHES with an App registered on your instance. |
credentialRef | GITHUB_TOKEN | Where the token is stored and resolved (credentials seam, env fallback). |
apiBaseURL / authBaseURL | github.com endpoints | GHES: point apiBaseURL at /api/v3, authBaseURL at the GHES host. |
host | github.com | The host a workspace remote must point at to activate flow-state. |
cwd / baseBranch | calling session’s workspace, else process cwd / remote HEAD | cwd forces every git check into one directory (ADR-0010: normally the calling session’s header.cwd decides); baseBranch overrides the detected base. |
scope | repo | OAuth scope requested by the Device Flow. |
dsh does not forward custom host events to the browser, so both events below serve host-side consumers only; the web UI polls refreshFlowState and deviceFlowStatus instead. deviceFlowStatus() returns the active flow's latest DeviceFlowUpdate (updates from a superseded flow are dropped, so a poller never sees a stale terminal phase).
github/flow-state — the status bar's state (four kinds above).github/device-flow — awaiting-authorization (with the prompt) → slow-down* → authorized | expired | denied | failed.Device Flow paths run against fully mocked GitHub OAuth endpoints; flow-state transitions run on REAL fixture git repositories built per test; the service suite verifies the credentials write, the credentials/updated announcement, gating, and the no-new-commits noise rule. 100% per-file coverage, keyless.
None directly — this service exists so the buttons DON'T spend model turns. Its one model-facing effect is indirect: [AI review] (M6) triggers a normal agent turn via sessions.prompt, and the token it stores is what makes the github_* tools usable.
FAQs
GitHub connect service for the DeepSeek Harness — Device Flow authorization storing the token through the credentials seam, deterministic git flow-state detection driving the conversation PR status bar, and @Remote methods (connectStatus / startDeviceFlow
We found that dsh-github-connect demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.