Files
opencode-plugin-tmux-utils/dist/features/tmux-subagent/manager.d.ts
Dmytro Stanchiev 15be750b5c need dist for plugins
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-19 19:15:51 -04:00

62 lines
1.7 KiB
TypeScript

import type { PluginInput } from "@opencode-ai/plugin";
import type { TmuxConfig } from "../../config/schema";
interface SessionCreatedEvent {
type: string;
properties?: {
info?: {
id?: string;
parentID?: string;
title?: string;
};
};
}
export interface TmuxUtilDeps {
isInsideTmux: () => boolean;
getCurrentPaneId: () => string | undefined;
}
export declare class TmuxSessionManager {
private client;
private tmuxConfig;
private serverUrl;
private sourcePaneId;
private sessions;
private pendingSessions;
private spawnQueue;
private deferredSessions;
private deferredQueue;
private deferredAttachInterval?;
private deferredAttachTickScheduled;
private nullStateCount;
private deps;
private pollingManager;
constructor(ctx: PluginInput, tmuxConfig: TmuxConfig, deps?: TmuxUtilDeps);
private isEnabled;
private getCapacityConfig;
private getSessionMappings;
private removeTrackedSession;
private markSessionClosePending;
private queryWindowStateSafely;
private tryCloseTrackedSession;
private retryPendingCloses;
private enqueueDeferredSession;
private removeDeferredSession;
private startDeferredAttachLoop;
private stopDeferredAttachLoop;
private tryAttachDeferredSession;
private waitForSessionReady;
onSessionCreated(event: SessionCreatedEvent): Promise<void>;
private enqueueSpawn;
onSessionDeleted(event: {
sessionID: string;
}): Promise<void>;
private closeSessionById;
createEventHandler(): (input: {
event: {
type: string;
properties?: unknown;
};
}) => Promise<void>;
cleanup(): Promise<void>;
}
export {};