import{d as e}from"./errors-pXKbCKbL.js";import{i as t}from"./runner-DYk4q6mP.js";import{t as n}from"./claude-DsuN4tnK.js";import{t as r}from"./codex-9KXsEKx4.js";import{t as i}from"./gemini-DKTklp3n.js";var a=class{#e;constructor(){this.#e=new Map,this.#e.set(`claude`,new n),this.#e.set(`codex`,new r),this.#e.set(`gemini`,new i)}async execute(e){let n=this.#t(e.tool);if(!await n.validateAvailability())return{success:!1,message:`Tool "${e.tool}" is not installed or not found in PATH`};let r=e.yolo??!0,i=n.buildCommandSpec({yolo:r,resume:e.resume,continue:e.continue,settings:e.settings});try{let{pid:n,command:a}=await t(i,{cwd:e.cwd,args:e.args}),o={tool:e.tool,yolo:r,args:e.args??[]};return e.resume!==void 0&&(o.resume=e.resume),e.continue!==void 0&&(o.continue=e.continue),e.cwd&&(o.cwd=e.cwd),{success:!0,pid:n,command:a,message:`Launched ${e.tool} successfully (PID: ${n})`,data:o}}catch(t){return{success:!1,message:`Failed to launch ${e.tool}: ${t.message}`}}}#t(t){let n=this.#e.get(t);if(!n)throw new e(t);return n}registerAdapter(e){this.#e.set(e.toolId,e)}getSupportedTools(){return Array.from(this.#e.keys())}};export{a as t};