Upload connector code to Core and restart — WITHOUT redeploying skills.
MERGES with the GitHub state at `ref` by default (default ref: 'dev'). Sending a partial file set ONLY overlays those files — the rest of the connector is preserved from GitHub. To fully replace the connector dir (historical behavior), pass replace:true.
Modes:
• github:true (no files) — deploy the GitHub state at `ref` as-is.
• github:true + files:[] — GitHub state at `ref` as BASE, your files overlay on top (incoming wins).
• files:[] (no github) — default MERGE with GitHub state at `ref`. Refuses if no GitHub base exists (no silent nuke).
• files:[] + replace:true — full replace. Wipes connector dir + writes only the provided files. Use deliberately.
Common traps this design prevents:
• Pre-fix bug (2026-06-06): sending just ui-dist HTML wiped server.js + node_modules — connector broke until a full re-upload. Now: those files merge with the GitHub base.
• Pre-fix bug: github:true silently read from `main` even when patches were on `dev`. Now: defaults to dev; pass ref:'main' to opt into the legacy path.
Connector