{"version":3,"sources":["/home/x/core/projects/battle/dist/NodePTY-OWIXWAOK.cjs","../src/PTY/NodePTY.ts"],"names":[],"mappings":"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","file":"/home/x/core/projects/battle/dist/NodePTY-OWIXWAOK.cjs","sourcesContent":[null,"/**\n * Node.js PTY implementation using node-pty\n */\n\nimport { createRequire } from 'module'\nimport type { IPTY, PTYOptions } from './index.js'\n\nexport class NodePTY implements IPTY {\n    private pty: any\n    private _killed: boolean = false\n    \n    constructor(command: string, args: string[], options: PTYOptions) {\n        // Load node-pty dynamically\n        let nodePty: any\n        \n        try {\n            // For ESM environment, use createRequire\n            const requireFunc = createRequire(import.meta.url)\n            nodePty = requireFunc('node-pty')\n        } catch (err: any) {\n            throw new Error(`Failed to load node-pty: ${err.message}. Ensure node-pty is installed: npm install node-pty`)\n        }\n        \n        this.pty = nodePty.spawn(command, args, {\n            name: options.name || 'xterm-256color',\n            cols: options.cols || 80,\n            rows: options.rows || 24,\n            cwd: options.cwd || process.cwd(),\n            env: { ...process.env, ...options.env, TERM: 'xterm-256color' }\n        })\n    }\n    \n    onData(callback: (data: string) => void): void {\n        this.pty.onData(callback)\n    }\n    \n    onExit(callback: (code: number) => void): void {\n        this.pty.onExit(({ exitCode, signal }: any) => {\n            this._killed = true\n            // Ensure we always have a valid exit code\n            const code = exitCode ?? (signal ? 128 : 0)\n            callback(code)\n        })\n    }\n    \n    write(data: string): void {\n        if (!this._killed) {\n            this.pty.write(data)\n        }\n    }\n    \n    resize(cols: number, rows: number): void {\n        if (!this._killed) {\n            this.pty.resize(cols, rows)\n        }\n    }\n    \n    kill(signal?: string): void {\n        if (!this._killed) {\n            this.pty.kill(signal)\n            this._killed = true\n        }\n    }\n    \n    get pid(): number | undefined {\n        return this.pty.pid\n    }\n    \n    get killed(): boolean {\n        return this._killed\n    }\n}\n\nexport default NodePTY"]}