zen-code 4.10.2 → 5.0.0
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/dist/app.js +149 -239
- package/dist/{chunk-vbb3m0vz.js → chunk-069q9hkz.js} +1 -1
- package/dist/chunk-06trk066.js +1 -0
- package/dist/chunk-0kfw8bwn.js +2 -0
- package/dist/chunk-0mq8786q.js +281 -0
- package/dist/{chunk-mmx0k2yq.js → chunk-0qz8rr2k.js} +1 -1
- package/dist/chunk-1d47g6nc.js +2 -0
- package/dist/{chunk-nqh1pptf.js → chunk-1gssqf6g.js} +1 -1
- package/dist/{chunk-s5cqejr6.js → chunk-1rcc9xzn.js} +1 -1
- package/dist/{chunk-tjvhqr94.js → chunk-2bjeg40f.js} +1 -1
- package/dist/chunk-2gd8vzrf.js +2 -0
- package/dist/{chunk-spx7nn8t.js → chunk-2gprcgep.js} +2 -2
- package/dist/chunk-3k3c686f.js +1 -0
- package/dist/chunk-43h0n2td.js +1 -0
- package/dist/{chunk-8f19qk9r.js → chunk-492hjs9k.js} +1 -1
- package/dist/{chunk-pe8mzxwn.js → chunk-4eaqmt3c.js} +11 -11
- package/dist/{chunk-y8qhrx11.js → chunk-4fs853nh.js} +1 -1
- package/dist/chunk-5fe27s34.js +2 -0
- package/dist/{chunk-4wnmk2tj.js → chunk-5hqvapp1.js} +3 -3
- package/dist/chunk-6b3vfr39.js +2 -0
- package/dist/{chunk-t6440ajd.js → chunk-6j695pam.js} +2 -2
- package/dist/{chunk-pzb224c5.js → chunk-6saqxa3z.js} +2 -2
- package/dist/{chunk-tjg2e8v3.js → chunk-78ksrp8v.js} +2 -2
- package/dist/chunk-7cx9kda0.js +228 -0
- package/dist/chunk-7qba2raw.js +2 -0
- package/dist/chunk-81b2s97q.js +1 -0
- package/dist/chunk-88w3txtb.js +160 -0
- package/dist/chunk-8ygdre0g.js +1 -0
- package/dist/{chunk-fzh0v6r0.js → chunk-9011y634.js} +2 -2
- package/dist/chunk-9zcr1qh6.js +1 -0
- package/dist/chunk-a0nr8jva.js +2 -0
- package/dist/{chunk-5c3bpcpm.js → chunk-agevsn2e.js} +1 -1
- package/dist/{chunk-8tbtavry.js → chunk-akc3s5aw.js} +2 -2
- package/dist/{chunk-spa69h7p.js → chunk-b0beqmg2.js} +2 -2
- package/dist/{chunk-zg54h6gy.js → chunk-b175s7dm.js} +1 -1
- package/dist/chunk-bk32cwxa.js +5 -0
- package/dist/{chunk-vrnj0659.js → chunk-bn077sjq.js} +15 -15
- package/dist/{chunk-qxebn3jw.js → chunk-c9yrpb3g.js} +3 -3
- package/dist/{chunk-hnnwbfqk.js → chunk-cb0f54ar.js} +2 -2
- package/dist/chunk-ctqtahz4.js +1 -0
- package/dist/{chunk-gt8c6dne.js → chunk-d2sr8fnm.js} +1 -1
- package/dist/chunk-d5gzkkgg.js +1 -0
- package/dist/{chunk-bzgznka5.js → chunk-dh2f4xyb.js} +1 -1
- package/dist/chunk-dr32dt9y.js +1 -0
- package/dist/chunk-dv1vt080.js +1 -0
- package/dist/{chunk-vfxjbdz4.js → chunk-dz9sqfph.js} +1 -1
- package/dist/chunk-e7mbewmw.js +1 -0
- package/dist/chunk-em03xqy9.js +1 -0
- package/dist/chunk-fkt5b511.js +1 -0
- package/dist/{chunk-k4q8j7pg.js → chunk-gphssgy6.js} +1 -1
- package/dist/chunk-h2hk7vx4.js +1 -0
- package/dist/{chunk-c7kd2qrp.js → chunk-h7ypcqp3.js} +112 -111
- package/dist/{chunk-nsw5168d.js → chunk-j8tq0e8m.js} +2 -2
- package/dist/{chunk-40ht9pe1.js → chunk-jd1razfg.js} +2 -2
- package/dist/chunk-jhxvctg5.js +8 -0
- package/dist/chunk-kada5fyh.js +1 -0
- package/dist/chunk-kgc6ws03.js +1 -0
- package/dist/chunk-mk8ggmt8.js +17 -0
- package/dist/{chunk-e8kxa5vj.js → chunk-mv5m8bf4.js} +2 -2
- package/dist/chunk-mv8a5svx.js +1 -0
- package/dist/chunk-n61yv4t5.js +2 -0
- package/dist/chunk-nt2yp4jh.js +1 -0
- package/dist/chunk-p7ew4trx.js +1 -0
- package/dist/{chunk-s1tbdcs8.js → chunk-pgnhcznr.js} +1 -1
- package/dist/chunk-q8cfxky4.js +8 -0
- package/dist/{chunk-g2zskge5.js → chunk-q8zsxwd8.js} +2 -2
- package/dist/{chunk-nmzx5nmt.js → chunk-qfa5v4n5.js} +1 -1
- package/dist/chunk-qhzztj83.js +1 -0
- package/dist/chunk-snmkgfbe.js +15 -0
- package/dist/chunk-ss4bh5wb.js +2 -0
- package/dist/chunk-sv0k2v66.js +1 -0
- package/dist/{chunk-wmyc17aa.js → chunk-tbav8trq.js} +1 -1
- package/dist/chunk-tmyzfvsy.js +1 -0
- package/dist/chunk-ts4jreym.js +7 -0
- package/dist/chunk-tws3wcnm.js +2 -0
- package/dist/chunk-v0e9bsvt.js +89 -0
- package/dist/{chunk-n9rpnke9.js → chunk-vwj4n000.js} +1 -1
- package/dist/{chunk-gfhmzpy7.js → chunk-wd6s7gg7.js} +2 -3
- package/dist/{chunk-f0m4532p.js → chunk-y524zd2h.js} +5 -5
- package/dist/{chunk-hve2a279.js → chunk-yb71zqvt.js} +2 -2
- package/dist/{chunk-n7s6my89.js → chunk-yejgw2hm.js} +32 -32
- package/dist/{chunk-g974hxbz.js → chunk-yfjs6pf8.js} +1 -1
- package/dist/chunk-zhqdp4ak.js +2 -0
- package/dist/chunk-zkd3m39v.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/nonInteractive.js +80 -80
- package/dist/zen-core.js +644 -0
- package/dist/zen-keyboard.js +1 -1
- package/package.json +5 -3
- package/dist/chunk-0ddrb30y.js +0 -1
- package/dist/chunk-215an3fz.js +0 -1
- package/dist/chunk-4z0w0ng1.js +0 -2
- package/dist/chunk-57bj89e2.js +0 -1
- package/dist/chunk-5a5mepqj.js +0 -1
- package/dist/chunk-7kw7ss8d.js +0 -1
- package/dist/chunk-86m0rmtc.js +0 -1
- package/dist/chunk-9rayxazs.js +0 -8
- package/dist/chunk-a9gpb2tx.js +0 -2
- package/dist/chunk-a9tw6d68.js +0 -1
- package/dist/chunk-anbtppz1.js +0 -294
- package/dist/chunk-bca8tkkr.js +0 -1
- package/dist/chunk-bdqds8vh.js +0 -1
- package/dist/chunk-dvbb3dd1.js +0 -233
- package/dist/chunk-ehmmd8qc.js +0 -1
- package/dist/chunk-ejfa95sm.js +0 -1
- package/dist/chunk-f7cps5x1.js +0 -1
- package/dist/chunk-fbemqjck.js +0 -2
- package/dist/chunk-feeqtzv5.js +0 -1
- package/dist/chunk-g9911ymn.js +0 -1
- package/dist/chunk-h8fdexm4.js +0 -2
- package/dist/chunk-hp2jzn9x.js +0 -166
- package/dist/chunk-js4qp900.js +0 -2
- package/dist/chunk-m21hvv91.js +0 -2
- package/dist/chunk-mnnyjmgw.js +0 -224
- package/dist/chunk-mw7x6xqp.js +0 -1
- package/dist/chunk-nk62q95g.js +0 -93
- package/dist/chunk-pg1ppq4y.js +0 -1
- package/dist/chunk-q1cxrg0x.js +0 -2
- package/dist/chunk-swc7se71.js +0 -2
- package/dist/chunk-swyc15ym.js +0 -1
- package/dist/chunk-t2s3s6af.js +0 -1
- package/dist/chunk-vdmq9d9x.js +0 -4
- package/dist/chunk-wt3p1w1g.js +0 -1
- package/dist/chunk-y5ry5c7v.js +0 -1
- package/dist/chunk-yy8p9zph.js +0 -2
- package/dist/chunk-z61m3anh.js +0 -1
- package/dist/chunk-zr90qp47.js +0 -1
- package/dist/chunk-zsa62xr0.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{E as x}from"./chunk-1d47g6nc.js";import{M as R,O as D}from"./chunk-5hqvapp1.js";import{U as t,X as B,Y as q,fa as E,ga as m,ha as c}from"./chunk-h7ypcqp3.js";import{Wl as S}from"./chunk-4fs853nh.js";var i=30000;function V(){let z=new AbortController,G=setTimeout(()=>{z.abort(),G=null},i);return{controller:z,cleanup:()=>{if(G!==null)clearTimeout(G),G=null}}}async function a(z,G){let{controller:N,cleanup:Q}=V();try{let H=await fetch(`${G}/models`,{method:"GET",headers:{Authorization:`Bearer ${z}`,"Content-Type":"application/json"},signal:N.signal});if(!H.ok){let Z=await H.text();throw Error(`OpenAI API error (${H.status}): ${H.statusText}`)}return(await H.json()).data.map((Z)=>({id:Z.id,name:Z.id,provider:"openai"})).sort((Z,g)=>Z.id.localeCompare(g.id))}catch(H){if(H.name==="AbortError")throw Error("OpenAI API request timeout (30s)");throw H}finally{Q()}}async function n(z,G){let{controller:N,cleanup:Q}=V();try{let H=await fetch(`${G}/v1/models`,{method:"GET",headers:{"x-api-key":z,"anthropic-version":"2023-06-01","Content-Type":"application/json"},signal:N.signal});if(!H.ok){let Z=await H.text();throw Error(`Anthropic API error (${H.status}): ${H.statusText}`)}return(await H.json()).data.map((Z)=>({id:Z.id,name:Z.display_name||Z.id,provider:"anthropic"}))}catch(H){if(H.name==="AbortError")throw Error("Anthropic API request timeout (30s)");throw H}finally{Q()}}async function d(z,G){let{controller:N,cleanup:Q}=V();try{let H=await fetch(G+"/v1beta/models",{method:"GET",headers:{Authorization:"Bearer "+z},signal:N.signal});if(!H.ok)throw Error(`Gemini API error (${H.status}): Invalid API key`);return(await H.json()).models.map((Z)=>({id:Z.name,name:Z.displayName||Z.name,provider:"gemini"}))}catch(H){if(H.name==="AbortError")throw Error("Gemini API request timeout (30s)");throw H}finally{Q()}}function zz({provider:z,enabled:G=!0}){return R({queryKey:D.models.list(z?.id||"unknown"),queryFn:async()=>{if(!z||!z.apiKey||!z.baseUrl)return[];try{if(z.type==="openai")return await a(z.apiKey,z.baseUrl);else if(z.type==="anthropic")return await n(z.apiKey,z.baseUrl);else if(z.type==="gemini")return await d(z.apiKey,z.baseUrl);return[]}catch(N){throw N}},enabled:G&&!!z&&!!z.apiKey&&!!z.baseUrl,staleTime:600000,retry:(N,Q)=>{if(Q?.message?.includes("timeout"))return N<2;if(Q?.name==="TypeError"||Q?.message?.includes("fetch"))return N<2;return!1}})}var J=S(t(),1);var $=S(E(),1),L=[{id:"openai",label:"OpenAI",defaultUrl:"https://api.openai.com/v1"},{id:"anthropic",label:"Anthropic",defaultUrl:"https://api.anthropic.com"},{id:"gemini",label:"Gemini",defaultUrl:"https://generativelanguage.googleapis.com/v1beta"}],_=[{key:"id",label:"ID",placeholder:"my-provider"},{key:"name",label:"Name",placeholder:"My Provider"},{key:"apiKey",label:"API Key",placeholder:"sk-xxx..."},{key:"url",label:"URL",placeholder:"https://api.xxx.com"}],o=({provider:z,onCancel:G,onSave:N})=>{let{config:Q}=x(),[H,O]=J.useState({id:z?.id||"",type:z?.type||"openai",name:z?.id||"",apiKey:z?.apiKey||"",baseUrl:z?.baseUrl||L[0].defaultUrl}),[Z,g]=J.useState({}),[U,v]=J.useState(0),w=J.useRef(H),C=J.useRef(U),f=J.useRef(Z);J.useEffect(()=>{w.current=H},[H]),J.useEffect(()=>{C.current=U},[U]),J.useEffect(()=>{f.current=Z},[Z]);let u=J.useMemo(()=>{return L.find((X)=>X.id===H.type)||L[0]},[H.type]),k=J.useCallback(()=>{let X=w.current,W={},A=Q?.providers||[];if(!X.id||X.id.length<3||X.id.length>32)W.id="ID 必须为 3-32 个字符";else if(!/^[a-zA-Z0-9_]+$/.test(X.id))W.id="ID 只能包含字母、数字和下划线";else if(A.some((M)=>M.id===X.id&&M.id!==z?.id))W.id="ID 已存在";if(!X.name||X.name.length<2||X.name.length>50)W.name="名称必须为 2-50 个字符";if(!X.apiKey)W.apiKey="API Key 不能为空";if(!X.baseUrl)W.baseUrl="Base URL 不能为空";else if(!X.baseUrl.startsWith("https://"))W.baseUrl="Base URL 必须以 https:// 开头";return g(W),Object.keys(W).length===0},[Q?.providers,z?.id]),h=J.useRef(k);J.useEffect(()=>{h.current=k},[k]);let K=J.useCallback(()=>{if(h.current())N(w.current)},[N]),P=J.useCallback(()=>{let X=w.current.type,A=(L.findIndex((Y)=>Y.id===X)+1)%L.length,M=L[A];O((Y)=>({...Y,type:M.id,baseUrl:Y.baseUrl||M.defaultUrl}))},[]),b=J.useCallback((X)=>{let W=C.current,A=X==="next"?(W+1)%_.length:(W-1+_.length)%_.length;v(A)},[]),p=(X)=>{let W=_[X];if(W.key==="url")return"baseUrl";return W.key},I=J.useRef(K),T=J.useRef(b),F=J.useRef(P),y=J.useRef(G);J.useEffect(()=>{I.current=K},[K]),J.useEffect(()=>{T.current=b},[b]),J.useEffect(()=>{F.current=P},[P]),J.useEffect(()=>{y.current=G},[G]),m((X,W)=>{if(W.return)I.current();else if(W.escape)y.current();else if(W.tab)T.current(W.shift?"prev":"next");else if(X===" ")F.current()},{isActive:!0});let j=(X)=>{let W=_[X],A=p(X),M=Z[A],Y=U===X;return $.jsxDEV(B,{marginBottom:0,children:[$.jsxDEV(q,{color:Y?"cyan":M?"red":"gray",children:[W.label,": "]},void 0,!0,void 0,this),Y?$.jsxDEV(B,{width:50,children:$.jsxDEV(c,{value:H[A],onChange:(l)=>O((s)=>({...s,[A]:l})),onSubmit:K,placeholder:W.placeholder,maxVisibleLines:1,showCursor:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this):$.jsxDEV(q,{children:H[A]||W.placeholder},void 0,!1,void 0,this),M&&$.jsxDEV(q,{color:"red",children:[" ",M]},void 0,!0,void 0,this)]},W.key,!0,void 0,this)};return $.jsxDEV(B,{flexDirection:"column",paddingX:2,children:[$.jsxDEV(B,{marginTop:1,flexDirection:"column",gap:1,children:[j(0),$.jsxDEV(B,{marginBottom:0,children:[$.jsxDEV(q,{color:U===0?"cyan":"gray",children:"Type: "},void 0,!1,void 0,this),$.jsxDEV(q,{color:"cyan",bold:!0,children:u.label},void 0,!1,void 0,this),$.jsxDEV(q,{color:"gray",children:" [空格切换]"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j(1),j(2),j(3)]},void 0,!0,void 0,this),$.jsxDEV(B,{marginTop:1,children:$.jsxDEV(q,{color:"gray",dimColor:!0,children:[$.jsxDEV(q,{color:"cyan",children:"Enter"},void 0,!1,void 0,this)," 保存 ",$.jsxDEV(q,{color:"cyan",children:"Tab"},void 0,!1,void 0,this)," 切换字段"," ",$.jsxDEV(q,{color:"cyan",children:"Esc"},void 0,!1,void 0,this)," 取消"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},Nz=o;
|
|
2
|
+
export{zz as v,Nz as w};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ak as a,Bk as b}from"./chunk-c9yrpb3g.js";import"./chunk-0kfw8bwn.js";import"./chunk-78ksrp8v.js";import"./chunk-4fs853nh.js";export{a as createFSManager,b as createCustomManager};
|
package/dist/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{R as J}from"./chunk-cb0f54ar.js";import"./chunk-j8tq0e8m.js";import"./chunk-yb71zqvt.js";import{$l as w}from"./chunk-4fs853nh.js";var K=String.prototype.repeat;String.prototype.repeat=function(f){if(typeof f!=="number"||!isFinite(f)||f<0)f=0;return K.call(this,Math.floor(f))};var A=process.argv.slice(2);process.env.LG_TEMP_MESSAGE="true";async function L(){let{initErrorInterceptor:f}=await import("./chunk-agevsn2e.js");f();let H=A.indexOf("--yolo");if(H!==-1)process.env.YOLO_MODE="true",A.splice(H,1);if(J("~/.zen-code/data/sessions.db"),A[0]==="stop"){let{stopZenCore:q}=await import("./chunk-em03xqy9.js"),j=await q();console.log(j.message),process.exit(j.stopped?0:1)}else if(A.includes("--restart")){let{stopZenCore:q,connectToZenCore:j}=await import("./chunk-em03xqy9.js"),B=await q();console.log(B.message),await new Promise((G)=>setTimeout(G,1000)),console.log("Starting zen-core...");let F=await j({spawnIfNotRunning:!0,timeout:15000});globalThis.__zenCoreConnection=F,await import("./app.js")}else if(A[0]==="status"){let{checkZenCoreVersion:q}=await import("./chunk-em03xqy9.js"),B=`http://127.0.0.1:${Number(process.env.ZEN_CORE_PORT||8125)}`;try{let F=await fetch(`${B}/health`,{signal:AbortSignal.timeout(2000)});if(F.ok){let G=await F.json();console.log(`zen-core running port=${G.port} version=${G.version}`)}else console.log("zen-core stopped")}catch{console.log("zen-core stopped")}process.exit(0)}else if(A[0]==="init")console.log("Please zen-code and use /m to configure models");else if(A[0]==="keyboard")import("./zen-keyboard.js");else if(A[0]==="-p"||A[0]==="--prompt"){let q=A.slice(1).join(" "),{runNonInteractive:j}=await import("./nonInteractive.js");await j(q,!1)}else if(await M()){let{runNonInteractive:j}=await import("./nonInteractive.js");await j(void 0,!0)}else{console.log("Starting zen-core...");let{connectToZenCore:j}=await import("./chunk-em03xqy9.js"),B=await j({spawnIfNotRunning:!0,timeout:15000});globalThis.__zenCoreConnection=B,await import("./app.js")}}async function M(){return new Promise((f)=>{if(process.stdin.isTTY){f(!1);return}let q=process.stdin.read();if(q)process.stdin.unshift(q),f(!0);else setTimeout(()=>{let j=process.stdin.read();if(j)process.stdin.unshift(j),f(!0);else f(!1)},100)})}L().catch((f)=>{console.error("❌ 执行失败:",f),process.exit(1)});
|