@leviyuan/lodestar 0.17.0 → 0.17.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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{execSync as z}from"node:child_process";import{readFileSync as A}from"node:fs";import{dirname as B,join as D}from"node:path";import{fileURLToPath as E}from"node:url";var b={reset:"\x1B[0m",bold:"\x1B[1m",cyan:"\x1B[36m",green:"\x1B[32m",dim:"\x1B[2m"};function G(){try{let q=B(E(import.meta.url)),v=JSON.parse(A(D(q,"..","package.json"),"utf8"));return typeof v.version==="string"?v.version:"(unknown)"}catch{return"(unknown)"}}function H(){try{return z("claude --version",{timeout:1e4,stdio:["ignore","pipe","ignore"]}).toString().trim()||"(unknown)"}catch{return"(未找到 / 未安装)"}}function I(){try{return z("codex --version",{timeout:1e4,stdio:["ignore","pipe","ignore"]}).toString().trim()||"(unknown)"}catch{return"(未找到 / 未安装)"}}console.log(`${b.bold}Lodestar${b.reset} ${b.green}v${G()}${b.reset}`);console.log(`${b.dim}Claude Code:${b.reset} ${H()}`);console.log(`${b.dim}Codex CLI:${b.reset} ${I()}`);console.log(`${b.dim}Runtime:${b.reset} ${process.version} (${process.platform}-${process.arch})`);
2
+ import{createRequire as E$}from"node:module";var T$=Object.create;var{getPrototypeOf:_$,defineProperty:v,getOwnPropertyNames:R$}=Object;var b$=Object.prototype.hasOwnProperty;function j$($){return this[$]}var v$,D$,w$=($,q,L)=>{var J=$!=null&&typeof $==="object";if(J){var Q=q?v$??=new WeakMap:D$??=new WeakMap,Z=Q.get($);if(Z)return Z}L=$!=null?T$(_$($)):{};let z=q||!$||!$.__esModule?v(L,"default",{value:$,enumerable:!0}):L;for(let Y of R$($))if(!b$.call(z,Y))v(z,Y,{get:j$.bind($,Y),enumerable:!0});if(J)Q.set($,z);return z};var V=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports);var W=E$(import.meta.url);var u=V((x0,A)=>{A.exports=E;E.sync=u$;var D=W("fs");function A$($,q){var L=q.pathExt!==void 0?q.pathExt:process.env.PATHEXT;if(!L)return!0;if(L=L.split(";"),L.indexOf("")!==-1)return!0;for(var J=0;J<L.length;J++){var Q=L[J].toLowerCase();if(Q&&$.substr(-Q.length).toLowerCase()===Q)return!0}return!1}function w($,q,L){if(!$.isSymbolicLink()&&!$.isFile())return!1;return A$(q,L)}function E($,q,L){D.stat($,function(J,Q){L(J,J?!1:w(Q,$,q))})}function u$($,q){return w(D.statSync($),$,q)}});var g=V((T0,m)=>{m.exports=c;c.sync=h$;var h=W("fs");function c($,q,L){h.stat($,function(J,Q){L(J,J?!1:l(Q,q))})}function h$($,q){return l(h.statSync($),q)}function l($,q){return $.isFile()&&c$($,q)}function c$($,q){var{mode:L,uid:J,gid:Q}=$,Z=q.uid!==void 0?q.uid:process.getuid&&process.getuid(),z=q.gid!==void 0?q.gid:process.getgid&&process.getgid(),Y=parseInt("100",8),G=parseInt("010",8),H=parseInt("001",8),M=Y|G,U=L&H||L&G&&Q===z||L&Y&&J===Z||L&M&&Z===0;return U}});var p=V((R0,d)=>{var _0=W("fs"),P;if(process.platform==="win32"||global.TESTING_WINDOWS)P=u();else P=g();d.exports=I;I.sync=l$;function I($,q,L){if(typeof q==="function")L=q,q={};if(!L){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(J,Q){I($,q||{},function(Z,z){if(Z)Q(Z);else J(z)})})}P($,q||{},function(J,Q){if(J){if(J.code==="EACCES"||q&&q.ignoreErrors)J=null,Q=!1}L(J,Q)})}function l$($,q){try{return P.sync($,q||{})}catch(L){if(q&&q.ignoreErrors||L.code==="EACCES")return!1;else throw L}}});var a=V((b0,o)=>{var O=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",i=W("path"),m$=O?";":":",n=p(),t=($)=>Object.assign(Error(`not found: ${$}`),{code:"ENOENT"}),r=($,q)=>{let L=q.colon||m$,J=$.match(/\//)||O&&$.match(/\\/)?[""]:[...O?[process.cwd()]:[],...(q.path||process.env.PATH||"").split(L)],Q=O?q.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",Z=O?Q.split(L):[""];if(O){if($.indexOf(".")!==-1&&Z[0]!=="")Z.unshift("")}return{pathEnv:J,pathExt:Z,pathExtExe:Q}},s=($,q,L)=>{if(typeof q==="function")L=q,q={};if(!q)q={};let{pathEnv:J,pathExt:Q,pathExtExe:Z}=r($,q),z=[],Y=(H)=>new Promise((M,U)=>{if(H===J.length)return q.all&&z.length?M(z):U(t($));let K=J[H],f=/^".*"$/.test(K)?K.slice(1,-1):K,k=i.join(f,$),S=!f&&/^\.[\\\/]/.test($)?$.slice(0,2)+k:k;M(G(S,H,0))}),G=(H,M,U)=>new Promise((K,f)=>{if(U===Q.length)return K(Y(M+1));let k=Q[U];n(H+k,{pathExt:Z},(S,x$)=>{if(!S&&x$)if(q.all)z.push(H+k);else return K(H+k);return K(G(H,M,U+1))})});return L?Y(0).then((H)=>L(null,H),L):Y(0)},g$=($,q)=>{q=q||{};let{pathEnv:L,pathExt:J,pathExtExe:Q}=r($,q),Z=[];for(let z=0;z<L.length;z++){let Y=L[z],G=/^".*"$/.test(Y)?Y.slice(1,-1):Y,H=i.join(G,$),M=!G&&/^\.[\\\/]/.test($)?$.slice(0,2)+H:H;for(let U=0;U<J.length;U++){let K=M+J[U];try{if(n.sync(K,{pathExt:Q}))if(q.all)Z.push(K);else return K}catch(f){}}}if(q.all&&Z.length)return Z;if(q.nothrow)return null;throw t($)};o.exports=s;s.sync=g$});var $$=V((j0,C)=>{var e=($={})=>{let q=$.env||process.env;if(($.platform||process.platform)!=="win32")return"PATH";return Object.keys(q).reverse().find((J)=>J.toUpperCase()==="PATH")||"Path"};C.exports=e;C.exports.default=e});var Q$=V((v0,J$)=>{var q$=W("path"),d$=a(),p$=$$();function L$($,q){let L=$.options.env||process.env,J=process.cwd(),Q=$.options.cwd!=null,Z=Q&&process.chdir!==void 0&&!process.chdir.disabled;if(Z)try{process.chdir($.options.cwd)}catch(Y){}let z;try{z=d$.sync($.command,{path:L[p$({env:L})],pathExt:q?q$.delimiter:void 0})}catch(Y){}finally{if(Z)process.chdir(J)}if(z)z=q$.resolve(Q?$.options.cwd:"",z);return z}function i$($){return L$($)||L$($,!0)}J$.exports=i$});var X$=V((r$,x)=>{var y=/([()\][%!^"`<>&|;, *?])/g;function n$($){return $=$.replace(y,"^$1"),$}function t$($,q){if($=`${$}`,$=$.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),$=$.replace(/(?=(\\+?)?)\1$/,"$1$1"),$=`"${$}"`,$=$.replace(y,"^$1"),q)$=$.replace(y,"^$1");return $}r$.command=n$;r$.argument=t$});var z$=V((D0,Z$)=>{Z$.exports=/^#!(.*)/});var Y$=V((w0,B$)=>{var a$=z$();B$.exports=($="")=>{let q=$.match(a$);if(!q)return null;let[L,J]=q[0].replace(/#! ?/,"").split(" "),Q=L.split("/").pop();if(Q==="env")return J;return J?`${Q} ${J}`:Q}});var V$=V((E0,H$)=>{var T=W("fs"),e$=Y$();function $0($){let L=Buffer.alloc(150),J;try{J=T.openSync($,"r"),T.readSync(J,L,0,150,0),T.closeSync(J)}catch(Q){}return e$(L.toString())}H$.exports=$0});var G$=V((A0,M$)=>{var q0=W("path"),U$=Q$(),K$=X$(),L0=V$(),J0=process.platform==="win32",Q0=/\.(?:com|exe)$/i,X0=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Z0($){$.file=U$($);let q=$.file&&L0($.file);if(q)return $.args.unshift($.file),$.command=q,U$($);return $.file}function z0($){if(!J0)return $;let q=Z0($),L=!Q0.test(q);if($.options.forceShell||L){let J=X0.test(q);$.command=q0.normalize($.command),$.command=K$.command($.command),$.args=$.args.map((Z)=>K$.argument(Z,J));let Q=[$.command].concat($.args).join(" ");$.args=["/d","/s","/c",`"${Q}"`],$.command=process.env.comspec||"cmd.exe",$.options.windowsVerbatimArguments=!0}return $}function B0($,q,L){if(q&&!Array.isArray(q))L=q,q=null;q=q?q.slice(0):[],L=Object.assign({},L);let J={command:$,args:q,options:L,file:void 0,original:{command:$,args:q}};return L.shell?J:z0(J)}M$.exports=B0});var O$=V((u0,k$)=>{var _=process.platform==="win32";function R($,q){return Object.assign(Error(`${q} ${$.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${q} ${$.command}`,path:$.command,spawnargs:$.args})}function Y0($,q){if(!_)return;let L=$.emit;$.emit=function(J,Q){if(J==="exit"){let Z=W$(Q,q);if(Z)return L.call($,"error",Z)}return L.apply($,arguments)}}function W$($,q){if(_&&$===1&&!q.file)return R(q.original,"spawn");return null}function H0($,q){if(_&&$===1&&!q.file)return R(q.original,"spawnSync");return null}k$.exports={hookChildProcess:Y0,verifyENOENT:W$,verifyENOENTSync:H0,notFoundError:R}});var P$=V((h0,F)=>{var F$=W("child_process"),b=G$(),j=O$();function f$($,q,L){let J=b($,q,L),Q=F$.spawn(J.command,J.args,J.options);return j.hookChildProcess(Q,J),Q}function V0($,q,L){let J=b($,q,L),Q=F$.spawnSync(J.command,J.args,J.options);return Q.error=Q.error||j.verifyENOENTSync(Q.status,J),Q}F.exports=f$;F.exports.spawn=f$;F.exports.sync=V0;F.exports._parse=b;F.exports._enoent=j});import{readFileSync as N0}from"node:fs";import{fileURLToPath as S0}from"node:url";import{existsSync as W0,readFileSync as k0}from"node:fs";import{join as O0,isAbsolute as F0}from"node:path";var f0=w$(P$(),1);import{homedir as U0}from"node:os";import{join as X}from"node:path";var N=U0(),N$=process.platform==="win32";function S$($,q,L){if($)return $;if(q)return X(q,"lodestar");return L}function K0(){if(N$)return X(process.env.APPDATA??X(N,"AppData","Roaming"),"Lodestar");return X(N,".config","lodestar")}function M0(){if(N$)return X(process.env.LOCALAPPDATA??X(N,"AppData","Local"),"Lodestar");return X(N,".local","share","lodestar")}var G0=S$(process.env.LODESTAR_CONFIG_DIR,process.env.XDG_CONFIG_HOME,K0()),B=S$(process.env.LODESTAR_DATA_DIR,process.env.XDG_DATA_HOME,M0()),m0=process.env.LODESTAR_CONFIG??X(G0,"config.toml"),g0=X(B,"daemon.pid"),d0=X(B,"daemon.log"),p0=X(B,"session-chat-map.json"),i0=X(B,"session-resume-map.json"),n0=X(B,"session-turns-map.json"),t0=X(B,"session-model-map.json"),r0=X(B,"temp-session-leases.json"),s0=X(B,"tasklist-map.json"),o0=X(B,"agent-runs"),a0=X(B,"agent-session-ids.json"),e0=X(B,"managed-claude-plugin"),$1=X(B,"dsh"),I$=X(B,"agent-runtimes"),q1=X(B,"context-window-cache.json"),L1=X(B,"notify-callbacks.json"),J1=X(B,"alive-on-shutdown.json"),Q1=X(B,"inbox"),X1=X(B,"debug.sock"),Z1=X(B,"debug-context.json");var C$=["codex","claude","dsh"];function P0($,q=I$){let L=O0(q,$,"current.json");if(!W0(L))return null;let J=JSON.parse(k0(L,"utf8"));if(!Number.isFinite(J.checkedAt)||J.directory!==void 0&&!F0(J.directory))throw Error(`Invalid ${$} runtime state: ${L}`);return J}function y$($){return P0($)}var I0=JSON.parse(N0(S0(new URL("../package.json",import.meta.url)),"utf8"));console.log(`Lodestar v${I0.version}`);for(let $ of C$)try{let q=y$($);if(!q){console.log(`${$}: MISS(尚未自动安装)`);continue}if(q.error){console.log(`${$}: MISS(自动更新失败:${q.error})`),process.exitCode=1;continue}let L=$==="dsh"?["@deepseek-ai/dsh"]:Object.keys(q.versions??{});console.log(`${$}: ${L.map((J)=>`${J}@${q.versions?.[J]??"MISS"}`).join(", ")}`),console.log(` ${q.directory}`)}catch(q){console.error(`${$}: MISS(${q})`),process.exitCode=1}console.log(`Runtime: ${process.version} (${process.platform}-${process.arch})`);