@dahawa/hawa-code 1.11.0 → 1.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +621 -576
- package/hawa.js +1 -1
- package/package.json +1 -1
package/hawa.js
CHANGED
|
@@ -51,7 +51,7 @@ ${c.join(`
|
|
|
51
51
|
`)}
|
|
52
52
|
</env>`}),ge={getIsDocker:f6,hasInternetAccess:d6,getWorkingDirectory:p6,getIsGitRepo:x6,getGitRepoRoot:h6,getCurrentBranch:m6,getOSVersion:v6,getCurrentDate:g6,isCI:!!process.env.CI,platform:process.platform==="win32"?"windows":process.platform==="darwin"?"macos":"linux",nodeVersion:process.version,terminal:process.env.TERM_PROGRAM,gitBash:process.env[nl]&&process.env[nl].trim().length>0&&process.platform==="win32"};import{randomBytes as hW}from"crypto";function b6(t){if(!t)return null;try{return JSON.parse(t)}catch(e){return te(e),null}}var pW=le(P6(),1);var J0=le(dS(),1);var iW={visibilityState:"visible",documentElement:{lang:"en"},addEventListener:(t,e)=>{}},oW={document:iW,location:{href:"node://localhost",pathname:"/"},addEventListener:(t,e)=>{t==="beforeunload"&&process.on("exit",()=>{typeof e=="function"?e({}):e.handleEvent({})})},focus:()=>{},innerHeight:768,innerWidth:1024},aW={sendBeacon:(t,e)=>!0,userAgent:"Mozilla/5.0 (Node.js) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0",language:"en-US"};typeof window>"u"&&(global.window=oW);typeof navigator>"u"&&(global.navigator=aW);import*as et from"fs";import*as Uo from"path";import{homedir as sW}from"os";import{existsSync as uW,unlinkSync as cW}from"fs";var tn=Uo.join(sW(),rt,"statsig");try{et.mkdirSync(tn,{recursive:!0})}catch(t){te(`Failed to create statsig storage directory: ${t}`)}var Y0=class{cache=new Map;ready=!1;constructor(){try{et.existsSync(tn)||et.mkdirSync(tn,{recursive:!0});let e=et.readdirSync(tn);for(let r of e){let n=decodeURIComponent(r),i=et.readFileSync(Uo.join(tn,r),"utf8");this.cache.set(n,i)}this.ready=!0}catch(e){te(`Failed to initialize statsig storage: ${e}`),this.ready=!0}}isReady(){return this.ready}isReadyResolver(){return this.ready?Promise.resolve():null}getProviderName(){return"FileSystemStorageProvider"}getItem(e){return this.cache.get(e)??null}setItem(e,r){this.cache.set(e,r);try{let n=encodeURIComponent(e);et.writeFileSync(Uo.join(tn,n),r,"utf8")}catch(n){te(`Failed to write statsig storage item: ${n}`)}}removeItem(e){this.cache.delete(e);let r=encodeURIComponent(e),n=Uo.join(tn,r);if(uW(n))try{cW(n)}catch(i){te(`Failed to remove statsig storage item: ${i}`)}}getAllKeys(){return Array.from(this.cache.keys())}};var pS="client-RRNS7R65EAtReO5XA4xDC3eU6ZdJQi6lLEP6b5j32Me";var xS="tengu-token-efficient-tools",hS="token-efficient-tools-2024-12-11";var mS="claude-code-20250219";var lW=z(async()=>{let t=[mS];return(process.env.USER_TYPE==="ant"||process.env.SWE_BENCH)&&await Hx(xS)&&t.push(hS),t});var Yx=z(async()=>{let{code:t}=await hi("git",["rev-parse","--is-inside-work-tree"]);return t===0});var gS=!!process.env.CLAUDE_CODE_USE_BEDROCK,bS=!!process.env.CLAUDE_CODE_USE_VERTEX,vS={bedrock:"us.anthropic.claude-3-7-sonnet-20250219-v1:0",vertex:"claude-3-7-sonnet@20250219",firstParty:"claude-3-7-sonnet-20250219"},Xce=process.env.ANTHROPIC_SMALL_FAST_MODEL?process.env.ANTHROPIC_SMALL_FAST_MODEL:gS?"us.anthropic.claude-3-5-haiku-20241022-v1:0":bS?"claude-3-5-haiku@20241022":"claude-3-5-haiku-20241022";async function fW(){try{return await _S("tengu-capable-model-config",vS)}catch(t){return te(t),vS}}var dW=z(async()=>{if(process.env.ANTHROPIC_MODEL||process.env.USER_TYPE==="SWE_BENCH"&&process.env.ANTHROPIC_MODEL)return process.env.ANTHROPIC_MODEL;let t=await fW();return gS?t.bedrock:bS?t.vertex:t.firstParty});var yS={},Go=null,Jx=z(async()=>{if(ge.isCI)return null;let t=await X0(),e={networkConfig:{api:"https://statsig.anthropic.com/v1/"},environment:{tier:ge.isCI||["test","development"].includes("production")?"dev":"production"},logLevel:J0.LogLevel.None,storageProvider:new Y0};return Go=new J0.StatsigClient(pS,t,e),Go.on("error",r=>{te(`Statsig error: ${r}`)}),await Go.initializeAsync(),process.on("exit",()=>{Go?.flush()}),Go});var Hx=z(async t=>{if(ge.isCI)return!1;let e=await Jx();if(!e)return!1;let r=e.checkGate(t);return yS[t]=r,r});function DS(){return{...yS}}var d0e=z(async(t,e)=>{if(ge.isCI)return e;let r=await Jx();if(!r)return e;let n=r.getExperiment(t);return Object.keys(n.value).length===0?(te(`getExperimentValue got empty value for ${t}`),e):n.value}),_S=async(t,e)=>{if(ge.isCI)return e;let r=await Jx();if(!r)return e;let n=r.getDynamicConfig(t);return Object.keys(n.value).length===0?(te(`getDynamicConfig got empty value for ${t}`),e):n.value};var Vo=class extends Error{filePath;defaultConfig;constructor(e,r,n){super(e),this.name="ConfigParseError",this.filePath=r,this.defaultConfig=n}};var mW={allowedTools:[],context:{},history:[],dontCrawlDirectory:!1,enableArchitectTool:!1,mcpContextUris:[],mcpServers:{},approvedMcprcServers:[],rejectedMcprcServers:[],hasTrustDialogAccepted:!1};var Q0={mcpServers:{},numStartups:0,autoUpdaterStatus:"disabled",theme:"dark",preferredNotifChannel:"iterm2",verbose:!1,customApiKeyResponses:{approved:[],rejected:[]}};var F0e={...Q0,autoUpdaterStatus:"disabled"},T0e={...mW};function vW(t){gW(d0,{...t,projects:ES(d0,Q0).projects},Q0)}function Zx(){return ES(d0,Q0)}function gW(t,e,r){let n=Object.fromEntries(Object.entries(e).filter(([i,o])=>JSON.stringify(o)!==JSON.stringify(r[i])||i=="mcpServers"));xW(t,JSON.stringify(n,null,2),"utf-8")}var bW=!1;function ES(t,e,r){if(!bW)throw new Error("Config accessed before allowed.");if(!Xx(t))return yo(e);try{let n=Qx(t,"utf-8");try{let i=JSON.parse(n);return{...yo(e),...i}}catch(i){let o=i instanceof Error?i.message:String(i);throw new Vo(o,t,e)}}catch(n){if(n instanceof Vo&&r)throw n;return yo(e)}}var I0e=z(()=>{let t=SS(Hr(),".mcp.json");if(!Xx(t))return{};try{let e=Qx(t,"utf-8"),r=b6(e);if(r&&typeof r=="object")return r=r.mcpServers,Object.keys(r).length.toString(),r}catch{}return{}},()=>{let t=Hr(),e=SS(t,".mcp.json");if(Xx(e))try{let r=Qx(e,"utf-8");return`${t}:${r}`}catch{return t}return t});function wS(){let t=Zx();if(t.userID)return t.userID;let e=hW(32).toString("hex");return vW({...t,userID:e}),e}var _W=z(async()=>{let t=await hi("git",["config","user.email"]);if(t.code!==0){te(`Failed to get git email: ${t.stdout} ${t.stderr}`);return}return t.stdout.trim()||void 0}),X0=z(async()=>{let t=wS(),e=Zx(),r=process.env.USER_TYPE==="ant"?e.oauthAccount?.emailAddress??await _W()??(process.env.COO_CREATOR?`${process.env.COO_CREATOR}@anthropic.com`:void 0):void 0;return{customIDs:{sessionId:Li},userID:t,appVersion:MACRO.VERSION,userAgent:ge.platform,email:r,custom:{nodeVersion:ge.nodeVersion,userType:process.env.USER_TYPE,organizationUuid:e.oauthAccount?.organizationUuid,accountUuid:e.oauthAccount?.accountUuid}}});async function OS(t){try{let[e,r]=await Promise.all([Yx(),X0()]);Bc({nodeVersion:ge.nodeVersion,platform:ge.platform,cwd:Hr(),isCI:ge.isCI,isGit:e,isTest:!1,packageVersion:MACRO.VERSION,sessionId:Li,statsigGates:DS(),terminal:ge.terminal,userType:process.env.USER_TYPE}),Nc({id:r.userID,email:r.email}),Rc(t)}catch{}}import{randomUUID as SW}from"crypto";import{homedir as EW}from"os";var eh=[],wW=100,Li=SW(),Ri=gt(EW(),rt);function Bi(t){return t.replace(/[^a-zA-Z0-9]/g,"-")}var rh={apis:()=>gt(Ri,"project",Bi(process.cwd()),"apis"),errors:()=>gt(Ri,"project",Bi(process.cwd()),"errors"),messages:()=>gt(Ri,"project",Bi(process.cwd()),"messages"),mcpLogs:t=>gt(Ri,"project",Bi(process.cwd()),`mcp-logs-${t}`),log:()=>gt(Ri,"project",Bi(process.cwd()),"log"),vcrFixtures:()=>gt(Ri,"project",Bi(process.cwd()),"vcr-fixtures")};function OW(t){return t.toISOString().replace(/[:.]/g,"-")}var nh=OW(new Date);function CW(){return gt(rh.errors(),nh+".txt")}function AW(){return gt(rh.log(),nh+".log")}function FW(){return gt(rh.log(),"error-"+nh+".log")}function FS(t,e,...r){let n=r.map(i=>i instanceof Error?`${i.name}: ${i.message}
|
|
53
53
|
${i.stack.replace(/^/gm," ")}`:i);IW(e,{level:t,message:n.length==1?n[0]:n})}function Ko(...t){FS("info",AW(),...t)}function ih(...t){FS("error",FW(),...t)}function te(t){try{let e=t instanceof Error?t.stack||t.message:String(t),r={error:e,timestamp:new Date().toISOString()};eh.length>=wW&&eh.shift(),eh.push(r),PW(CW(),{error:e})}catch{}OS(t)}function TW(t){if(!$o(t))return[];try{return JSON.parse(yW(t,"utf8"))}catch{return[]}}function IW(t,e){let r=AS(t);$o(r)||CS(r,{recursive:!0});let i=(typeof e=="string"?e:JSON.stringify(e))+`
|
|
54
|
-
`;$o(t)?DW(t,i,"utf8"):th(t,i,"utf8")}function PW(t,e){process.env.USER_TYPE;let r=AS(t);$o(r)||CS(r,{recursive:!0}),$o(t)||th(t,"[]","utf8");let n=TW(t),i={...e,cwd:process.cwd(),userType:process.env.USER_TYPE,sessionId:Li,timestamp:new Date().toISOString(),version:MACRO.VERSION};n.push(i),th(t,JSON.stringify(n,null,2),"utf8")}var tl={env:{},permissions:{allow:[],deny:[]},enableAllProjectMcpServers:!1,enabledMcpjsonServers:[],autoCompactEnabled:!1,language:"auto"},oh=class t{static instance;constructor(){this.initializeConfigDirectories()}initializeConfigDirectories(){let e=this.getUserSettingsPath(),r=this.getProjectSettingsPath();this.ensureDirExists(e),Z0(e)||el(e,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8"),this.ensureDirExists(r),Z0(r)||el(r,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8")}getDefaultSettingsStructure(){return{env:{},permissions:{allow:[],deny:[]}}}static getInstance(){return t.instance||(t.instance=new t),t.instance}addProjectAllowedTools(e){let r=this.loadSettingsFromFile(this.getProjectSettingsPath()),n=r.permissions||{allow:[],deny:[]};if(n.allow||(n.allow=[]),n.allow.includes(e))Ko(`\u5DE5\u5177 '${e}' \u5DF2\u5B58\u5728\u4E8E\u9879\u76EE\u5141\u8BB8\u5217\u8868\u4E2D\uFF0C\u65E0\u9700\u91CD\u590D\u6DFB\u52A0`);else{n.allow.push(e),n.allow.sort();let i={...r,permissions:{...n}};this.saveSettingsToFile(this.getProjectSettingsPath(),i,tl),Ko(`\u5DF2\u5C06\u5DE5\u5177 '${e}' \u6DFB\u52A0\u5230\u9879\u76EE\u5141\u8BB8\u5217\u8868`)}}getUserSettingsPath(){return IS(kW(),".hcode","settings.json")}getProjectSettingsPath(){let e=process.cwd();return IS(e,".hcode","settings.json")}ensureDirExists(e){let r=MW(e);Z0(r)||qW(r,{recursive:!0})}loadSettingsFromFile(e){if(!Z0(e))return{};let r="";try{return r=jW(e,"utf-8"),JSON.parse(r)}catch(n){return console.error(`Error reading settings file ${e} => ${r} `,n),{}}}saveSettingsToFile(e,r,n){let i={...r};for(let[o,a]of Object.entries(r))if(o in n)if(typeof a=="object"&&typeof n[o]=="object"){if(JSON.stringify(a)===JSON.stringify(n[o]))delete i[o];else if(o==="permissions"&&a&&typeof a=="object"){let s=n.permissions||{},u=a;Array.isArray(u.allow)&&Array.isArray(s.allow)&&JSON.stringify(u.allow)===JSON.stringify(s.allow)&&delete u.allow,Array.isArray(u.deny)&&Array.isArray(s.deny)&&JSON.stringify(u.deny)===JSON.stringify(s.deny)&&delete u.deny,Object.keys(u).length===0&&delete i[o]}}else a===n[o]&&delete i[o];this.ensureDirExists(e),Object.keys(i).length===0?el(e,"{}","utf-8"):el(e,JSON.stringify(i,null,2),"utf-8")}loadSettings(){let e=this.loadSettingsFromFile(this.getUserSettingsPath()),r=this.loadSettingsFromFile(this.getProjectSettingsPath()),n={...e.env,...r.env},i={...e.permissions};if(e.permissions?.allow&&r.permissions?.allow){let a=[...e.permissions.allow];r.permissions.allow.forEach(s=>{a.includes(s)||a.push(s)}),i.allow=a}else r.permissions?.allow&&(i.allow=[...r.permissions.allow]);if(e.permissions?.deny&&r.permissions?.deny){let a=[...e.permissions.deny];r.permissions.deny.forEach(s=>{a.includes(s)||a.push(s)}),i.deny=a}else r.permissions?.deny&&(i.deny=[...r.permissions.deny]);let o={...tl,...e,...r};return n&&Object.keys(n).length>0&&(o.env=n),i&&(i.allow||i.deny)&&(o.permissions=i),o}saveUserSettings(e){let r=this.getUserSettingsPath();this.saveSettingsToFile(r,e,tl)}saveProjectSettings(e){let r=this.getProjectSettingsPath();this.saveSettingsToFile(r,e,tl)}getSetting(e){return this.loadSettings()[e]}updateSetting(e,r){let i={...this.loadSettings(),[e]:r};this.saveProjectSettings(i)}resetSetting(e){let n={...this.loadSettings()};delete n[e],this.saveProjectSettings(n)}getAllSettings(){return this.loadSettings()}},Wo=oh.getInstance(),PS=Wo.getAllSettings();function ah(){let t=Wo.getUserSettingsPath(),e=Wo.getProjectSettingsPath();TS(t,(r,n)=>{r==="change"&&(PS=null,Ko("\u7528\u6237\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D"))}).on("error",r=>{ih("\u7528\u6237\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",r),setTimeout(()=>ah(),100)}),TS(e,(r,n)=>{r==="change"&&(PS=null,Ko("\u9879\u76EE\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D",n))}).on("error",r=>{ih("\u9879\u76EE\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",r),setTimeout(()=>ah(),100)})}ah();function LW(){lh();let t=fh(),e=[];Object.entries(t).forEach(([r,n],i)=>{n.enable===!0&&e.push({name:`${i}. ${r}`,value:r})}),e.length===0&&(console.error(`\u8BF7\u68C0\u67E5\u914D\u7F6E\u6587\u4EF6 ~/${rt}/config.json\uFF0C\u786E\u4FDD\u81F3\u5C11\u6709\u4E00\u4E2A\u6A21\u578B\u7684 enable \u8BBE\u7F6E\u4E3A true\u3002`),process.exit(1)),(async()=>{let r=await W_.prompt([{type:"list",name:"choice",message:"\u8BF7\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\uFF1A",choices:e}]);var n=t[r.choice];let i=n.env,o={};Object.keys(i).forEach(p=>{["BASE_URL","AUTH_TOKEN","MODEL","SMALL_FAST_MODEL"].includes(p)?o[`ANTHROPIC_${p}`]=i[p]:o[p]=i[p]});let a=Wo.getSetting("env")||{};process.platform==="win32"&&!process.env.HCODE_GIT_BASH_PATH&&!o.HCODE_GIT_BASH_PATH&&!a.HCODE_GIT_BASH_PATH&&(console.error("\u5728 Windows \u7CFB\u7EDF\u4E0A\u8FD0\u884C\uFF0C\u8BF7\u786E\u4FDD\u914D\u7F6E\u73AF\u5883\u53D8\u91CF HCODE_GIT_BASH_PATH\uFF0C\u53C2\u8003\u6587\u6863\uFF1Ahttps://www.hawacode.com/docs"),process.exit(1));let s=qS(import.meta.url),u=rl.dirname(s),c=rl.join(u,"cli.js"),l=jS(process.execPath,["--no-deprecation",c,...process.argv.slice(2)],{env:{...process.env,...o,...a},stdio:"inherit",cwd:process.cwd()});l.on("error",p=>{console.error("Failed to start command:",p.message),process.exit(1)}),l.on("close",p=>{process.exit(p||0)})})()}async function RW(){let t=qS(import.meta.url),e=rl.dirname(t),r=rl.join(e,"cli.js"),n=jS(process.execPath,["--no-deprecation",r,...process.argv.slice(2)],{env:process.env,stdio:"inherit",cwd:process.cwd()});n.on("error",i=>{console.error("Failed to start command:",i.message),process.exit(1)}),n.on("close",i=>{process.exit(i||0)})}async function BW(){process.argv.length<=2?LW():await RW()}await BW();
|
|
54
|
+
`;$o(t)?DW(t,i,"utf8"):th(t,i,"utf8")}function PW(t,e){process.env.USER_TYPE;let r=AS(t);$o(r)||CS(r,{recursive:!0}),$o(t)||th(t,"[]","utf8");let n=TW(t),i={...e,cwd:process.cwd(),userType:process.env.USER_TYPE,sessionId:Li,timestamp:new Date().toISOString(),version:MACRO.VERSION};n.push(i),th(t,JSON.stringify(n,null,2),"utf8")}var tl={env:{},permissions:{allow:[],deny:[]},enableAllProjectMcpServers:!1,enabledMcpjsonServers:[],autoCompactEnabled:!1,language:"auto",disableSuggestion:!1},oh=class t{static instance;constructor(){this.initializeConfigDirectories()}initializeConfigDirectories(){let e=this.getUserSettingsPath(),r=this.getProjectSettingsPath();this.ensureDirExists(e),Z0(e)||el(e,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8"),this.ensureDirExists(r),Z0(r)||el(r,JSON.stringify(this.getDefaultSettingsStructure(),null,2),"utf-8")}getDefaultSettingsStructure(){return{env:{},permissions:{allow:[],deny:[]}}}static getInstance(){return t.instance||(t.instance=new t),t.instance}addProjectAllowedTools(e){let r=this.loadSettingsFromFile(this.getProjectSettingsPath()),n=r.permissions||{allow:[],deny:[]};if(n.allow||(n.allow=[]),n.allow.includes(e))Ko(`\u5DE5\u5177 '${e}' \u5DF2\u5B58\u5728\u4E8E\u9879\u76EE\u5141\u8BB8\u5217\u8868\u4E2D\uFF0C\u65E0\u9700\u91CD\u590D\u6DFB\u52A0`);else{n.allow.push(e),n.allow.sort();let i={...r,permissions:{...n}};this.saveSettingsToFile(this.getProjectSettingsPath(),i,tl),Ko(`\u5DF2\u5C06\u5DE5\u5177 '${e}' \u6DFB\u52A0\u5230\u9879\u76EE\u5141\u8BB8\u5217\u8868`)}}getUserSettingsPath(){return IS(kW(),".hcode","settings.json")}getProjectSettingsPath(){let e=process.cwd();return IS(e,".hcode","settings.json")}ensureDirExists(e){let r=MW(e);Z0(r)||qW(r,{recursive:!0})}loadSettingsFromFile(e){if(!Z0(e))return{};let r="";try{return r=jW(e,"utf-8"),JSON.parse(r)}catch(n){return console.error(`Error reading settings file ${e} => ${r} `,n),{}}}saveSettingsToFile(e,r,n){let i={...r};for(let[o,a]of Object.entries(r))if(o in n)if(typeof a=="object"&&typeof n[o]=="object"){if(JSON.stringify(a)===JSON.stringify(n[o]))delete i[o];else if(o==="permissions"&&a&&typeof a=="object"){let s=n.permissions||{},u=a;Array.isArray(u.allow)&&Array.isArray(s.allow)&&JSON.stringify(u.allow)===JSON.stringify(s.allow)&&delete u.allow,Array.isArray(u.deny)&&Array.isArray(s.deny)&&JSON.stringify(u.deny)===JSON.stringify(s.deny)&&delete u.deny,Object.keys(u).length===0&&delete i[o]}}else a===n[o]&&delete i[o];this.ensureDirExists(e),Object.keys(i).length===0?el(e,"{}","utf-8"):el(e,JSON.stringify(i,null,2),"utf-8")}loadSettings(){let e=this.loadSettingsFromFile(this.getUserSettingsPath()),r=this.loadSettingsFromFile(this.getProjectSettingsPath()),n={...e.env,...r.env},i={...e.permissions};if(e.permissions?.allow&&r.permissions?.allow){let a=[...e.permissions.allow];r.permissions.allow.forEach(s=>{a.includes(s)||a.push(s)}),i.allow=a}else r.permissions?.allow&&(i.allow=[...r.permissions.allow]);if(e.permissions?.deny&&r.permissions?.deny){let a=[...e.permissions.deny];r.permissions.deny.forEach(s=>{a.includes(s)||a.push(s)}),i.deny=a}else r.permissions?.deny&&(i.deny=[...r.permissions.deny]);let o={...tl,...e,...r};return n&&Object.keys(n).length>0&&(o.env=n),i&&(i.allow||i.deny)&&(o.permissions=i),o}saveUserSettings(e){let r=this.getUserSettingsPath();this.saveSettingsToFile(r,e,tl)}saveProjectSettings(e){let r=this.getProjectSettingsPath();this.saveSettingsToFile(r,e,tl)}getSetting(e){return this.loadSettings()[e]}updateSetting(e,r){let i={...this.loadSettings(),[e]:r};this.saveProjectSettings(i)}resetSetting(e){let n={...this.loadSettings()};delete n[e],this.saveProjectSettings(n)}getAllSettings(){return this.loadSettings()}},Wo=oh.getInstance(),PS=Wo.getAllSettings();function ah(){let t=Wo.getUserSettingsPath(),e=Wo.getProjectSettingsPath();TS(t,(r,n)=>{r==="change"&&(PS=null,Ko("\u7528\u6237\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D"))}).on("error",r=>{ih("\u7528\u6237\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",r),setTimeout(()=>ah(),100)}),TS(e,(r,n)=>{r==="change"&&(PS=null,Ko("\u9879\u76EE\u7EA7\u914D\u7F6E\u5DF2\u70ED\u52A0\u8F7D",n))}).on("error",r=>{ih("\u9879\u76EE\u7EA7\u914D\u7F6E\u76D1\u63A7\u51FA\u9519:",r),setTimeout(()=>ah(),100)})}ah();function LW(){lh();let t=fh(),e=[];Object.entries(t).forEach(([r,n],i)=>{n.enable===!0&&e.push({name:`${i}. ${r}`,value:r})}),e.length===0&&(console.error(`\u8BF7\u68C0\u67E5\u914D\u7F6E\u6587\u4EF6 ~/${rt}/config.json\uFF0C\u786E\u4FDD\u81F3\u5C11\u6709\u4E00\u4E2A\u6A21\u578B\u7684 enable \u8BBE\u7F6E\u4E3A true\u3002`),process.exit(1)),(async()=>{let r=await W_.prompt([{type:"list",name:"choice",message:"\u8BF7\u9009\u62E9\u4E00\u4E2A\u6A21\u578B\uFF1A",choices:e}]);var n=t[r.choice];let i=n.env,o={};Object.keys(i).forEach(p=>{["BASE_URL","AUTH_TOKEN","MODEL","SMALL_FAST_MODEL"].includes(p)?o[`ANTHROPIC_${p}`]=i[p]:o[p]=i[p]});let a=Wo.getSetting("env")||{};process.platform==="win32"&&!process.env.HCODE_GIT_BASH_PATH&&!o.HCODE_GIT_BASH_PATH&&!a.HCODE_GIT_BASH_PATH&&(console.error("\u5728 Windows \u7CFB\u7EDF\u4E0A\u8FD0\u884C\uFF0C\u8BF7\u786E\u4FDD\u914D\u7F6E\u73AF\u5883\u53D8\u91CF HCODE_GIT_BASH_PATH\uFF0C\u53C2\u8003\u6587\u6863\uFF1Ahttps://www.hawacode.com/docs"),process.exit(1));let s=qS(import.meta.url),u=rl.dirname(s),c=rl.join(u,"cli.js"),l=jS(process.execPath,["--no-deprecation",c,...process.argv.slice(2)],{env:{...process.env,...o,...a},stdio:"inherit",cwd:process.cwd()});l.on("error",p=>{console.error("Failed to start command:",p.message),process.exit(1)}),l.on("close",p=>{process.exit(p||0)})})()}async function RW(){let t=qS(import.meta.url),e=rl.dirname(t),r=rl.join(e,"cli.js"),n=jS(process.execPath,["--no-deprecation",r,...process.argv.slice(2)],{env:process.env,stdio:"inherit",cwd:process.cwd()});n.on("error",i=>{console.error("Failed to start command:",i.message),process.exit(1)}),n.on("close",i=>{process.exit(i||0)})}async function BW(){process.argv.length<=2?LW():await RW()}await BW();
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
react/cjs/react.production.js:
|