zen-code 4.10.2 → 5.0.1

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.
Files changed (128) hide show
  1. package/dist/app.js +149 -239
  2. package/dist/{chunk-pzb224c5.js → chunk-0p3df51n.js} +2 -2
  3. package/dist/{chunk-tjg2e8v3.js → chunk-0pzpg2ra.js} +2 -2
  4. package/dist/{chunk-wmyc17aa.js → chunk-142wmdx8.js} +1 -1
  5. package/dist/chunk-1t3rabge.js +1 -0
  6. package/dist/chunk-2gd8vzrf.js +2 -0
  7. package/dist/{chunk-vrnj0659.js → chunk-2z45fjmt.js} +51 -51
  8. package/dist/chunk-3gn0c0j2.js +2 -0
  9. package/dist/chunk-3nhw50tg.js +1 -0
  10. package/dist/{chunk-g974hxbz.js → chunk-4260bzp9.js} +1 -1
  11. package/dist/{chunk-5c3bpcpm.js → chunk-4vh3dxeg.js} +1 -1
  12. package/dist/{chunk-hnnwbfqk.js → chunk-5e2s5jvw.js} +2 -2
  13. package/dist/{chunk-s5cqejr6.js → chunk-5kcxxes1.js} +1 -1
  14. package/dist/chunk-6t0qzren.js +2 -0
  15. package/dist/chunk-74k5n8f5.js +2 -0
  16. package/dist/chunk-780j97nd.js +1 -0
  17. package/dist/chunk-78t2g3ht.js +1 -0
  18. package/dist/chunk-7d48d71t.js +228 -0
  19. package/dist/chunk-96b00ygr.js +1 -0
  20. package/dist/chunk-9kbktaf8.js +89 -0
  21. package/dist/chunk-a4rvf135.js +1 -0
  22. package/dist/chunk-ahsvdb98.js +1 -0
  23. package/dist/{chunk-k4q8j7pg.js → chunk-an34z8wv.js} +1 -1
  24. package/dist/chunk-arm90pny.js +1 -0
  25. package/dist/{chunk-40ht9pe1.js → chunk-avqzptcg.js} +2 -2
  26. package/dist/{chunk-s1tbdcs8.js → chunk-b0yk07x5.js} +1 -1
  27. package/dist/{chunk-nqh1pptf.js → chunk-be8n8w26.js} +1 -1
  28. package/dist/{chunk-c7kd2qrp.js → chunk-bqkrynm6.js} +112 -111
  29. package/dist/chunk-bv28r5cf.js +1 -0
  30. package/dist/{chunk-mmx0k2yq.js → chunk-c59eqb10.js} +1 -1
  31. package/dist/{chunk-t6440ajd.js → chunk-cbr2vrpt.js} +2 -2
  32. package/dist/{chunk-fzh0v6r0.js → chunk-csn4vg3d.js} +2 -2
  33. package/dist/chunk-df36fv24.js +1 -0
  34. package/dist/chunk-e3jv1c1w.js +1 -0
  35. package/dist/{chunk-vbb3m0vz.js → chunk-e6m161vn.js} +1 -1
  36. package/dist/{chunk-vfxjbdz4.js → chunk-eqetcfer.js} +1 -1
  37. package/dist/{chunk-8f19qk9r.js → chunk-eze2fzrq.js} +1 -1
  38. package/dist/{chunk-nmzx5nmt.js → chunk-femf7e4d.js} +1 -1
  39. package/dist/{chunk-gt8c6dne.js → chunk-fvg6pct8.js} +1 -1
  40. package/dist/chunk-g2n6hnjp.js +5 -0
  41. package/dist/{chunk-e8kxa5vj.js → chunk-ge071wp4.js} +2 -2
  42. package/dist/chunk-h9w6y105.js +1 -0
  43. package/dist/chunk-hzxg9kx6.js +1 -0
  44. package/dist/{chunk-g2zskge5.js → chunk-j2qd9mfs.js} +2 -2
  45. package/dist/chunk-j40cj742.js +2 -0
  46. package/dist/chunk-jbqqb1ht.js +2 -0
  47. package/dist/chunk-jz0kw4yt.js +2 -0
  48. package/dist/chunk-kknfcsyy.js +1 -0
  49. package/dist/{chunk-zg54h6gy.js → chunk-kvnw06wg.js} +1 -1
  50. package/dist/chunk-kyb15dg8.js +2 -0
  51. package/dist/chunk-mq4m1w4w.js +15 -0
  52. package/dist/chunk-mqcbjght.js +1 -0
  53. package/dist/{chunk-pe8mzxwn.js → chunk-mqm8wnc8.js} +11 -11
  54. package/dist/chunk-n7bpjcb0.js +1 -0
  55. package/dist/chunk-ncaqgas1.js +160 -0
  56. package/dist/{chunk-f0m4532p.js → chunk-nh11afw0.js} +5 -5
  57. package/dist/{chunk-spx7nn8t.js → chunk-nwmvyez4.js} +2 -2
  58. package/dist/chunk-nzyvqxt4.js +1 -0
  59. package/dist/{chunk-nsw5168d.js → chunk-p6c1xbd5.js} +2 -2
  60. package/dist/chunk-p75m7q2h.js +1 -0
  61. package/dist/{chunk-spa69h7p.js → chunk-pffdbhs6.js} +2 -2
  62. package/dist/chunk-phw7yp5t.js +1 -0
  63. package/dist/{chunk-8tbtavry.js → chunk-q0452p0f.js} +2 -2
  64. package/dist/chunk-r133z8tq.js +8 -0
  65. package/dist/{chunk-qxebn3jw.js → chunk-rqymdmqg.js} +3 -3
  66. package/dist/chunk-rr7h6wdp.js +7 -0
  67. package/dist/{chunk-gfhmzpy7.js → chunk-s04zfe57.js} +2 -3
  68. package/dist/chunk-twhnh3dc.js +1 -0
  69. package/dist/chunk-tws3wcnm.js +2 -0
  70. package/dist/chunk-txnezkkt.js +1 -0
  71. package/dist/{chunk-tjvhqr94.js → chunk-vttq7sqg.js} +1 -1
  72. package/dist/chunk-vvs5da2x.js +281 -0
  73. package/dist/{chunk-n9rpnke9.js → chunk-vwj4n000.js} +1 -1
  74. package/dist/{chunk-4wnmk2tj.js → chunk-w4tbr5h7.js} +3 -3
  75. package/dist/{chunk-n7s6my89.js → chunk-wts8db9p.js} +32 -32
  76. package/dist/{chunk-y8qhrx11.js → chunk-x17jyjan.js} +1 -1
  77. package/dist/chunk-x7x7esvz.js +8 -0
  78. package/dist/chunk-xprg4hxp.js +17 -0
  79. package/dist/chunk-xrfpz1vw.js +2 -0
  80. package/dist/{chunk-hve2a279.js → chunk-xtr6s7kh.js} +2 -2
  81. package/dist/{chunk-bzgznka5.js → chunk-y807k0kw.js} +1 -1
  82. package/dist/chunk-ycp2e43r.js +1 -0
  83. package/dist/chunk-yfv1xeeh.js +2 -0
  84. package/dist/chunk-zxpb45tb.js +1 -0
  85. package/dist/cli.js +1 -1
  86. package/dist/nonInteractive.js +80 -80
  87. package/dist/zen-core.js +261 -0
  88. package/dist/zen-keyboard.js +1 -1
  89. package/package.json +5 -3
  90. package/dist/chunk-0ddrb30y.js +0 -1
  91. package/dist/chunk-215an3fz.js +0 -1
  92. package/dist/chunk-4z0w0ng1.js +0 -2
  93. package/dist/chunk-57bj89e2.js +0 -1
  94. package/dist/chunk-5a5mepqj.js +0 -1
  95. package/dist/chunk-7kw7ss8d.js +0 -1
  96. package/dist/chunk-86m0rmtc.js +0 -1
  97. package/dist/chunk-9rayxazs.js +0 -8
  98. package/dist/chunk-a9gpb2tx.js +0 -2
  99. package/dist/chunk-a9tw6d68.js +0 -1
  100. package/dist/chunk-anbtppz1.js +0 -294
  101. package/dist/chunk-bca8tkkr.js +0 -1
  102. package/dist/chunk-bdqds8vh.js +0 -1
  103. package/dist/chunk-dvbb3dd1.js +0 -233
  104. package/dist/chunk-ehmmd8qc.js +0 -1
  105. package/dist/chunk-ejfa95sm.js +0 -1
  106. package/dist/chunk-f7cps5x1.js +0 -1
  107. package/dist/chunk-fbemqjck.js +0 -2
  108. package/dist/chunk-feeqtzv5.js +0 -1
  109. package/dist/chunk-g9911ymn.js +0 -1
  110. package/dist/chunk-h8fdexm4.js +0 -2
  111. package/dist/chunk-hp2jzn9x.js +0 -166
  112. package/dist/chunk-js4qp900.js +0 -2
  113. package/dist/chunk-m21hvv91.js +0 -2
  114. package/dist/chunk-mnnyjmgw.js +0 -224
  115. package/dist/chunk-mw7x6xqp.js +0 -1
  116. package/dist/chunk-nk62q95g.js +0 -93
  117. package/dist/chunk-pg1ppq4y.js +0 -1
  118. package/dist/chunk-q1cxrg0x.js +0 -2
  119. package/dist/chunk-swc7se71.js +0 -2
  120. package/dist/chunk-swyc15ym.js +0 -1
  121. package/dist/chunk-t2s3s6af.js +0 -1
  122. package/dist/chunk-vdmq9d9x.js +0 -4
  123. package/dist/chunk-wt3p1w1g.js +0 -1
  124. package/dist/chunk-y5ry5c7v.js +0 -1
  125. package/dist/chunk-yy8p9zph.js +0 -2
  126. package/dist/chunk-z61m3anh.js +0 -1
  127. package/dist/chunk-zr90qp47.js +0 -1
  128. package/dist/chunk-zsa62xr0.js +0 -2
