UNPKG

vibetunnel

Version:

Terminal sharing server with web interface - supports macOS, Linux, and headless environments

61 lines (60 loc) 2.26 kB
import express from 'express'; import { createServer } from 'http'; import { WebSocketServer } from 'ws'; import { PtyManager } from './pty/index.js'; import { ActivityMonitor } from './services/activity-monitor.js'; import { BufferAggregator } from './services/buffer-aggregator.js'; import { ConfigService } from './services/config-service.js'; import { ControlDirWatcher } from './services/control-dir-watcher.js'; import { HQClient } from './services/hq-client.js'; import { PushNotificationService } from './services/push-notification-service.js'; import { RemoteRegistry } from './services/remote-registry.js'; import { StreamWatcher } from './services/stream-watcher.js'; import { TerminalManager } from './services/terminal-manager.js'; export declare function isShuttingDown(): boolean; export declare function setShuttingDown(value: boolean): void; interface Config { port: number | null; bind: string | null; enableSSHKeys: boolean; disallowUserPassword: boolean; noAuth: boolean; isHQMode: boolean; hqUrl: string | null; hqUsername: string | null; hqPassword: string | null; remoteName: string | null; allowInsecureHQ: boolean; showHelp: boolean; showVersion: boolean; debug: boolean; pushEnabled: boolean; vapidEmail: string | null; generateVapidKeys: boolean; bellNotificationsEnabled: boolean; allowLocalBypass: boolean; localAuthToken: string | null; enableTailscaleServe: boolean; noHqAuth: boolean; enableMDNS: boolean; } interface AppInstance { app: express.Application; server: ReturnType<typeof createServer>; wss: WebSocketServer; startServer: () => void; config: Config; configService: ConfigService; ptyManager: PtyManager; terminalManager: TerminalManager; streamWatcher: StreamWatcher; remoteRegistry: RemoteRegistry | null; hqClient: HQClient | null; controlDirWatcher: ControlDirWatcher | null; bufferAggregator: BufferAggregator | null; activityMonitor: ActivityMonitor; pushNotificationService: PushNotificationService | null; } export declare function createApp(): Promise<AppInstance>; export declare function startVibeTunnelServer(): Promise<void>; export * from './version.js';