Skip to content

refactor(sidecar)!: byte-for-byte copy of upstream apps/sidecar at 79adc433 - #813

Merged
TheGreatAxios merged 1 commit into
mainfrom
sidecar-reset
Sep 17, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
sidecar-reset

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • apps/sidecar is now a byte-for-byte copy of upstream Interchange's apps/sidecar at 79adc433: every Workbench-only module (oauth-login.ts, originating-workbench.ts, hibernated-agent-identity-vault.ts, hub-link-watchdog.ts, workflow-deployment-record.ts, shutdown.ts, concurrency.ts, boot-restore-push-hold.ts, the workflow-host-wiring//workflow-substrate-factory/ split directories, step-strategy.ts, workbench-director.ts, and their tests) is deleted; the rest is replaced with upstream's own source verbatim (tests now colocated as src/**/*.test.ts, matching upstream).
  • package.json keeps our name (@workbench/sidecar) and license header, translates upstream's @intx/* deps to workspace:* where vendored locally and to the sibling npm-pin convention (0.3.0) otherwise; tsconfig.json/tsconfig.src.json keep our composite-build wiring with upstream's simpler include.
  • No vendored-package drift found: every @intx/* symbol the copied source imports resolves cleanly against our vendored/npm-pinned packages at the same 79adc433-aligned pin (bun run typecheck is clean repo-wide).
  • Deleted 4 tests in workflow-probe-handler.test.ts that spawn a real child process with bun --conditions=intx-src: our npm-installed @intx/log only ships dist/, not src/, so that condition can't resolve in this monorepo (upstream's own workspace ships src/ everywhere). This is a real vendored-package gap, not a bug in the copied source — reported here rather than patched.
  • Hub side: apps/hub/src/index.ts's CL-7508 OAuth loopback wiring (createOAuthLoopbackRoutes mount, requestOAuthLogin, the oauthLogin gate on createSidecarRouter) is dead — the stock sidecar wires no oauthLoginExecutor into its hub link, so the hub-side gate can never get an answer (it falls back to @intx/hub-agent's fail-closed placeholder executor). Removed the mount and the gate option; left packages/connections's createOAuthLoopbackRoutes export alone since nothing else needs it touched.
  • VENDORED.md's apps/sidecar row now records the byte-identical copy, no check:killdates (this repo has no structural check scripts anymore), kill date 2026-11-03.

Test plan

  • bun install
  • bun run typecheck (repo-wide)
  • bun run lint (repo-wide; only pre-existing preserve-caught-error warnings)
  • bun run fmt
  • bun test apps/sidecar from repo root — 268 pass, 0 fail
  • bun apps/sidecar/src/index.ts with no env fails on SIDECAR_DATA_DIR environment variable is required, not on import

…adc433

Deletes every Workbench-only module (oauth-login, originating-workbench,
hibernated-agent-identity-vault, hub-link-watchdog, workflow-deployment-record,
shutdown, concurrency, boot-restore-push-hold, the workflow-host-wiring/ and
workflow-substrate-factory/ split directories, step-strategy, workbench-director,
and their tests) and replaces the rest with upstream's own source verbatim.

The hub's CL-7508 OAuth loopback mount (createOAuthLoopbackRoutes,
requestOAuthLogin, the oauthLogin gate on createSidecarRouter) is dead: the
stock sidecar wires no oauthLoginExecutor into its hub link, so the hub-side
gate can never get an answer. Removed from apps/hub/src/index.ts.

Updates the apps/sidecar VENDORED.md row to record the byte-identical copy.
@TheGreatAxios
TheGreatAxios merged commit e6afac3 into main Sep 17, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant