40 lines · 1.0 KB · TypeScript
RawDownload
import type { EnvironmentId, TerminalAttachInput } from "@t3tools/contracts"; export interface ThreadTerminalSubscriptionIdentity {  readonly environmentId: EnvironmentId;  readonly threadId: TerminalAttachInput["threadId"];  readonly terminalId: TerminalAttachInput["terminalId"];  readonly cwd: string;  readonly worktreePath: string | null;} export interface TerminalGridSize {  readonly cols: number;  readonly rows: number;} export function threadTerminalSubscriptionKey(  identity: ThreadTerminalSubscriptionIdentity,): string {  return JSON.stringify([    identity.environmentId,    identity.threadId,    identity.terminalId,    identity.cwd,    identity.worktreePath,  ]);} export function buildThreadTerminalAttachInput(  identity: ThreadTerminalSubscriptionIdentity,  gridSize: TerminalGridSize,): TerminalAttachInput {  return {    threadId: identity.threadId,    terminalId: identity.terminalId,    cwd: identity.cwd,    worktreePath: identity.worktreePath,    cols: gridSize.cols,    rows: gridSize.rows,  };}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t