@@ -0,0 +1 @@
1
+ import{e as x,f as I}from"./chunk-q0452p0f.js";import"./chunk-pffdbhs6.js";import{Ag as w,Cg as v,sg as C,ug as T,zg as b}from"./chunk-ncaqgas1.js";import"./chunk-9kbktaf8.js";import"./chunk-r133z8tq.js";import"./chunk-g2n6hnjp.js";import"./chunk-femf7e4d.js";import"./chunk-0pzpg2ra.js";import"./chunk-xtr6s7kh.js";import{Rl as K}from"./chunk-x17jyjan.js";var W=K(I(),1),g=[{index:"checkpoints",prefix:"checkpoint:",schema:{"$.thread_id":{type:"TAG",AS:"thread_id"},"$.checkpoint_ns":{type:"TAG",AS:"checkpoint_ns"},"$.checkpoint_id":{type:"TAG",AS:"checkpoint_id"},"$.parent_checkpoint_id":{type:"TAG",AS:"parent_checkpoint_id"},"$.checkpoint_ts":{type:"NUMERIC",AS:"checkpoint_ts"},"$.has_writes":{type:"TAG",AS:"has_writes"},"$.source":{type:"TAG",AS:"source"},"$.step":{type:"NUMERIC",AS:"step"}}},{index:"checkpoint_blobs",prefix:"checkpoint_blob:",schema:{"$.thread_id":{type:"TAG",AS:"thread_id"},"$.checkpoint_ns":{type:"TAG",AS:"checkpoint_ns"},"$.checkpoint_id":{type:"TAG",AS:"checkpoint_id"},"$.channel":{type:"TAG",AS:"channel"},"$.version":{type:"TAG",AS:"version"},"$.type":{type:"TAG",AS:"type"}}},{index:"checkpoint_writes",prefix:"checkpoint_write:",schema:{"$.thread_id":{type:"TAG",AS:"thread_id"},"$.checkpoint_ns":{type:"TAG",AS:"checkpoint_ns"},"$.checkpoint_id":{type:"TAG",AS:"checkpoint_id"},"$.task_id":{type:"TAG",AS:"task_id"},"$.idx":{type:"NUMERIC",AS:"idx"},"$.channel":{type:"TAG",AS:"channel"},"$.type":{type:"TAG",AS:"type"}}}],f=class z extends w{client;ttlConfig;constructor(G,J){super();this.client=G,this.ttlConfig=J}static async fromUrl(G,J){let Z=W.createClient({url:G});await Z.connect();let Q=new z(Z,J);return await Q.ensureIndexes(),Q}static async fromCluster(G,J){let Z=W.createCluster({rootNodes:G});await Z.connect();let Q=new z(Z,J);return await Q.ensureIndexes(),Q}async get(G){return(await this.getTuple(G))?.checkpoint}async getTuple(G){let J=G.configurable?.thread_id,Z=G.configurable?.checkpoint_ns??"",Q=G.configurable?.checkpoint_id;if(!J)return;let Y,E;if(Q)Y=`checkpoint:${J}:${Z}:${Q}`,E=await this.client.json.get(Y);else{let $=`checkpoint:${J}:${Z}:*`,_=await this.client.keys($);if(_.length===0)return;_.sort(),Y=_[_.length-1],E=await this.client.json.get(Y)}if(!E)return;if(this.ttlConfig?.refreshOnRead&&this.ttlConfig?.defaultTTL)await this.applyTTL(Y);let{checkpoint:F,pendingWrites:X}=await this.loadCheckpointWithWrites(E);return await this.createCheckpointTuple(E,F,X)}async put(G,J,Z,Q){await this.ensureIndexes();let Y=G.configurable?.thread_id,E=G.configurable?.checkpoint_ns??"",F=G.configurable?.checkpoint_id;if(!Y)throw Error("thread_id is required");let X=J.id||C(0),$=`checkpoint:${Y}:${E}:${X}`,_=b(J);if(_.channel_values&&Q!==void 0)if(Object.keys(Q).length===0)_.channel_values={};else{let U={};for(let B of Object.keys(Q))if(B in _.channel_values)U[B]=_.channel_values[B];_.channel_values=U}let H={thread_id:Y,checkpoint_ns:E===""?"__empty__":E,checkpoint_id:X,parent_checkpoint_id:F||null,checkpoint:_,metadata:Z,checkpoint_ts:Date.now(),has_writes:"false"};if(this.addSearchableMetadataFields(H,Z),await this.client.json.set($,"$",H),this.ttlConfig?.defaultTTL)await this.applyTTL($);return{configurable:{thread_id:Y,checkpoint_ns:E,checkpoint_id:X}}}async*list(G,J){if(await this.ensureIndexes(),J?.filter!==void 0){let Q=Object.values(J.filter).some((X)=>X===null),Y=[];if(G?.configurable?.thread_id){let X=G.configurable.thread_id.replace(/[-.@]/g,"\\$&");Y.push(`(@thread_id:{${X}})`)}if(G?.configurable?.checkpoint_ns!==void 0){let X=G.configurable.checkpoint_ns;if(X==="")Y.push("(@checkpoint_ns:{__empty__})");else{let $=X.replace(/[-.@]/g,"\\$&");Y.push(`(@checkpoint_ns:{${$}})`)}}if(!J?.before&&J?.filter){for(let[X,$]of Object.entries(J.filter))if($===void 0);else if($===null);else if(typeof $==="string"){let _=x(X),H=x($);Y.push(`(@${_}:{${H}})`)}else if(typeof $==="number"){let _=x(X);Y.push(`(@${_}:[${$} ${$}])`)}else if(typeof $==="object"&&Object.keys($).length===0);}if(Y.length===0)Y.push("*");let E=Y.join(" "),F=J?.limit??10;try{let X=J?.before&&!G?.configurable?.thread_id?1000:J?.before?F*10:F,$=(await this.client.ft.search("checkpoints",E,{LIMIT:{from:0,size:X},SORTBY:{BY:"checkpoint_ts",DIRECTION:"DESC"}})).documents,_=0;for(let H of $){if(_>=F)break;if(J?.before?.configurable?.checkpoint_id){if(H.value.checkpoint_id>=J.before.configurable.checkpoint_id)continue}let U=H.value,B=!0;if((Q||J?.before)&&J?.filter){for(let[M,O]of Object.entries(J.filter))if(O===null){if(U.metadata?.[M]!==null){B=!1;break}}else if(O!==void 0){let A=U.metadata?.[M];if(typeof O==="object"&&O!==null){if(q(A)!==q(O)){B=!1;break}}else if(A!==O){B=!1;break}}if(!B)continue}let{checkpoint:L,pendingWrites:R}=await this.loadCheckpointWithWrites(U);yield await this.createCheckpointTuple(U,L,R),_++}return}catch(X){if(X.message?.includes("no such index"));else throw X}if(G?.configurable?.thread_id){let X=G.configurable.thread_id,$=G.configurable.checkpoint_ns??"",_=`checkpoint:${X}:${$}:*`,H=await this.client.keys(_);H.sort().reverse();let U=H;if(J?.before?.configurable?.checkpoint_id){let R=`checkpoint:${J.before.configurable.thread_id||X}:${J.before.configurable.checkpoint_ns??$}:${J.before.configurable.checkpoint_id}`,M=H.indexOf(R);if(M>0)U=H.slice(M+1);else if(M===0)U=[]}let B=J?.limit??10,L=U.slice(0,B);for(let R of L){let M=await this.client.json.get(R);if(M){let O=!0;for(let[V,S]of Object.entries(J.filter)){let N=M.metadata?.[V];if(S===null){if(N!==null){O=!1;break}}else if(N!==S){O=!1;break}}if(!O)continue;let{checkpoint:A,pendingWrites:P}=await this.loadCheckpointWithWrites(M);yield await this.createCheckpointTuple(M,A,P)}}}else{let X=G?.configurable?.checkpoint_ns!==void 0?`checkpoint:*:${G.configurable.checkpoint_ns===""?"__empty__":G.configurable.checkpoint_ns}:*`:"checkpoint:*",$=await this.client.keys(X),_=[];for(let B of $){let L=await this.client.json.get(B);if(L)_.push({key:B,doc:L})}_.sort((B,L)=>L.doc.checkpoint_ts-B.doc.checkpoint_ts);let H=0,U=J?.limit??10;for(let{doc:B}of _){if(H>=U)break;if(J?.before?.configurable?.checkpoint_id){if(B.checkpoint_id>=J.before.configurable.checkpoint_id)continue}let L=!0;if(J?.filter){for(let[O,A]of Object.entries(J.filter))if(A===null){if(B.metadata?.[O]!==null){L=!1;break}}else if(A!==void 0){let P=B.metadata?.[O];if(typeof A==="object"&&A!==null){if(q(P)!==q(A)){L=!1;break}}else if(P!==A){L=!1;break}}if(!L)continue}let{checkpoint:R,pendingWrites:M}=await this.loadCheckpointWithWrites(B);yield await this.createCheckpointTuple(B,R,M),H++}}return}let Z={...J,filter:{}};yield*this.list(G,Z)}async putWrites(G,J,Z){await this.ensureIndexes();let Q=G.configurable?.thread_id,Y=G.configurable?.checkpoint_ns??"",E=G.configurable?.checkpoint_id;if(!Q||!E)throw Error("thread_id and checkpoint_id are required");let F=[],X=performance.now()*1000;for(let _=0;_<J.length;_++){let[H,U]=J[_],B=`checkpoint_write:${Q}:${Y}:${E}:${Z}:${_}`;F.push(B);let L={thread_id:Q,checkpoint_ns:Y,checkpoint_id:E,task_id:Z,idx:_,channel:H,type:typeof U==="object"?"json":"string",value:U,timestamp:X,global_idx:X+_};await this.client.json.set(B,"$",L)}if(F.length>0){let _=`write_keys_zset:${Q}:${Y}:${E}`,H={};if(F.forEach((U,B)=>{H[U]=X+B}),await this.client.zAdd(_,Object.entries(H).map(([U,B])=>({score:B,value:U}))),this.ttlConfig?.defaultTTL)await this.applyTTL(...F,_)}let $=`checkpoint:${Q}:${Y}:${E}`;if(await this.client.exists($)){let _=await this.client.json.get($);if(_)_.has_writes="true",await this.client.json.set($,"$",_)}}async deleteThread(G){let J=`checkpoint:${G}:*`,Z=await this.client.keys(J);if(Z.length>0)await this.client.del(Z);let Q=`writes:${G}:*`,Y=await this.client.keys(Q);if(Y.length>0)await this.client.del(Y)}async end(){await this.client.quit()}async loadPendingWrites(G,J,Z){let Q=`checkpoint_write:${G}:${J}:${Z}:*`,Y=await this.client.keys(Q);if(Y.length===0)return;let E=[];for(let X of Y){let $=await this.client.json.get(X);if($)E.push($)}E.sort((X,$)=>(X.global_idx||0)-($.global_idx||0));let F=[];for(let X of E){let $=await this.serde.loadsTyped("json",JSON.stringify(X.value));F.push([X.task_id,X.channel,$])}return F}async loadCheckpointWithWrites(G){let J=await this.serde.loadsTyped("json",JSON.stringify(G.checkpoint));if(J.v<4&&G.parent_checkpoint_id!=null){let Q=G.checkpoint_ns==="__empty__"?"":G.checkpoint_ns;await this.migratePendingSends(J,G.thread_id,Q,G.parent_checkpoint_id)}let Z;if(G.has_writes==="true"){let Q=G.checkpoint_ns==="__empty__"?"":G.checkpoint_ns;Z=await this.loadPendingWrites(G.thread_id,Q,G.checkpoint_id)}return{checkpoint:J,pendingWrites:Z}}async migratePendingSends(G,J,Z,Q){let Y=await this.loadPendingWrites(J,Z,Q);if(!Y||Y.length===0)return;let E=Y.filter(([,X])=>X===T);if(E.length===0)return;let F=[];for(let[,,X]of E)F.push(X);G.channel_values??={},G.channel_values[T]=F,G.channel_versions[T]=Object.keys(G.channel_versions).length>0?v(...Object.values(G.channel_versions)):1}async createCheckpointTuple(G,J,Z){let Q=G.checkpoint_ns==="__empty__"?"":G.checkpoint_ns,Y=await this.serde.loadsTyped("json",JSON.stringify(G.metadata));return{config:{configurable:{thread_id:G.thread_id,checkpoint_ns:Q,checkpoint_id:G.checkpoint_id}},checkpoint:J,metadata:Y,parentConfig:G.parent_checkpoint_id?{configurable:{thread_id:G.thread_id,checkpoint_ns:Q,checkpoint_id:G.parent_checkpoint_id}}:void 0,pendingWrites:Z}}addSearchableMetadataFields(G,J){if(!J)return;if("source"in J)G.source=J.source;if("step"in J)G.step=J.step;if("writes"in J)G.writes=typeof J.writes==="object"?JSON.stringify(J.writes):J.writes;if("score"in J)G.score=J.score}async applyTTL(...G){if(!this.ttlConfig?.defaultTTL)return;let J=Math.floor(this.ttlConfig.defaultTTL*60),Z=await Promise.allSettled(G.map((Q)=>this.client.expire(Q,J)));for(let Q=0;Q<Z.length;Q++)if(Z[Q].status==="rejected")console.warn(`Failed to set TTL for key ${G[Q]}:`,Z[Q].reason)}async ensureIndexes(){for(let G of g)try{await this.client.ft.create(G.index,G.schema,{ON:"JSON",PREFIX:G.prefix})}catch(J){if(!J.message?.includes("Index already exists"))console.error(`Failed to create index ${G.index}:`,J.message)}}};function q(z){if(z===null||typeof z!=="object")return JSON.stringify(z);if(Array.isArray(z))return JSON.stringify(z.map((Z)=>q(Z)));let G={},J=Object.keys(z).sort();for(let Z of J)G[Z]=z[Z];return JSON.stringify(G,(Z,Q)=>{if(Q!==null&&typeof Q==="object"&&!Array.isArray(Q)){let Y={},E=Object.keys(Q).sort();for(let F of E)Y[F]=Q[F];return Y}return Q})}export{f as RedisSaver};