| 6128 | `,typeof _==="function")_(null,O);return O}});var BLK=m((qfY)=>{var sDY="\x1B[47m\x1B[30m",tDY="\x1B[40m\x1B[37m",eDY=function(q,K,_){return{"00":"\x1B[0m "+q,"01":"\x1B[0m"+K+"▄"+q,"02":"\x1B[0m"+_+"▄"+q,10:"\x1B[0m"+K+"▀"+q,11:" ",12:"▄",20:"\x1B[0m"+_+"▀"+q,21:"▀",22:"█"}},mLK=function(q,K,_,z){let Y=K+1;if(_>=Y||z>=Y||z<-1||_<-1)return"0";if(_>=K||z>=K||z<0||_<0)return"1";let $=z*K+_;return q[$]?"2":"1"},pLK=function(q,K,_,z){return mLK(q,K,_,z)+mLK(q,K,_,z+1)};qfY.render=function(q,K,_){let z=q.modules.size,Y=q.modules.data,$=!!(K&&K.inverse),A=K&&K.inverse?tDY:sDY,j=eDY(A,$?"\x1B[30m":"\x1B[37m",$?"\x1B[37m":"\x1B[30m"),H=`\x1B[0m |
| 6129 | `+A,J=A;for(let M=-1;M<z+1;M+=2){for(let X=-1;X<z;X++)J+=j[pLK(Y,z,X,M)];J+=j[pLK(Y,z,z,M)]+H}if(J+="\x1B[0m",typeof _==="function")_(null,J);return J}});var gLK=m((YfY)=>{var _fY=uLK(),zfY=BLK();YfY.render=function(q,K,_){if(K&&K.small)return zfY.render(q,K,_);return _fY.render(q,K,_)}});var FK7=m((wfY)=>{var AfY=i78();function FLK(q,K){let _=q.a/255,z=K+'="'+q.hex+'"';return _<1?z+" "+K+'-opacity="'+_.toFixed(2).slice(1)+'"':z}function gK7(q,K,_){let z=q+K;if(typeof _<"u")z+=" "+_;return z}function OfY(q,K,_){let z="",Y=0,$=!1,A=0;for(let O=0;O<q.length;O++){let w=Math.floor(O%K),j=Math.floor(O/K);if(!w&&!$)$=!0;if(q[O]){if(A++,!(O>0&&w>0&&q[O-1]))z+=$?gK7("M",w+_,0.5+j+_):gK7("m",Y,0),Y=0,$=!1;if(!(w+1<K&&q[O+1]))z+=gK7("h",A),A=0}else Y++}return z}wfY.render=function(K,_,z){let Y=AfY.getOptions(_),$=K.modules.size,A=K.modules.data,O=$+Y.margin*2,w=!Y.color.light.a?"":"<path "+FLK(Y.color.light,"fill")+' d="M0 0h'+O+"v"+O+'H0z"/>',j="<path "+FLK(Y.color.dark,"stroke")+' d="'+OfY(A,$,Y.margin)+'"/>',H='viewBox="0 0 '+O+" "+O+'"',M='<svg xmlns="http://www.w3.org/2000/svg" '+(!Y.width?"":'width="'+Y.width+'" height="'+Y.width+'" ')+H+' shape-rendering="crispEdges">'+w+j+`</svg> |
| 6130 | `;if(typeof z==="function")z(null,M);return M}});var QLK=m((JfY)=>{var HfY=FK7();JfY.render=HfY.render;JfY.renderToFile=function(K,_,z,Y){if(typeof Y>"u")Y=z,z=void 0;let $=U6("fs"),O='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+JfY.render(_,z);$.writeFile(K,O,Y)}});var cLK=m((WfY)=>{var UK7=i78();function XfY(q,K,_){if(q.clearRect(0,0,K.width,K.height),!K.style)K.style={};K.height=_,K.width=_,K.style.height=_+"px",K.style.width=_+"px"}function PfY(){try{return document.createElement("canvas")}catch(q){throw Error("You need to specify a canvas element")}}WfY.render=function(K,_,z){let Y=z,$=_;if(typeof Y>"u"&&(!_||!_.getContext))Y=_,_=void 0;if(!_)$=PfY();Y=UK7.getOptions(Y);let A=UK7.getImageWidth(K.modules.size,Y),O=$.getContext("2d"),w=O.createImageData(A,A);return UK7.qrToImageData(w.data,K,Y),XfY(O,$,A),O.putImageData(w,0,0),$};WfY.renderToDataURL=function(K,_,z){let Y=z;if(typeof Y>"u"&&(!_||!_.getContext))Y=_,_=void 0;if(!Y)Y={};let $=WfY.render(K,_,Y),A=Y.type||"image/png",O=Y.rendererOpts||{};return $.toDataURL(A,O.quality)}});var nLK=m((GfY)=>{var ffY=t47(),QK7=kK7(),lLK=cLK(),ZfY=FK7();function dK7(q,K,_,z,Y){let $=[].slice.call(arguments,1),A=$.length,O=typeof $[A-1]==="function";if(!O&&!ffY())throw Error("Callback required as last argument");if(O){if(A<2)throw Error("Too few arguments provided");if(A===2)Y=_,_=K,K=z=void 0;else if(A===3)if(K.getContext&&typeof Y>"u")Y=z,z=void 0;else Y=z,z=_,_=K,K=void 0}else{if(A<1)throw Error("Too few arguments provided");if(A===1)_=K,K=z=void 0;else if(A===2&&!K.getContext)z=_,_=K,K=void 0;return new Promise(function(w,j){try{let H=QK7.create(_,z);w(q(H,K,z))}catch(H){j(H)}})}try{let w=QK7.create(_,z);Y(null,q(w,K,z))}catch(w){Y(w)}}GfY.create=QK7.create;GfY.toCanvas=dK7.bind(null,lLK.render);GfY.toDataURL=dK7.bind(null,lLK.renderToDataURL);GfY.toString=dK7.bind(null,function(q,K,_){return ZfY.render(q,_)})});function RfY(q,K,_){if(typeof q>"u")throw Error("String required as first argument");if(typeof _>"u")_=K,K={};if(typeof _!=="function")if(!NfY())throw Error("Callback required as last argument");else K=_||{},_=null;return{opts:K,cb:_}}function hfY(q){switch(q){case"svg":return LfY;case"terminal":return EfY;case"utf8":default:return yfY}}function SfY(q,K,_){if(!_.cb)return new Promise(function(z,Y){try{let $=cK7.create(K,_.opts);return q($,_.opts,function(A,O){return A?Y(A):z(O)})}catch($){Y($)}});try{let z=cK7.create(K,_.opts);return q(z,_.opts,_.cb)}catch(z){_.cb(z)}}var NfY,cK7,jM2,yfY,EfY,LfY,CfY,bfY,Qb=function(K,_,z){let Y=RfY(K,_,z),$=Y.opts?Y.opts.type:void 0,A=hfY($);return SfY(A.render,K,Y)};var MS6=y(()=>{NfY=t47(),cK7=kK7(),jM2=bLK(),yfY=ILK(),EfY=gLK(),LfY=QLK();CfY=cK7.create,bfY=nLK().toCanvas});var iLK={};T8(iLK,{call:()=>BfY});function xfY(q){let K=z6(52),{onDone:_}=q,[z,Y]=r78.useState("ios"),$;if(K[0]===Symbol.for("react.memo_cache_sentinel"))$={ios:"",android:""},K[0]=$;else $=K[0];let[A,O]=r78.useState($),{url:w}=lK7[z],j=A[z],H,J;if(K[1]===Symbol.for("react.memo_cache_sentinel"))H=()=>{(async function(){let[G6,w6]=await Promise.all([Qb(lK7.ios.url,{type:"utf8",errorCorrectionLevel:"L"}),Qb(lK7.android.url,{type:"utf8",errorCorrectionLevel:"L"})]);O({ios:G6,android:w6})})().catch(pfY)},J=[],K[1]=H,K[2]=J;else H=K[1],J=K[2];r78.useEffect(H,J);let M;if(K[3]!==_)M=()=>{_()},K[3]=_,K[4]=M;else M=K[4];let X=M,P;if(K[5]===Symbol.for("react.memo_cache_sentinel"))P={context:"Confirmation"},K[5]=P;else P=K[5];P1("confirm:no",X,P);let W;if(K[6]!==_)W=function(j6){if(j6.key==="q"||j6.ctrl&&j6.key==="c"){j6.preventDefault(),_();return}if(j6.key==="tab"||j6.key==="left"||j6.key==="right")j6.preventDefault(),Y(mfY)},K[6]=_,K[7]=W;else W=K[7];let D=W,f,G,Z,T,v,V,E,S,R;if(K[8]!==D||K[9]!==j){let M6=j.split(` |
| 6131 | `).filter(ufY);if(G=Q_,f=u,E="column",S=0,R=!0,Z=D,K[19]===Symbol.for("react.memo_cache_sentinel"))T=_A.createElement(k,null," "),v=_A.createElement(k,null," "),K[19]=T,K[20]=v;else T=K[19],v=K[20];V=M6.map(IfY),K[8]=D,K[9]=j,K[10]=f,K[11]=G,K[12]=Z,K[13]=T,K[14]=v,K[15]=V,K[16]=E,K[17]=S,K[18]=R}else f=K[10],G=K[11],Z=K[12],T=K[13],v=K[14],V=K[15],E=K[16],S=K[17],R=K[18];let x,I;if(K[21]===Symbol.for("react.memo_cache_sentinel"))x=_A.createElement(k,null," "),I=_A.createElement(k,null," "),K[21]=x,K[22]=I;else x=K[21],I=K[22];let B=z==="ios",p=z==="ios",C;if(K[23]!==B||K[24]!==p)C=_A.createElement(k,{bold:B,underline:p},"iOS"),K[23]=B,K[24]=p,K[25]=C;else C=K[25];let g;if(K[26]===Symbol.for("react.memo_cache_sentinel"))g=_A.createElement(k,{dimColor:!0}," / "),K[26]=g;else g=K[26];let F=z==="android",U=z==="android",c;if(K[27]!==F||K[28]!==U)c=_A.createElement(k,{bold:F,underline:U},"Android"),K[27]=F,K[28]=U,K[29]=c;else c=K[29];let K6;if(K[30]!==C||K[31]!==c)K6=_A.createElement(k,null,C,g,c),K[30]=C,K[31]=c,K[32]=K6;else K6=K[32];let t;if(K[33]===Symbol.for("react.memo_cache_sentinel"))t=_A.createElement(k,{dimColor:!0},"(tab to switch, esc to close)"),K[33]=t;else t=K[33];let q6;if(K[34]!==K6)q6=_A.createElement(u,{flexDirection:"row",gap:2},K6,t),K[34]=K6,K[35]=q6;else q6=K[35];let e;if(K[36]!==w)e=_A.createElement(k,{dimColor:!0},w),K[36]=w,K[37]=e;else e=K[37];let i;if(K[38]!==f||K[39]!==Z||K[40]!==T||K[41]!==v||K[42]!==V||K[43]!==q6||K[44]!==e||K[45]!==E||K[46]!==S||K[47]!==R)i=_A.createElement(f,{flexDirection:E,tabIndex:S,autoFocus:R,onKeyDown:Z},T,v,V,x,I,q6,e),K[38]=f,K[39]=Z,K[40]=T,K[41]=v,K[42]=V,K[43]=q6,K[44]=e,K[45]=E,K[46]=S,K[47]=R,K[48]=i;else i=K[48];let $6;if(K[49]!==G||K[50]!==i)$6=_A.createElement(G,null,i),K[49]=G,K[50]=i,K[51]=$6;else $6=K[51];return $6}function IfY(q,K){return _A.createElement(k,{key:K},q)}function ufY(q){return q.length>0}function mfY(q){return q==="ios"?"android":"ios"}function pfY(){}async function BfY(q){return _A.createElement(xfY,{onDone:q})}var _A,r78,lK7;var rLK=y(()=>{q8();MS6();pP();s6();Oq();_A=O6(D6(),1),r78=O6(D6(),1),lK7={ios:{url:"https://apps.apple.com/app/claude-by-anthropic/id6473753684"},android:{url:"https://play.google.com/store/apps/details?id=com.anthropic.claude"}}});var gfY,nK7;var oLK=y(()=>{gfY={type:"local-jsx",name:"mobile",aliases:["ios","android"],description:"Show QR code to download the Claude mobile app",load:()=>Promise.resolve().then(() => (rLK(),iLK))},nK7=gfY});var aLK;var sLK=y(()=>{aLK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function RF8({name:q,description:K,progressMessage:_,pluginName:z,pluginCommand:Y,getPromptWhileMarketplaceIsPrivate:$}){return{type:"prompt",name:q,description:K,progressMessage:_,contentLength:0,userFacingName(){return q},source:"builtin",async getPromptForCommand(A,O){return $(A,O)}}}var tLK;var eLK=y(()=>{tLK=RF8({name:"pr-comments",description:"Get comments from a GitHub pull request",progressMessage:"fetching PR comments",pluginName:"pr-comments",pluginCommand:"pr-comments",async getPromptWhileMarketplaceIsPrivate(q){return[{type:"text",text:`You are an AI assistant integrated into a git-based version control system. Your task is to fetch and display comments from a GitHub pull request. |
| 6132 | |
| 6133 | Follow these steps: |
| 6134 | |
| 6135 | 1. Use \`gh pr view --json number,headRepository\` to get the PR number and repository info |
| 6136 | 2. Use \`gh api /repos/{owner}/{repo}/issues/{number}/comments\` to get PR-level comments |
| 6137 | 3. Use \`gh api /repos/{owner}/{repo}/pulls/{number}/comments\` to get review comments. Pay particular attention to the following fields: \`body\`, \`diff_hunk\`, \`path\`, \`line\`, etc. If the comment references some code, consider fetching it using eg \`gh api /repos/{owner}/{repo}/contents/{path}?ref={branch} | jq .content -r | base64 -d\` |
| 6138 | 4. Parse and format all comments in a readable way |
| 6139 | 5. Return ONLY the formatted comments, with no additional text |
| 6140 | |
| 6141 | Format the comments as: |
| 6142 | |
| 6143 | ## Comments |
| 6144 | |
| 6145 | [For each comment thread:] |
| 6146 | - @author file.ts#line: |
| 6147 | \`\`\`diff |
| 6148 | [diff_hunk from the API response] |
| 6149 | \`\`\` |
| 6150 | > quoted comment text |
| 6151 | |
| 6152 | [any replies indented] |
| 6153 | |
| 6154 | If there are no comments, return "No comments found." |
| 6155 | |
| 6156 | Remember: |
| 6157 | 1. Only show the actual comments, no explanatory text |
| 6158 | 2. Include both PR-level and code review comments |
| 6159 | 3. Preserve the threading/nesting of comment replies |
| 6160 | 4. Show the file and line number context for code review comments |
| 6161 | 5. Use jq to parse the JSON responses from the GitHub API |
| 6162 | |
| 6163 | ${q?"Additional user input: "+q:""} |
| 6164 | `}]}})});import{mkdir as qRK,readFile as FfY,writeFile as KRK}from"fs/promises";import{dirname as _RK,join as UfY}from"path";function rK7(){return UfY(c1(),"cache","changelog.md")}async function YRK(){let q=j8();if(!q.cachedChangelog)return;let K=rK7();try{await qRK(_RK(K),{recursive:!0}),await KRK(K,q.cachedChangelog,{encoding:"utf-8",flag:"wx"})}catch{}b8(({cachedChangelog:_,...z})=>z)}async function oK7(){if(i7())return;if(iA())return;let q=await $1.get(dfY);if(q.status===200){let K=q.data;if(K===tH6)return;let _=rK7();await qRK(_RK(_),{recursive:!0}),await KRK(_,K,{encoding:"utf-8"}),tH6=K;let z=Date.now();b8((Y)=>({...Y,changelogLastFetched:z}))}}async function hF8(){if(tH6!==null)return tH6;let q=rK7();try{let K=await FfY(q,"utf-8");return tH6=K,K}catch{return tH6="",""}}function SF8(){return tH6??""}function CF8(q){try{if(!q)return{};let K={},_=q.split(/^## /gm).slice(1);for(let z of _){let Y=z.trim().split(` |
| 6165 | `);if(Y.length===0)continue;let $=Y[0];if(!$)continue;let A=$.split(" - ")[0]?.trim()||"";if(!A)continue;let O=Y.slice(1).filter((w)=>w.trim().startsWith("- ")).map((w)=>w.trim().substring(2).trim()).filter(Boolean);if(O.length>0)K[A]=O}return K}catch(K){return H6(x1(K)),{}}}function $RK(q,K,_=SF8()){try{let z=CF8(_),Y=iK7.coerce(q),$=K?iK7.coerce(K):null;if(!$||Y&&Vv(Y.version,$.version))return Object.entries(z).filter(([A])=>!$||Vv(A,$.version)).sort(([A],[O])=>Vv(A,O)?-1:1).flatMap(([A,O])=>O).filter(Boolean).slice(0,QfY)}catch(z){return H6(x1(z)),[]}return[]}function aK7(q=SF8()){try{let K=CF8(q);return Object.keys(K).sort((z,Y)=>Vv(z,Y)?1:-1).map((z)=>{let Y=K[z];if(!Y||Y.length===0)return null;let $=Y.filter(Boolean);if($.length===0)return null;return[z,$]}).filter((z)=>z!==null)}catch(K){return H6(x1(K)),[]}}async function ARK(q,K={ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION){let _=await hF8();if(q!==K||!_)oK7().catch(($)=>H6(x1($)));let z=$RK(K,q,_);return{hasReleaseNotes:z.length>0,releaseNotes:z}}function ORK(q,K={ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION){let _=$RK(K,q);return{hasReleaseNotes:_.length>0,releaseNotes:_}}var iK7,QfY=5,zRK="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md",dfY="https://raw.githubusercontent.com/anthropics/claude-code/refs/heads/main/CHANGELOG.md",tH6=null;var XS6=y(()=>{CK();v8();V1();m8();y8();E8();iK7=O6(RT6(),1)});var jRK={};T8(jRK,{call:()=>cfY});function wRK(q){return q.map(([K,_])=>{let z=`Version ${K}:`,Y=_.map(($)=>`· ${$}`).join(` |
| 6166 | `);return`${z} |