feat(FN-2519): add remote tunnel manager for settings sync

- Add remote-access contracts, provider adapters, and a tunnel process manager with lifecycle handling
- Wire tunnel manager into ProjectEngine startup/shutdown flow and export new remote-access modules
- Update settings modal UX for remote auth URLs, including wrapping and related UI test coverage
- Document tunnel manager behavior and remote settings sync details in architecture, CLI, and settings docs
This commit is contained in:
Fusion
2026-04-26 02:20:28 -07:00
committed by gsxdsm
parent a9e68b38eb
commit db9f4ba57e
16 changed files with 1234 additions and 28 deletions

View File

@@ -81,6 +81,30 @@ export { ProjectEngine, type ProjectEngineOptions } from "./project-engine.js";
export { ProjectEngineManager, type EngineManagerOptions } from "./project-engine-manager.js";
export { NodeHealthMonitor } from "./node-health-monitor.js";
export { PeerExchangeService, type PeerExchangeServiceOptions, type SyncResult } from "./peer-exchange-service.js";
export {
TunnelProcessManager,
getTunnelProviderAdapter,
redactTunnelText,
type TunnelProcessManagerOptions,
type CloudflareProviderConfig,
type ManagedTunnelProcess,
type PreparedTunnelCommand,
type TailscaleProviderConfig,
type TunnelError,
type TunnelErrorCode,
type TunnelLifecycleState,
type TunnelLogEntry,
type TunnelLogLevel,
type TunnelLogListener,
type TunnelManager,
type TunnelOutputStream,
type TunnelProvider,
type TunnelProviderAdapter,
type TunnelProviderConfig,
type TunnelReadinessEvent,
type TunnelStatusListener,
type TunnelStatusSnapshot,
} from "./remote-access/index.js";
export { RemoteNodeClient } from "./runtimes/remote-node-client.js";
export { RemoteNodeRuntime, type RemoteNodeRuntimeConfig } from "./runtimes/remote-node-runtime.js";
export { StepSessionExecutor } from "./step-session-executor.js";