From e70844b9c6ab9da87eb0038be6766302059f09f1 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 5 Feb 2026 19:31:35 +0000 Subject: [PATCH] Initial upload with CI/CD workflow --- src/models/types.ts | 100 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/models/types.ts diff --git a/src/models/types.ts b/src/models/types.ts new file mode 100644 index 0000000..2b2f58a --- /dev/null +++ b/src/models/types.ts @@ -0,0 +1,100 @@ +export type TerminalType = 'tmux' | 'screen' | 'iterm2' | 'unknown'; + +export interface PaneLayout { + x: number; + y: number; + width: number; + height: number; +} + +export interface Pane { + id: string; + index: number; + layout: PaneLayout; + command?: string; + cwd?: string; + title?: string; + isActive?: boolean; +} + +export interface Window { + id: string; + index: number; + name: string; + panes: Pane[]; + layout?: string; + activePaneIndex?: number; +} + +export interface Session { + id: string; + name: string; + windows: Window[]; + activeWindowIndex: number; + cwd?: string; +} + +export interface Layout { + version: string; + terminalType: TerminalType; + createdAt: string; + updatedAt: string; + session: Session; + metadata?: { + author?: string; + description?: string; + tags?: string[]; + }; +} + +export interface TemplateVariable { + name: string; + description: string; + defaultValue?: string; + required: boolean; +} + +export interface Template { + name: string; + displayName: string; + description: string; + variables: TemplateVariable[]; + layout: Layout; +} + +export interface UserConfig { + layoutDir: string; + defaultFormat: 'json' | 'yaml'; + gitSyncEnabled: boolean; + templatesDir: string; +} + +export interface GitSyncConfig { + enabled: boolean; + remoteUrl?: string; + branch: string; + commitMessage: string; +} + +export interface LayoutFile { + name: string; + path: string; + format: 'json' | 'yaml'; + layout: Layout; + createdAt: string; + updatedAt: string; +} + +export interface ParserResult { + success: boolean; + data?: T; + error?: string; + rawOutput?: string; +} + +export interface ExecResult { + success: boolean; + stdout: string; + stderr: string; + exitCode: number; +}