| 830 | `).pop()??"";var $94=y(()=>{CT8();Y94=O6(yS1(),1),J76=O6(K94(),1)});var IS1;var A94=y(()=>{IS1=class IS1 extends Promise{static withResolver(){let q,K;return{promise:new Promise((z,Y)=>{q=z,K=Y}),resolve:q,reject:K}}}});import*as O94 from"node:readline";import{AsyncResource as sb_}from"node:async_hooks";function KO6(q){return(_,z={})=>{let{input:Y=process.stdin,signal:$}=z,A=new Set,O=new w94.default;O.pipe(z.output??process.stdout);let w=O94.createInterface({terminal:!0,input:Y,output:O}),j=new xT8(w),{promise:H,resolve:J,reject:M}=IS1.withResolver(),X=()=>M(new fS1);if($){let W=()=>M(new DS1({cause:$.reason}));if($.aborted)return W(),Object.assign(H,{cancel:X});$.addEventListener("abort",W),A.add(()=>$.removeEventListener("abort",W))}A.add(Le((W,D)=>{M(new ZS1(`User force closed the prompt with ${W} ${D}`))}));let P=()=>j.checkCursorPos();return w.input.on("keypress",P),A.add(()=>w.input.removeListener("keypress",P)),_34(w,(W)=>{let D=sb_.bind(()=>aA6.clearAll());return w.on("close",D),A.add(()=>w.removeListener("close",D)),W(()=>{try{let f=q(_,(T)=>{setImmediate(()=>J(T))}),[G,Z]=typeof f==="string"?[f]:f;j.render(G,Z),aA6.run()}catch(f){M(f)}}),Object.assign(H.then((f)=>{return aA6.clearAll(),f},(f)=>{throw aA6.clearAll(),f}).finally(()=>{A.forEach((f)=>f()),j.done({clearContent:Boolean(z?.clearPromptOnDone)}),O.end()}).then(()=>H),{cancel:X})})}}var w94;var j94=y(()=>{dm6();$94();A94();sA6();kT8();w94=O6(e34(),1)});class _O6{separator=H94.default.dim(Array.from({length:15}).join(hv6.line));type="separator";constructor(q){if(q)this.separator=q}static isSeparator(q){return Boolean(q&&typeof q==="object"&&"type"in q&&q.type==="separator")}}var H94;var J94=y(()=>{ET8();H94=O6(yT8(),1)});var IT8=y(()=>{M34();VT8();NT8();X34();LT8();P34();kS1();a34();j94();J94();kT8()});var zO;var M94=y(()=>{IT8();zO=KO6((q,K)=>{let{transformer:_=(M)=>M?"yes":"no"}=q,[z,Y]=K0("idle"),[$,A]=K0(""),O=Kr(q.theme),w=eA6({status:z,theme:O});qO6((M,X)=>{if(Lv6(M)){let P=q.default!==!1;if(/^(y|yes)/i.test($))P=!0;else if(/^(n|no)/i.test($))P=!1;A(_(P)),Y("done"),K(P)}else A(X.line)});let j=$,H="";if(z==="done")j=O.style.answer($);else H=` ${O.style.defaultAnswer(q.default===!1?"y/N":"Y/n")}`;let J=O.style.message(q.message,z);return`${w} ${J}${H} ${j}`})});var mY;var X94=y(()=>{IT8();mY=KO6((q,K)=>{let{required:_,validate:z=()=>!0}=q,Y=Kr(q.theme),[$,A]=K0("idle"),[O="",w]=K0(q.default),[j,H]=K0(),[J,M]=K0(""),X=eA6({status:$,theme:Y});qO6(async(G,Z)=>{if($!=="idle")return;if(Lv6(G)){let T=J||O;A("loading");let v=_&&!T?"You must provide a value":await z(T);if(v===!0)M(T),A("done"),K(T);else Z.write(J),H(v||"You must provide a valid value"),A("idle")}else if(vT8(G)&&!J)w(void 0);else if(G.name==="tab"&&!J)w(void 0),Z.clearLine(0),Z.write(O),M(O);else M(Z.line),H(void 0)});let P=Y.style.message(q.message,$),W=J;if(typeof q.transformer==="function")W=q.transformer(J,{isFinal:$==="done"});else if($==="done")W=Y.style.answer(J);let D;if(O&&$!=="done"&&!J)D=Y.style.defaultAnswer(O);let f="";if(j)f=Y.style.error(j);return[[X,P,D,W].filter((G)=>G!==void 0).join(" "),f]})});var W94=m((tb_,uS1)=>{var wY=tb_;tb_.default=wY;var YO="\x1B[",in6="\x1B]",Iv6="\x07",uT8=";",P94=process.env.TERM_PROGRAM==="Apple_Terminal";wY.cursorTo=(q,K)=>{if(typeof q!=="number")throw TypeError("The `x` argument is required");if(typeof K!=="number")return YO+(q+1)+"G";return YO+(K+1)+";"+(q+1)+"H"};wY.cursorMove=(q,K)=>{if(typeof q!=="number")throw TypeError("The `x` argument is required");let _="";if(q<0)_+=YO+-q+"D";else if(q>0)_+=YO+q+"C";if(K<0)_+=YO+-K+"A";else if(K>0)_+=YO+K+"B";return _};wY.cursorUp=(q=1)=>YO+q+"A";wY.cursorDown=(q=1)=>YO+q+"B";wY.cursorForward=(q=1)=>YO+q+"C";wY.cursorBackward=(q=1)=>YO+q+"D";wY.cursorLeft=YO+"G";wY.cursorSavePosition=P94?"\x1B7":YO+"s";wY.cursorRestorePosition=P94?"\x1B8":YO+"u";wY.cursorGetPosition=YO+"6n";wY.cursorNextLine=YO+"E";wY.cursorPrevLine=YO+"F";wY.cursorHide=YO+"?25l";wY.cursorShow=YO+"?25h";wY.eraseLines=(q)=>{let K="";for(let _=0;_<q;_++)K+=wY.eraseLine+(_<q-1?wY.cursorUp():"");if(q)K+=wY.cursorLeft;return K};wY.eraseEndLine=YO+"K";wY.eraseStartLine=YO+"1K";wY.eraseLine=YO+"2K";wY.eraseDown=YO+"J";wY.eraseUp=YO+"1J";wY.eraseScreen=YO+"2J";wY.scrollUp=YO+"S";wY.scrollDown=YO+"T";wY.clearScreen="\x1Bc";wY.clearTerminal=process.platform==="win32"?`${wY.eraseScreen}${YO}0f`:`${wY.eraseScreen}${YO}3J${YO}H`;wY.beep=Iv6;wY.link=(q,K)=>{return[in6,"8",uT8,uT8,K,Iv6,q,in6,"8",uT8,uT8,Iv6].join("")};wY.image=(q,K={})=>{let _=`${in6}1337;File=inline=1`;if(K.width)_+=`;width=${K.width}`;if(K.height)_+=`;height=${K.height}`;if(K.preserveAspectRatio===!1)_+=";preserveAspectRatio=0";return _+":"+q.toString("base64")+Iv6};wY.iTerm={setCwd:(q=process.cwd())=>`${in6}50;CurrentDir=${q}${Iv6}`,annotation:(q,K={})=>{let _=`${in6}1337;`,z=typeof K.x<"u",Y=typeof K.y<"u";if((z||Y)&&!(z&&Y&&typeof K.length<"u"))throw Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");if(q=q.replace(/\|/g,""),_+=K.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",K.length>0)_+=(z?[q,K.length,K.x,K.y]:[K.length,q]).join("|");else _+=q;return _+Iv6}}});function uv6(q){return!_O6.isSeparator(q)&&!q.disabled}function Kx_(q){return q.map((K)=>{if(_O6.isSeparator(K))return K;if(typeof K==="string")return{value:K,name:K,short:K,disabled:!1};let _=K.name??String(K.value);return{value:K.value,name:_,description:K.description,short:K.short??_,disabled:K.disabled??!1}})}var mS1,D94,qx_,mT8;var f94=y(()=>{IT8();ET8();mS1=O6(yT8(),1),D94=O6(W94(),1),qx_={icon:{cursor:hv6.pointer},style:{disabled:(q)=>mS1.default.dim(`- ${q}`),description:(q)=>mS1.default.cyan(q)},helpMode:"auto"};mT8=KO6((q,K)=>{let{loop:_=!0,pageSize:z=7}=q,Y=H76(!0),$=Kr(qx_,q.theme),[A,O]=K0("idle"),w=eA6({status:A,theme:$}),j=H76(),H=Qn6(()=>Kx_(q.choices),[q.choices]),J=Qn6(()=>{let v=H.findIndex(uv6),V=H.findLastIndex(uv6);if(v<0)throw new Un6("[select prompt] No selectable choices. All choices are disabled.");return{first:v,last:V}},[H]),M=Qn6(()=>{if(!("default"in q))return-1;return H.findIndex((v)=>uv6(v)&&v.value===q.default)},[q.default,H]),[X,P]=K0(M===-1?J.first:M),W=H[X];qO6((v,V)=>{if(clearTimeout(j.current),Lv6(v))O("done"),K(W.value);else if(TT8(v)||WS1(v)){if(V.clearLine(0),_||TT8(v)&&X!==J.first||WS1(v)&&X!==J.last){let E=TT8(v)?-1:1,S=X;do S=(S+E+H.length)%H.length;while(!uv6(H[S]));P(S)}}else if(q34(v)){V.clearLine(0);let E=Number(v.name)-1,S=H[E];if(S!=null&&uv6(S))P(E)}else if(vT8(v))V.clearLine(0);else{let E=V.line.toLowerCase(),S=H.findIndex((R)=>{if(_O6.isSeparator(R)||!uv6(R))return!1;return R.name.toLowerCase().startsWith(E)});if(S>=0)P(S);j.current=setTimeout(()=>{V.clearLine(0)},700)}}),tA6(()=>()=>{clearTimeout(j.current)},[]);let D=$.style.message(q.message,A),f="",G="";if($.helpMode==="always"||$.helpMode==="auto"&&Y.current)if(Y.current=!1,H.length>z)G=` |
| 833 | ${Z}${G}${T}${D94.default.cursorHide}`})});var pS1=y(()=>{M94();X94();f94()});var zO6="0.2",BS1,Z94,G94,T94,v94,k94,V94,N94,y94,E94,_x_,rn6,zx_;var on6=y(()=>{dA6();BS1=JE({command:c7(),args:qJ(c7()).optional(),env:Bx(c7(),c7()).optional()}),Z94=JE({name:c7(),email:c7().email().optional(),url:c7().url().optional()}),G94=JE({type:c7(),url:c7().url()}),T94=BS1.partial(),v94=BS1.extend({platform_overrides:Bx(c7(),T94).optional()}),k94=JE({type:gx(["python","node","binary"]),entry_point:c7(),mcp_config:v94}),V94=JE({claude_desktop:c7().optional(),platforms:qJ(gx(["darwin","win32","linux"])).optional(),runtimes:JE({python:c7().optional(),node:c7().optional()}).optional()}).passthrough(),N94=JE({name:c7(),description:c7().optional()}),y94=JE({name:c7(),description:c7().optional(),arguments:qJ(c7()).optional(),text:c7()}),E94=JE({type:gx(["string","number","boolean","directory","file"]),title:c7(),description:c7(),required:vW().optional(),default:v96([c7(),zh(),vW(),qJ(c7())]).optional(),multiple:vW().optional(),sensitive:vW().optional(),min:zh().optional(),max:zh().optional()}),_x_=Bx(c7(),v96([c7(),zh(),vW(),qJ(c7())])),rn6=JE({$schema:c7().optional(),dxt_version:c7().optional().describe("@deprecated Use manifest_version instead"),manifest_version:c7().optional(),name:c7(),display_name:c7().optional(),version:c7(),description:c7(),long_description:c7().optional(),author:Z94,repository:G94.optional(),homepage:c7().url().optional(),documentation:c7().url().optional(),support:c7().url().optional(),icon:c7().optional(),screenshots:qJ(c7()).optional(),server:k94,tools:qJ(N94).optional(),tools_generated:vW().optional(),prompts:qJ(y94).optional(),prompts_generated:vW().optional(),keywords:qJ(c7()).optional(),license:c7().optional(),privacy_policies:qJ(c7()).optional(),compatibility:V94.optional(),user_config:Bx(c7(),E94).optional()}).refine((q)=>!!(q.dxt_version||q.manifest_version),{message:"Either 'dxt_version' (deprecated) or 'manifest_version' must be provided"}),zx_=JE({status:gx(["signed","unsigned","self-signed"]),publisher:c7().optional(),issuer:c7().optional(),valid_from:c7().optional(),valid_to:c7().optional(),fingerprint:c7().optional()})});import{existsSync as L94,readFileSync as Yx_,writeFileSync as $x_}from"fs";import{basename as R94,join as h94,resolve as Ax_}from"path";function S94(q){let K=h94(q,"package.json");if(L94(K))try{return JSON.parse(Yx_(K,"utf-8"))}catch(_){}return{}}function gS1(q){if(typeof q.author==="string")return q.author;return q.author?.name||""}function FS1(q){if(typeof q.author==="object")return q.author?.email||"";return""}function US1(q){if(typeof q.author==="object")return q.author?.url||"";return""}function C94(q){if(typeof q.repository==="string")return q.repository;return q.repository?.url||""}function b94(q,K){let _=q.name||R94(K),z=gS1(q)||"Unknown Author",Y=_,$=q.version||"1.0.0",A=q.description||"A MCPB bundle";return{name:_,authorName:z,displayName:Y,version:$,description:A}}function x94(q){return{authorEmail:FS1(q),authorUrl:US1(q)}}function I94(q){let _=dS1("node",q),z=QS1("node",_);return{serverType:"node",entryPoint:_,mcp_config:z}}function u94(q){return{keywords:"",license:q.license||"MIT",repository:void 0}}function QS1(q,K){switch(q){case"node":return{command:"node",args:["${__dirname}/"+K],env:{}};case"python":return{command:"python",args:["${__dirname}/"+K],env:{PYTHONPATH:"${__dirname}/server/lib"}};case"binary":return{command:"${__dirname}/"+K,args:[],env:{}}}}function dS1(q,K){switch(q){case"node":return K?.main||"server/index.js";case"python":return"server/main.py";case"binary":return"server/my-server"}}async function m94(q,K){let _=q.name||R94(K),z=await mY({message:"Extension name:",default:_,validate:(w)=>w.trim().length>0||"Name is required"}),Y=await mY({message:"Author name:",default:gS1(q),validate:(w)=>w.trim().length>0||"Author name is required"}),$=await mY({message:"Display name (optional):",default:z}),A=await mY({message:"Version:",default:q.version||"1.0.0",validate:(w)=>{if(!w.trim())return"Version is required";if(!/^\d+\.\d+\.\d+/.test(w))return"Version must follow semantic versioning (e.g., 1.0.0)";return!0}}),O=await mY({message:"Description:",default:q.description||"",validate:(w)=>w.trim().length>0||"Description is required"});return{name:z,authorName:Y,displayName:$,version:A,description:O}}async function p94(q){let K=await mY({message:"Author email (optional):",default:FS1(q)}),_=await mY({message:"Author URL (optional):",default:US1(q)});return{authorEmail:K,authorUrl:_}}async function B94(q){let K=await mT8({message:"Server type:",choices:[{name:"Node.js",value:"node"},{name:"Python",value:"python"},{name:"Binary",value:"binary"}],default:"node"}),_=await mY({message:"Entry point:",default:dS1(K,q)}),z=QS1(K,_);return{serverType:K,entryPoint:_,mcp_config:z}}async function g94(){let q=await zO({message:"Does your MCP Server provide tools you want to advertise (optional)?",default:!0}),K=[],_=!1;if(q){let z=!0;while(z){let Y=await mY({message:"Tool name:",validate:(A)=>A.trim().length>0||"Tool name is required"}),$=await mY({message:"Tool description (optional):"});K.push({name:Y,...$?{description:$}:{}}),z=await zO({message:"Add another tool?",default:!1})}_=await zO({message:"Does your server generate additional tools at runtime?",default:!1})}return{tools:K,toolsGenerated:_}}async function F94(){let q=await zO({message:"Does your MCP Server provide prompts you want to advertise (optional)?",default:!1}),K=[],_=!1;if(q){let z=!0;while(z){let Y=await mY({message:"Prompt name:",validate:(j)=>j.trim().length>0||"Prompt name is required"}),$=await mY({message:"Prompt description (optional):"}),A=await zO({message:"Does this prompt have arguments?",default:!1}),O=[];if(A){let j=!0;while(j){let H=await mY({message:"Argument name:",validate:(J)=>{if(!J.trim())return"Argument name is required";if(O.includes(J))return"Argument names must be unique";return!0}});O.push(H),j=await zO({message:"Add another argument?",default:!1})}}let w=await mY({message:A?`Prompt text (use \${arguments.name} for arguments: ${O.join(", ")}):`:"Prompt text:",validate:(j)=>j.trim().length>0||"Prompt text is required"});K.push({name:Y,...$?{description:$}:{},...O.length>0?{arguments:O}:{},text:w}),z=await zO({message:"Add another prompt?",default:!1})}_=await zO({message:"Does your server generate additional prompts at runtime?",default:!1})}return{prompts:K,promptsGenerated:_}}async function U94(q){let K=await mY({message:"Keywords (comma-separated, optional):",default:""}),_=await mY({message:"License:",default:q.license||"MIT"}),z=await zO({message:"Add repository information?",default:!!q.repository}),Y;if(z){let $=await mY({message:"Repository URL:",default:C94(q)});if($)Y={type:"git",url:$}}return{keywords:K,license:_,repository:Y}}async function Q94(q){if(await zO({message:"Add a detailed long description?",default:!1}))return await mY({message:"Long description (supports basic markdown):",default:q});return}async function d94(){let q=await mY({message:"Homepage URL (optional):",validate:(z)=>{if(!z.trim())return!0;try{return new URL(z),!0}catch{return"Must be a valid URL (e.g., https://example.com)"}}}),K=await mY({message:"Documentation URL (optional):",validate:(z)=>{if(!z.trim())return!0;try{return new URL(z),!0}catch{return"Must be a valid URL"}}}),_=await mY({message:"Support URL (optional):",validate:(z)=>{if(!z.trim())return!0;try{return new URL(z),!0}catch{return"Must be a valid URL"}}});return{homepage:q,documentation:K,support:_}}async function c94(){let q=await mY({message:"Icon file path (optional, relative to manifest):",validate:(z)=>{if(!z.trim())return!0;if(z.includes(".."))return"Relative paths cannot include '..'";return!0}}),K=await zO({message:"Add screenshots?",default:!1}),_=[];if(K){let z=!0;while(z){let Y=await mY({message:"Screenshot file path (relative to manifest):",validate:($)=>{if(!$.trim())return"Screenshot path is required";if($.includes(".."))return"Relative paths cannot include '..'";return!0}});_.push(Y),z=await zO({message:"Add another screenshot?",default:!1})}}return{icon:q,screenshots:_}}async function l94(q){if(!await zO({message:"Add compatibility constraints?",default:!1}))return;let _=await zO({message:"Specify supported platforms?",default:!1}),z;if(_){let $=[];if(await zO({message:"Support macOS (darwin)?",default:!0}))$.push("darwin");if(await zO({message:"Support Windows (win32)?",default:!0}))$.push("win32");if(await zO({message:"Support Linux?",default:!0}))$.push("linux");z=$.length>0?$:void 0}let Y;if(q!=="binary"){if(await zO({message:"Specify runtime version constraints?",default:!1})){if(q==="python")Y={python:await mY({message:"Python version constraint (e.g., >=3.8,<4.0):",validate:(O)=>O.trim().length>0||"Python version constraint is required"})};else if(q==="node")Y={node:await mY({message:"Node.js version constraint (e.g., >=16.0.0):",validate:(O)=>O.trim().length>0||"Node.js version constraint is required"})}}}return{...z?{platforms:z}:{},...Y?{runtimes:Y}:{}}}async function n94(){if(!await zO({message:"Add user-configurable options?",default:!1}))return{};let K={},_=!0;while(_){let z=await mY({message:"Configuration option key (unique identifier):",validate:(H)=>{if(!H.trim())return"Key is required";if(K[H])return"Key must be unique";return!0}}),Y=await mT8({message:"Option type:",choices:[{name:"String",value:"string"},{name:"Number",value:"number"},{name:"Boolean",value:"boolean"},{name:"Directory",value:"directory"},{name:"File",value:"file"}]}),$=await mY({message:"Option title (human-readable name):",validate:(H)=>H.trim().length>0||"Title is required"}),A=await mY({message:"Option description:",validate:(H)=>H.trim().length>0||"Description is required"}),O=await zO({message:"Is this option required?",default:!1}),w=await zO({message:"Is this option sensitive (like a password)?",default:!1}),j={type:Y,title:$,description:A,required:O,sensitive:w};if(!O){let H;if(Y==="boolean")H=await zO({message:"Default value:",default:!1});else if(Y==="number"){let J=await mY({message:"Default value (number):",validate:(M)=>{if(!M.trim())return!0;return!isNaN(Number(M))||"Must be a valid number"}});H=J?Number(J):void 0}else H=await mY({message:"Default value (optional):"});if(H!==void 0&&H!=="")j.default=H}if(Y==="number"){if(await zO({message:"Add min/max constraints?",default:!1})){let J=await mY({message:"Minimum value (optional):",validate:(X)=>{if(!X.trim())return!0;return!isNaN(Number(X))||"Must be a valid number"}}),M=await mY({message:"Maximum value (optional):",validate:(X)=>{if(!X.trim())return!0;return!isNaN(Number(X))||"Must be a valid number"}});if(J)j.min=Number(J);if(M)j.max=Number(M)}}K[z]=j,_=await zO({message:"Add another configuration option?",default:!1})}return K}function i94(q,K,_,z,Y,$,A,O,w,j,H,J,M){let{name:X,displayName:P,version:W,description:D,authorName:f}=q,{authorEmail:G,authorUrl:Z}=_,{serverType:T,entryPoint:v,mcp_config:V}=$,{keywords:E,license:S,repository:R}=M;return{manifest_version:zO6,name:X,...P&&P!==X?{display_name:P}:{},version:W,description:D,...K?{long_description:K}:{},author:{name:f,...G?{email:G}:{},...Z?{url:Z}:{}},...z.homepage?{homepage:z.homepage}:{},...z.documentation?{documentation:z.documentation}:{},...z.support?{support:z.support}:{},...Y.icon?{icon:Y.icon}:{},...Y.screenshots.length>0?{screenshots:Y.screenshots}:{},server:{type:T,entry_point:v,mcp_config:V},...A.length>0?{tools:A}:{},...O?{tools_generated:!0}:{},...w.length>0?{prompts:w}:{},...j?{prompts_generated:!0}:{},...H?{compatibility:H}:{},...Object.keys(J).length>0?{user_config:J}:{},...E?{keywords:E.split(",").map((x)=>x.trim()).filter((x)=>x)}:{},...S?{license:S}:{},...R?{repository:R}:{}}}function r94(){console.log(` |