zen-code 4.8.6 → 4.9.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 +111 -106
- package/dist/{chunk-vyejbw66.js → chunk-13nyfrmm.js} +1 -1
- package/dist/chunk-1edvf7b5.js +1 -0
- package/dist/chunk-1rmnbdef.js +1 -0
- package/dist/{chunk-fbg1z6br.js → chunk-1ttywx0y.js} +1 -1
- package/dist/{chunk-aeambwc5.js → chunk-1y82m5kn.js} +4 -4
- package/dist/{chunk-8ypsygqy.js → chunk-30sq2w0d.js} +5 -5
- package/dist/chunk-32ase1cw.js +2 -0
- package/dist/{chunk-scddrzwd.js → chunk-3490ntd8.js} +1 -1
- package/dist/{chunk-mhfjwkg9.js → chunk-3pcybja5.js} +1 -1
- package/dist/{chunk-q87zdrxp.js → chunk-4nsg4vcd.js} +1 -1
- package/dist/{chunk-4fwb6qr1.js → chunk-5rr85f28.js} +1 -1
- package/dist/{chunk-5kmnxyd8.js → chunk-5x8nxw0t.js} +1 -1
- package/dist/chunk-6rfc36jg.js +1 -0
- package/dist/{chunk-fnrbq03p.js → chunk-76h8pe7x.js} +2 -2
- package/dist/{chunk-0kqqh5rr.js → chunk-7kdvr78m.js} +2 -2
- package/dist/{chunk-hqyfg97v.js → chunk-8g2zdcy0.js} +1 -1
- package/dist/chunk-8z38ybz7.js +1 -0
- package/dist/{chunk-jsagr88c.js → chunk-98f6hg43.js} +1 -1
- package/dist/chunk-9dahn9h7.js +3 -0
- package/dist/chunk-9k5d9vf1.js +1 -0
- package/dist/{chunk-bzgj8aae.js → chunk-b52b0t16.js} +1 -1
- package/dist/chunk-b8dxq9rq.js +1 -0
- package/dist/{chunk-tvqxepjm.js → chunk-cggjws6a.js} +1 -1
- package/dist/{chunk-czbkc7pc.js → chunk-cjqarwdn.js} +1 -1
- package/dist/{chunk-mqbn36h4.js → chunk-cs73xbzz.js} +1 -1
- package/dist/{chunk-xemvstcq.js → chunk-cyexd09c.js} +2 -2
- package/dist/{chunk-pww7x4hb.js → chunk-ep2es95e.js} +1 -1
- package/dist/chunk-f8ewggk1.js +1 -0
- package/dist/{chunk-1rnd4taj.js → chunk-g377vrpj.js} +3 -3
- package/dist/{chunk-141pasd6.js → chunk-g7pm00z7.js} +2 -2
- package/dist/chunk-gcm4jp0d.js +26 -0
- package/dist/{chunk-pw18cs39.js → chunk-heasksrr.js} +2 -2
- package/dist/chunk-hfve7nf5.js +2 -0
- package/dist/{chunk-6hpehtte.js → chunk-j7a40ww9.js} +2 -2
- package/dist/chunk-j9aysaeb.js +1 -0
- package/dist/{chunk-ph818by4.js → chunk-jbf8ve63.js} +1 -1
- package/dist/{chunk-mfjc63aw.js → chunk-jfhc5c0d.js} +1 -1
- package/dist/{chunk-jwzkek1t.js → chunk-jxsfzfac.js} +1 -1
- package/dist/{chunk-fzn8xq6f.js → chunk-kba8akjs.js} +1 -1
- package/dist/{chunk-favbv2tp.js → chunk-m76ya904.js} +1 -1
- package/dist/{chunk-c6nzmyns.js → chunk-mjzeawnq.js} +2 -2
- package/dist/{chunk-ed6aprzz.js → chunk-mmq834zt.js} +1 -1
- package/dist/chunk-ns6tjjkq.js +1 -0
- package/dist/{chunk-emv4z7ck.js → chunk-nwy6n6b6.js} +87 -87
- package/dist/chunk-qd305hg1.js +1 -0
- package/dist/chunk-qez6ejd4.js +1 -0
- package/dist/{chunk-p8fbtgk3.js → chunk-r2h3x9zv.js} +1 -1
- package/dist/{chunk-8vkm1ts6.js → chunk-rncpxz1b.js} +1 -1
- package/dist/chunk-rz3b356n.js +1 -0
- package/dist/{chunk-py5g6yc2.js → chunk-trjpzw1n.js} +1 -1
- package/dist/{chunk-g1bcpymb.js → chunk-va71tsw3.js} +2 -2
- package/dist/{chunk-pyw1vxnf.js → chunk-wn43r152.js} +1 -1
- package/dist/{chunk-0f022x9v.js → chunk-xhnvpygg.js} +1 -1
- package/dist/{chunk-jn4j9rm3.js → chunk-xkz5z0zn.js} +1 -1
- package/dist/chunk-zwxjkwqd.js +26 -0
- package/dist/{chunk-cqrb18vt.js → chunk-zz32kgt2.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/nonInteractive.js +3 -3
- package/dist/zen-keyboard.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-0a26n1zy.js +0 -26
- package/dist/chunk-2e7zh8he.js +0 -1
- package/dist/chunk-2y73pxem.js +0 -1
- package/dist/chunk-6yeg1jc7.js +0 -1
- package/dist/chunk-903s8sk9.js +0 -1
- package/dist/chunk-ema4rc9d.js +0 -2
- package/dist/chunk-f4tc5awt.js +0 -1
- package/dist/chunk-f7d0m4h3.js +0 -1
- package/dist/chunk-gar31nyn.js +0 -1
- package/dist/chunk-mdkwbajq.js +0 -2
- package/dist/chunk-p1bn8p65.js +0 -1
- package/dist/chunk-s6gzrjxk.js +0 -25
- package/dist/chunk-spvbvpx5.js +0 -1
- package/dist/chunk-t15ptqbm.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Ea as _}from"./chunk-1y82m5kn.js";import{Ma as G,Oa as T,Pa as V,Qa as x,Ra as R}from"./chunk-zwxjkwqd.js";function Z($,f="Human",J="AI"){let q=[];for(let B of $){let U;if(B.type==="human")U=f;else if(B.type==="ai")U=J;else if(B.type==="system")U="System";else if(B.type==="tool")U="Tool";else if(B.type==="generic")U=B.role;else throw Error(`Got unsupported message type: ${B.type}`);let O=B.name?`${B.name}, `:"",Q=typeof B.content==="string"?B.content:JSON.stringify(B.content,null,2);q.push(`${U}: ${O}${Q}`)}return q.join(`
|
|
2
2
|
`)}import{REMOVE_ALL_MESSAGES as j,START as I,StateGraph as S}from"@langchain/langgraph";import{AIMessage as v,RemoveMessage as u}from"@langchain/core/messages";import{HumanMessage as b}from"@langchain/core/messages";import{z as K}from"zod";import{promises as W}from"fs";import X from"path";import N from"yaml";var H=($)=>{return $?.replace(process.cwd(),".")||$||""};import{createAgent as P,toolStrategy as p}from"langchain";var E=K.object({summary_of_chat:K.string().describe("对话总结(300-500字):1) 完整复现对话的核心过程(任务背景→关键决策→解决方案→最终结果);2) 明确说明接下来要做什么(后续行动、待完成任务、需要用户确认的事项);3) 突出关键成果和交付物"),name:K.string().describe("记忆名称(kebab-case 格式)"),description:K.string().describe("对于这个记忆的中等长度描述(索引综述,200-500字符,包含背景、关键点、适用场景)"),tags:K.array(K.string()).describe("记忆标签"),category:K.enum(["architecture","bug-fix","workflow","configuration","optimization"]).describe("记忆分类"),created:K.string().describe("创建日期(ISO 格式:YYYY-MM-DD)"),last_updated:K.string().describe("最后更新日期(ISO 格式:YYYY-MM-DD)"),priority:K.enum(["high","medium","low"]).describe("优先级"),context_scope:K.enum(["user","project"]).describe("上下文范围"),content:K.string().describe("记忆内容(详细说明,包含代码示例)")}),k=`你是一个负责分析对话并提取关键信息的智能助手。
|
|
3
3
|
|
|
4
4
|
## 任务
|
|
@@ -250,4 +250,4 @@ name: "${$.name}"
|
|
|
250
250
|
description: "${$.description}"
|
|
251
251
|
|
|
252
252
|
✓ 保存记忆: ${H(Y)}`}var c={smart_memory:async($)=>{let f=await V($.model_id,{modelProvider:$.provider_type,streamUsage:!0,enableThinking:$.enable_thinking??!0}),J=await F(f,Z($.messages));return{switch_command:"",messages:[new u({id:j}),new v(J)]}}};async function A($,f,J,q){let B=await x($,f,J,q);J.thread_id=G(q);let U=await B.invoke(J,{recursionLimit:500,configurable:q.configurable,context:q.context});return{switch_command:"",task_store:U.task_store,messages:U.messages}}function z(){return new S(T).addNode("graph",async($,f)=>{let{switch_command:J}=$;if(J==="smart_memory")return c.smart_memory($);let q=_,B=await R(q),U=(J==="default"?"agents/default":J)||"agents/default";if(!B.includes(U))throw Error(`Unknown agent: ${J||"default"}. Available: ${B.join(", ")}`);return await A(U,q,$,f)}).addEdge(I,"graph").compile()}var O$=z();
|
|
253
|
-
export{O$ as
|
|
253
|
+
export{O$ as Ca};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import"./chunk-kba8akjs.js";import{sql as z}from"kysely";class I{db;pragmaPromise=null;constructor(x){this.db=x}ensurePragma(){if(!this.pragmaPromise)this.pragmaPromise=this.doEnsurePragma();return this.pragmaPromise}async doEnsurePragma(){await z`PRAGMA busy_timeout = 5000`.execute(this.db),await z`PRAGMA journal_mode = WAL`.execute(this.db),await z`PRAGMA synchronous = NORMAL`.execute(this.db),await z`PRAGMA wal_autocheckpoint = 1000`.execute(this.db)}dateToDb(x){return x.toISOString()}dbToDate(x){return new Date(x)}jsonToDb(x){return JSON.stringify(x)}dbToJson(x){if(typeof x==="string")try{return JSON.parse(x)}catch{return x}return x}buildJsonQuery(x,E,F,B){let G=`$.${JSON.stringify(F)}`;if(B===null)return z`
|
|
2
|
+
json_type(${z.ref(E)}, ${z.lit(G)}) = 'null'
|
|
3
|
+
`;let C;if(typeof B==="string")C=B;else if(typeof B==="number")C=B;else if(typeof B==="boolean")C=B?1:0;else C=JSON.stringify(B);return z`json_extract(${z.ref(E)}, ${z.lit(G)}) = ${z.lit(C)}`}now(){return new Date().toISOString()}async createTables(x){await this.ensurePragma(),await z`
|
|
4
|
+
CREATE TABLE IF NOT EXISTS threads (
|
|
5
|
+
thread_id TEXT PRIMARY KEY,
|
|
6
|
+
created_at TEXT NOT NULL,
|
|
7
|
+
updated_at TEXT NOT NULL,
|
|
8
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
9
|
+
status TEXT NOT NULL DEFAULT 'idle',
|
|
10
|
+
"values" TEXT,
|
|
11
|
+
interrupts TEXT NOT NULL DEFAULT '{}',
|
|
12
|
+
title TEXT
|
|
13
|
+
)
|
|
14
|
+
`.execute(x),await this.addColumnIfNotExists(x,"threads","title","TEXT"),await z`
|
|
15
|
+
CREATE TABLE IF NOT EXISTS runs (
|
|
16
|
+
run_id TEXT PRIMARY KEY,
|
|
17
|
+
thread_id TEXT NOT NULL,
|
|
18
|
+
assistant_id TEXT NOT NULL,
|
|
19
|
+
created_at TEXT NOT NULL,
|
|
20
|
+
updated_at TEXT NOT NULL,
|
|
21
|
+
status TEXT NOT NULL DEFAULT 'pending',
|
|
22
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
23
|
+
multitask_strategy TEXT NOT NULL DEFAULT 'reject',
|
|
24
|
+
FOREIGN KEY (thread_id) REFERENCES threads(thread_id) ON DELETE CASCADE
|
|
25
|
+
)
|
|
26
|
+
`.execute(x)}async addColumnIfNotExists(x,E,F,B){if(!(await z`PRAGMA table_info(${z.raw(E)})`.execute(x)).rows.map((H)=>H.name).includes(F))await z`ALTER TABLE ${z.raw(E)} ADD COLUMN ${z.raw(F)} ${z.raw(B)}`.execute(x)}async createIndexes(x){await z`CREATE INDEX IF NOT EXISTS idx_threads_status ON threads(status)`.execute(x),await z`CREATE INDEX IF NOT EXISTS idx_threads_created_at ON threads(created_at)`.execute(x),await z`CREATE INDEX IF NOT EXISTS idx_threads_updated_at ON threads(updated_at)`.execute(x),await z`CREATE INDEX IF NOT EXISTS idx_runs_thread_id ON runs(thread_id)`.execute(x),await z`CREATE INDEX IF NOT EXISTS idx_runs_status ON runs(status)`.execute(x)}}export{I as SQLiteAdapter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
export{Y as
|
|
1
|
+
import{ub as X,vb as U}from"./chunk-kba8akjs.js";var S=U((Z,Q)=>{var V=Object.prototype.hasOwnProperty,H="~";function O(){}if(Object.create){if(O.prototype=Object.create(null),!new O().__proto__)H=!1}function W(B,q,y){this.fn=B,this.context=q,this.once=y||!1}function R(B,q,y,z,I){if(typeof y!=="function")throw TypeError("The listener must be a function");var F=new W(y,z||B,I),C=H?H+q:q;if(!B._events[C])B._events[C]=F,B._eventsCount++;else if(!B._events[C].fn)B._events[C].push(F);else B._events[C]=[B._events[C],F];return B}function P(B,q){if(--B._eventsCount===0)B._events=new O;else delete B._events[q]}function G(){this._events=new O,this._eventsCount=0}G.prototype.eventNames=function(){var q=[],y,z;if(this._eventsCount===0)return q;for(z in y=this._events)if(V.call(y,z))q.push(H?z.slice(1):z);if(Object.getOwnPropertySymbols)return q.concat(Object.getOwnPropertySymbols(y));return q};G.prototype.listeners=function(q){var y=H?H+q:q,z=this._events[y];if(!z)return[];if(z.fn)return[z.fn];for(var I=0,F=z.length,C=Array(F);I<F;I++)C[I]=z[I].fn;return C};G.prototype.listenerCount=function(q){var y=H?H+q:q,z=this._events[y];if(!z)return 0;if(z.fn)return 1;return z.length};G.prototype.emit=function(q,y,z,I,F,C){var J=H?H+q:q;if(!this._events[J])return!1;var k=this._events[J],K=arguments.length,M,D;if(k.fn){if(k.once)this.removeListener(q,k.fn,void 0,!0);switch(K){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,y),!0;case 3:return k.fn.call(k.context,y,z),!0;case 4:return k.fn.call(k.context,y,z,I),!0;case 5:return k.fn.call(k.context,y,z,I,F),!0;case 6:return k.fn.call(k.context,y,z,I,F,C),!0}for(D=1,M=Array(K-1);D<K;D++)M[D-1]=arguments[D];k.fn.apply(k.context,M)}else{var T=k.length,N;for(D=0;D<T;D++){if(k[D].once)this.removeListener(q,k[D].fn,void 0,!0);switch(K){case 1:k[D].fn.call(k[D].context);break;case 2:k[D].fn.call(k[D].context,y);break;case 3:k[D].fn.call(k[D].context,y,z);break;case 4:k[D].fn.call(k[D].context,y,z,I);break;default:if(!M)for(N=1,M=Array(K-1);N<K;N++)M[N-1]=arguments[N];k[D].fn.apply(k[D].context,M)}}}return!0};G.prototype.on=function(q,y,z){return R(this,q,y,z,!1)};G.prototype.once=function(q,y,z){return R(this,q,y,z,!0)};G.prototype.removeListener=function(q,y,z,I){var F=H?H+q:q;if(!this._events[F])return this;if(!y)return P(this,F),this;var C=this._events[F];if(C.fn){if(C.fn===y&&(!I||C.once)&&(!z||C.context===z))P(this,F)}else{for(var J=0,k=[],K=C.length;J<K;J++)if(C[J].fn!==y||I&&!C[J].once||z&&C[J].context!==z)k.push(C[J]);if(k.length)this._events[F]=k.length===1?k[0]:k;else P(this,F)}return this};G.prototype.removeAllListeners=function(q){var y;if(q){if(y=H?H+q:q,this._events[y])P(this,y)}else this._events=new O,this._eventsCount=0;return this};G.prototype.off=G.prototype.removeListener;G.prototype.addListener=G.prototype.on;G.prefixed=H;G.EventEmitter=G;if(typeof Q<"u")Q.exports=G});var Y=X(S(),1);
|
|
2
|
+
export{Y as w};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{R as U,T as Y,U as B,V as W}from"./chunk-va71tsw3.js";import{ea as q,fa as T,ga as O,pa as j}from"./chunk-nwy6n6b6.js";import{pb as k}from"./chunk-cyexd09c.js";import{ub as b}from"./chunk-kba8akjs.js";var J=b(q(),1);function K({manager:G,enabled:N=!0}){return Y({queryKey:W.config.detail(),queryFn:async()=>{return await G.initialize(),await G.getConfig()},enabled:N,staleTime:300000,gcTime:600000})}function P({manager:G}){let N=U();return B({mutationFn:async(R)=>{return await G.updateConfig(R),await G.getConfig()},onSuccess:(R)=>{N.setQueryData(W.config.detail(),R),N.invalidateQueries({queryKey:W.providers.all}),N.invalidateQueries({queryKey:W.models.all})}})}var X=b(j(),1),H=null,Z=null;async function S(){if(!H){if(!Z)Z=k().then((G)=>{return H=G,Z=null,G});return Z}return Promise.resolve(H)}var I=J.createContext(void 0),E=({manager:G,get_allowed_models:N,children:R})=>{let{data:z,isLoading:V,error:x}=K({manager:G}),$=P({manager:G}),{data:F=[],isLoading:h,error:p}=Y({queryKey:W.models.available(),queryFn:N,staleTime:1800000,retry:1}),A=J.useMemo(()=>{return{provider_id:z?.provider_id||"openai",provider_type:z?.provider_type||"openai",model_id:z?.model_id||F[0]?.id||"default",mcp_config:z?.mcp_config,enable_thinking:z?.enable_thinking??!0,switch_command:z?.switch_command||"",cwd:process.cwd()}},[z?.provider_id,z?.provider_type,z?.model_id,z?.mcp_config,z?.enable_thinking,z?.switch_command,z?.providers,F]),Q=J.useMemo(()=>{return z?.compact_mode??!1},[z?.compact_mode]),w=async()=>{await $.mutateAsync({compact_mode:!Q})},v=J.useMemo(()=>{return z?.show_detailed_info??!1},[z?.show_detailed_info]),L=async()=>{await $.mutateAsync({show_detailed_info:!v})},D=async(_)=>{await $.mutateAsync(_)};if(V||h)return X.jsxDEV(T,{padding:2,children:X.jsxDEV(O,{children:"Loading configuration..."},void 0,!1,void 0,this)},void 0,!1,void 0,this);return X.jsxDEV(I.Provider,{value:{config:z||null,updateConfig:D,extraParams:A,AVAILABLE_MODELS:F,manager:G,compactMode:Q,toggleCompactMode:w,showDetailedInfo:v,toggleDetailedInfo:L},children:R},void 0,!1,void 0,this)},s=()=>{let G=J.useContext(I);if(G===void 0)throw Error("useSettings must be used within a SettingsProvider");return G},r=({get_allowed_models:G,children:N})=>{let[R,z]=J.useState(null);if(J.useEffect(()=>{S().then(z)},[]),!R)return X.jsxDEV(T,{padding:2,children:X.jsxDEV(O,{children:"Initializing configuration manager..."},void 0,!1,void 0,this)},void 0,!1,void 0,this);return X.jsxDEV(E,{manager:R,get_allowed_models:G,children:N},void 0,!1,void 0,this)};
|
|
2
|
+
export{s as N,r as O};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{N as c}from"./chunk-
|
|
2
|
-
export{zz as
|
|
1
|
+
import{N as c}from"./chunk-hfve7nf5.js";import{T as R,V as D}from"./chunk-va71tsw3.js";import{ea as t,fa as B,ga as q,oa as x,pa as E,qa as m}from"./chunk-nwy6n6b6.js";import{ub as S}from"./chunk-kba8akjs.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}=c(),[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]),x((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(m,{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 d,Nz as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R,T as v,U as _,V as b}from"./chunk-va71tsw3.js";import{ea as S,fa as J,ga as W,oa as q,pa as h}from"./chunk-nwy6n6b6.js";import{rb as U}from"./chunk-9dahn9h7.js";import{ub as w}from"./chunk-kba8akjs.js";var G=w(S(),1);function M({limit:X=100,enabled:H=!0}={}){return v({queryKey:b.errors.list(),queryFn:async()=>{return U.getRecentErrors(X)},enabled:H,staleTime:5000,refetchInterval:5000})}function O(){let X=R();return _({mutationFn:async(H)=>{return U.deleteError(H)},onSuccess:()=>{X.invalidateQueries({queryKey:b.errors.all})}})}function Q(){let X=R();return _({mutationFn:async()=>{U.clearAll()},onSuccess:()=>{X.invalidateQueries({queryKey:b.errors.all})}})}var z=w(h(),1);import{join as B}from"node:path";var T={error:{emoji:"❌",color:"red",label:"错误"},warning:{emoji:"⚠️",color:"yellow",label:"警告"}},p={Agent:{emoji:"\uD83E\uDD16",label:"Agent"},Tool:{emoji:"\uD83D\uDD27",label:"Tool"},Terminal:{emoji:"\uD83D\uDCBB",label:"Terminal"},System:{emoji:"⚙️",label:"System"},Unknown:{emoji:"❓",label:"Unknown"}};function g(X){let H=new Date(X),Z=new Date,P=Z.getTime()-H.getTime();if(P<60000)return"刚刚";if(P<3600000)return`${Math.floor(P/60000)}分钟前`;if(H.toDateString()===Z.toDateString())return H.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"});return H.toLocaleDateString("zh-CN",{month:"short",day:"numeric"})}function c(X,H=80){if(X.length<=H)return X;return X.slice(0,H-3)+"..."}var d=({onClose:X})=>{let{data:H=[],isLoading:Z}=M({limit:50}),P=O(),N=Q(),L=G.useCallback(async()=>{await N.mutateAsync()},[N]);q((Y,A)=>{if(A.escape)X();if(A.ctrl&&Y==="l")L()},{isActive:!0});let f=B(process.cwd(),".zen-code","errors.json"),F=G.default.useMemo(()=>{let Y=H.filter(($)=>$.level==="error").length,A=H.filter(($)=>$.level==="warning").length;return{errorCount:Y,warningCount:A}},[H]);return z.jsxDEV(J,{flexDirection:"column",paddingX:1,paddingY:1,children:[z.jsxDEV(J,{marginBottom:1,children:[z.jsxDEV(W,{bold:!0,color:"cyan",children:"\uD83D\uDCCB 错误日志"},void 0,!1,void 0,this),z.jsxDEV(J,{marginLeft:2,children:[z.jsxDEV(W,{color:"red",children:["❌ ",F.errorCount]},void 0,!0,void 0,this),z.jsxDEV(W,{children:" "},void 0,!1,void 0,this),z.jsxDEV(W,{color:"yellow",children:["⚠️ ",F.warningCount]},void 0,!0,void 0,this),z.jsxDEV(W,{dimColor:!0,children:["| Total: ",H.length]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Z&&z.jsxDEV(J,{marginBottom:1,children:z.jsxDEV(W,{dimColor:!0,children:"加载中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),!Z&&H.length>0&&z.jsxDEV(J,{flexDirection:"column",children:H.slice(0,20).map((Y,A)=>{let $=T[Y.level],K=p[Y.source]||p.Unknown,k=g(Y.timestamp),I=c(Y.message);return z.jsxDEV(J,{flexDirection:"column",marginBottom:1,children:[z.jsxDEV(J,{children:z.jsxDEV(W,{color:$.color,children:[$.emoji," ",I]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z.jsxDEV(J,{marginLeft:2,children:[z.jsxDEV(W,{dimColor:!0,children:[K.emoji," ",K.label," | ",k]},void 0,!0,void 0,this),Y.file&&z.jsxDEV(W,{dimColor:!0,color:"gray",children:[" ","| \uD83D\uDCC4 ",Y.file,Y.line&&`:${Y.line}`]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},Y.id,!0,void 0,this)})},void 0,!1,void 0,this),!Z&&H.length===0&&z.jsxDEV(J,{flexDirection:"column",marginBottom:1,children:[z.jsxDEV(J,{marginBottom:1,children:z.jsxDEV(W,{dimColor:!0,children:"暂无错误记录"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z.jsxDEV(J,{marginBottom:1,children:z.jsxDEV(W,{dimColor:!0,children:"错误将自动收集到:"},void 0,!1,void 0,this)},void 0,!1,void 0,this),z.jsxDEV(J,{marginBottom:1,children:z.jsxDEV(W,{color:"yellow",children:f},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z.jsxDEV(J,{marginTop:1,children:z.jsxDEV(W,{dimColor:!0,children:"按 ESC 返回 | Ctrl+L 清空所有"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},E=d;export{E as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f as v,g as Z}from"./chunk-30sq2w0d.js";import{ea as k,fa as Q,ga as G,oa as M,pa as F,ta as O}from"./chunk-nwy6n6b6.js";import"./chunk-5x8nxw0t.js";import{ub as Y}from"./chunk-kba8akjs.js";var N=Y(k(),1);var y=Y(k(),1);var J=Y(F(),1),h=({pid:z,onClose:A})=>{let[H,R]=y.useState({stdout:"",stderr:""});M((W,X)=>{if(X.escape)A()}),y.useEffect(()=>{let W=()=>{let _=Z.getProcessOutput(z);if(_)R(_)};W();let X=setInterval(W,500);return()=>clearInterval(X)},[z]);let $=I(H.stdout,20),U=I(H.stderr,20);return J.jsxDEV(Q,{flexDirection:"column",padding:1,children:[J.jsxDEV(Q,{justifyContent:"space-between",marginBottom:1,children:[J.jsxDEV(G,{bold:!0,color:"cyan",children:["进程 [",z,"] 输出"]},void 0,!0,void 0,this),J.jsxDEV(G,{dimColor:!0,children:"按 ESC 返回"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J.jsxDEV(Q,{flexDirection:"column",marginBottom:1,children:[J.jsxDEV(G,{color:"green",bold:!0,children:"STDOUT:"},void 0,!1,void 0,this),J.jsxDEV(Q,{borderStyle:"single",borderColor:"green",paddingX:1,children:J.jsxDEV(G,{children:$||"(空)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J.jsxDEV(Q,{flexDirection:"column",children:[J.jsxDEV(G,{color:"red",bold:!0,children:"STDERR:"},void 0,!1,void 0,this),J.jsxDEV(Q,{borderStyle:"single",borderColor:"red",paddingX:1,children:J.jsxDEV(G,{children:U||"(空)"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};function I(z,A){let H=z.split(`
|
|
2
2
|
`);if(H.length<=A)return z;return`...${H.slice(-A).join(`
|
|
3
3
|
`)}`}var g=h;var w=Y(F(),1),T=({onClose:z})=>{let[A,H]=N.useState([]),[R,$]=N.useState(null);N.useEffect(()=>{let q=async()=>{let b=await Z.getProcessList();H(b)};q();let K=setInterval(q,1000);return()=>clearInterval(K)},[]);let U=N.useCallback(async()=>{let q=await Z.getProcessList();H(q)},[]),W=N.useCallback((q,K,b)=>{let C=q.status==="running"?"\uD83D\uDFE2":"\uD83D\uDD34",B=f(q.duration);return w.jsxDEV(Q,{flexDirection:"column",children:[w.jsxDEV(Q,{children:[w.jsxDEV(G,{color:"cyan",children:[C," [",q.pid,"]"]},void 0,!0,void 0,this),w.jsxDEV(G,{children:[" ",P(q.command,40)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),w.jsxDEV(Q,{paddingLeft:3,children:[w.jsxDEV(G,{dimColor:!0,children:["⏱ ",B]},void 0,!0,void 0,this),w.jsxDEV(G,{dimColor:!0,children:[" | CPU: ",q.cpu.toFixed(1),"%"]},void 0,!0,void 0,this),w.jsxDEV(G,{dimColor:!0,children:[" | MEM: ",(q.memory/1024/1024).toFixed(1),"MB"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},[]),X=N.useCallback((q)=>{Z.killProcess(q.pid)},[]),_=N.useCallback((q)=>{$(q.pid)},[]),L=N.useCallback((q)=>{return w.jsxDEV(G,{dimColor:!0,children:["运行中: ",q.filter((K)=>K.status==="running").length," | 总计: ",q.length," | Enter 查看输出 | Backspace/Delete 关闭进程"]},void 0,!0,void 0,this)},[]),S=N.useMemo(()=>({id:"processes",title:"进程管理器",icon:"⚙️",dataSource:()=>Promise.resolve(A),searchable:!0,searchFields:["command"],renderItem:W,onSelect:_,onDelete:X,itemHeight:2,statusInfo:L,keyMap:{r:()=>{U()}}}),[A,W,_,X,L,U]);return w.jsxDEV(w.Fragment,{children:R!==null?w.jsxDEV(v,{name:"ProcessOutputPanel",fallback:null,children:w.jsxDEV(g,{pid:R,onClose:()=>$(null)},void 0,!1,void 0,this)},void 0,!1,void 0,this):w.jsxDEV(O,{config:S,onClose:z},void 0,!1,void 0,this)},void 0,!1,void 0,this)};function f(z){let A=Math.floor(z/1000),H=Math.floor(A/60),R=Math.floor(H/60);if(R>0)return`${R}h ${H%60}m`;if(H>0)return`${H}m ${A%60}s`;return`${A}s`}function P(z,A){return z.length>A?z.slice(0,A-3)+"...":z}var n=T;export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$a as
|
|
1
|
+
import{$a as n,Ua as b,Va as h,Wa as i,Xa as j,Ya as k,Za as l,_a as m,ab as o,bb as p,cb as q,db as r,eb as s,fb as t,gb as u,hb as v,ib as w,jb as x,kb as y,lb as z,mb as A}from"./chunk-5rr85f28.js";import{nb as e}from"./chunk-cggjws6a.js";import{ob as a,pb as f,qb as g}from"./chunk-cyexd09c.js";import{sb as c}from"./chunk-r2h3x9zv.js";import{tb as d}from"./chunk-1ttywx0y.js";import"./chunk-kba8akjs.js";export{i as createServerWithManager,m as createRemoteManager,f as createFSManager,g as createCustomManager,h as createConfigServer,y as TaskStoreSchema,A as TaskStoreManager,t as TaskStatusSchema,w as TaskNodeSchema,v as TaskExecutionSchema,x as TaskExecutionRecordSchema,s as SparkStoreSchema,z as SparkStoreManager,p as SparkStatusSchema,q as SparkSourceSchema,o as SparkPrioritySchema,n as SparkItemTypeSchema,r as SparkItemSchema,k as RemoteSkillStore,l as RemotePluginStore,j as RemoteConfigStore,d as FileSystemSkillStore,e as FileSystemPluginStore,c as FileSystemConfigStore,b as ConfigServer,a as ConfigManager,u as AgentTypeSchema};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{sb as v5,tb as F,wb as _}from"./chunk-fzn8xq6f.js";var i=F((n)=>{Object.defineProperty(n,"__esModule",{value:!0});n.default=void 0;var c5=n.default="ffffffff-ffff-ffff-ffff-ffffffffffff"});var t=F((o)=>{Object.defineProperty(o,"__esModule",{value:!0});o.default=void 0;var p5=o.default="00000000-0000-0000-0000-000000000000"});var Q0=F((s)=>{Object.defineProperty(s,"__esModule",{value:!0});s.default=void 0;var o5=s.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});var V=F((Z0)=>{Object.defineProperty(Z0,"__esModule",{value:!0});Z0.default=void 0;var W1=Y1(Q0());function Y1(Q){return Q&&Q.__esModule?Q:{default:Q}}function F1(Q){return typeof Q==="string"&&W1.default.test(Q)}var t5=Z0.default=F1});var T=F((X0)=>{Object.defineProperty(X0,"__esModule",{value:!0});X0.default=void 0;var U1=D1(V());function D1(Q){return Q&&Q.__esModule?Q:{default:Q}}function z1(Q){if(!(0,U1.default)(Q))throw TypeError("Invalid UUID");let Z,X=new Uint8Array(16);return X[0]=(Z=parseInt(Q.slice(0,8),16))>>>24,X[1]=Z>>>16&255,X[2]=Z>>>8&255,X[3]=Z&255,X[4]=(Z=parseInt(Q.slice(9,13),16))>>>8,X[5]=Z&255,X[6]=(Z=parseInt(Q.slice(14,18),16))>>>8,X[7]=Z&255,X[8]=(Z=parseInt(Q.slice(19,23),16))>>>8,X[9]=Z&255,X[10]=(Z=parseInt(Q.slice(24,36),16))/1099511627776&255,X[11]=Z/4294967296&255,X[12]=Z>>>24&255,X[13]=Z>>>16&255,X[14]=Z>>>8&255,X[15]=Z&255,X}var e5=X0.default=z1});var R=F((A0)=>{Object.defineProperty(A0,"__esModule",{value:!0});A0.default=void 0;A0.unsafeStringify=P0;var H1=O1(V());function O1(Q){return Q&&Q.__esModule?Q:{default:Q}}var U=[];for(let Q=0;Q<256;++Q)U.push((Q+256).toString(16).slice(1));function P0(Q,Z=0){return(U[Q[Z+0]]+U[Q[Z+1]]+U[Q[Z+2]]+U[Q[Z+3]]+"-"+U[Q[Z+4]]+U[Q[Z+5]]+"-"+U[Q[Z+6]]+U[Q[Z+7]]+"-"+U[Q[Z+8]]+U[Q[Z+9]]+"-"+U[Q[Z+10]]+U[Q[Z+11]]+U[Q[Z+12]]+U[Q[Z+13]]+U[Q[Z+14]]+U[Q[Z+15]]).toLowerCase()}function w1(Q,Z=0){let X=P0(Q,Z);if(!(0,H1.default)(X))throw TypeError("Stringified UUID is invalid");return X}var Z6=A0.default=w1});var q=F((W0)=>{Object.defineProperty(W0,"__esModule",{value:!0});W0.default=V1;var R1=K1(_("node:crypto"));function K1(Q){return Q&&Q.__esModule?Q:{default:Q}}var N=new Uint8Array(256),E=N.length;function V1(){if(E>N.length-16)R1.default.randomFillSync(N),E=0;return N.slice(E,E+=16)}});var g=F((Y0)=>{Object.defineProperty(Y0,"__esModule",{value:!0});Y0.default=void 0;var S1=N1(q()),E1=R();function N1(Q){return Q&&Q.__esModule?Q:{default:Q}}var C,f,I=0,B=0;function _1(Q,Z,X){let G=Z&&X||0,J=Z||Array(16);Q=Q||{};let{node:P,clockseq:W}=Q;if(!Q._v6){if(!P)P=C;if(W==null)W=f}if(P==null||W==null){let O=Q.random||(Q.rng||S1.default)();if(P==null){if(P=[O[0],O[1],O[2],O[3],O[4],O[5]],!C&&!Q._v6)P[0]|=1,C=P}if(W==null){if(W=(O[6]<<8|O[7])&16383,f===void 0&&!Q._v6)f=W}}let A=Q.msecs!==void 0?Q.msecs:Date.now(),Y=Q.nsecs!==void 0?Q.nsecs:B+1,M=A-I+(Y-B)/1e4;if(M<0&&Q.clockseq===void 0)W=W+1&16383;if((M<0||A>I)&&Q.nsecs===void 0)Y=0;if(Y>=1e4)throw Error("uuid.v1(): Can't create more than 10M uuids/sec");I=A,B=Y,f=W,A+=12219292800000;let L=((A&268435455)*1e4+Y)%4294967296;J[G++]=L>>>24&255,J[G++]=L>>>16&255,J[G++]=L>>>8&255,J[G++]=L&255;let S=A/4294967296*1e4&268435455;J[G++]=S>>>8&255,J[G++]=S&255,J[G++]=S>>>24&15|16,J[G++]=S>>>16&255,J[G++]=W>>>8|128,J[G++]=W&255;for(let O=0;O<6;++O)J[G+O]=P[O];return Z||(0,E1.unsafeStringify)(J)}var J6=Y0.default=_1});var u=F((U0)=>{Object.defineProperty(U0,"__esModule",{value:!0});U0.default=$1;var q1=x1(T()),f1=R();function x1(Q){return Q&&Q.__esModule?Q:{default:Q}}function $1(Q){let Z=typeof Q==="string"?(0,q1.default)(Q):Q,X=C1(Z);return typeof Q==="string"?(0,f1.unsafeStringify)(X):X}function C1(Q,Z=!1){return Uint8Array.of((Q[6]&15)<<4|Q[7]>>4&15,(Q[7]&15)<<4|(Q[4]&240)>>4,(Q[4]&15)<<4|(Q[5]&240)>>4,(Q[5]&15)<<4|(Q[0]&240)>>4,(Q[0]&15)<<4|(Q[1]&240)>>4,(Q[1]&15)<<4|(Q[2]&240)>>4,96|Q[2]&15,Q[3],Q[8],Q[9],Q[10],Q[11],Q[12],Q[13],Q[14],Q[15])}});var j=F((D0)=>{Object.defineProperty(D0,"__esModule",{value:!0});D0.URL=D0.DNS=void 0;D0.default=h1;var B1=R(),g1=u1(T());function u1(Q){return Q&&Q.__esModule?Q:{default:Q}}function j1(Q){Q=unescape(encodeURIComponent(Q));let Z=[];for(let X=0;X<Q.length;++X)Z.push(Q.charCodeAt(X));return Z}var v1=D0.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",m1=D0.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function h1(Q,Z,X){function G(J,P,W,A){var Y;if(typeof J==="string")J=j1(J);if(typeof P==="string")P=(0,g1.default)(P);if(((Y=P)===null||Y===void 0?void 0:Y.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let M=new Uint8Array(16+J.length);if(M.set(P),M.set(J,P.length),M=X(M),M[6]=M[6]&15|Z,M[8]=M[8]&63|128,W){A=A||0;for(let L=0;L<16;++L)W[A+L]=M[L];return W}return(0,B1.unsafeStringify)(M)}try{G.name=Q}catch(J){}return G.DNS=v1,G.URL=m1,G}});var w0=F((H0)=>{Object.defineProperty(H0,"__esModule",{value:!0});H0.default=void 0;var d1=b1(_("node:crypto"));function b1(Q){return Q&&Q.__esModule?Q:{default:Q}}function k1(Q){if(Array.isArray(Q))Q=Buffer.from(Q);else if(typeof Q==="string")Q=Buffer.from(Q,"utf8");return d1.default.createHash("md5").update(Q).digest()}var W6=H0.default=k1});var V0=F((R0)=>{Object.defineProperty(R0,"__esModule",{value:!0});R0.default=void 0;var r1=L0(j()),c1=L0(w0());function L0(Q){return Q&&Q.__esModule?Q:{default:Q}}var n1=(0,r1.default)("v3",48,c1.default),F6=R0.default=n1});var E0=F((T0)=>{Object.defineProperty(T0,"__esModule",{value:!0});T0.default=void 0;var p1=i1(_("node:crypto"));function i1(Q){return Q&&Q.__esModule?Q:{default:Q}}var D6=T0.default={randomUUID:p1.default.randomUUID}});var x0=F((q0)=>{Object.defineProperty(q0,"__esModule",{value:!0});q0.default=void 0;var N0=_0(E0()),o1=_0(q()),a1=R();function _0(Q){return Q&&Q.__esModule?Q:{default:Q}}function t1(Q,Z,X){if(N0.default.randomUUID&&!Z&&!Q)return N0.default.randomUUID();Q=Q||{};let G=Q.random||(Q.rng||o1.default)();if(G[6]=G[6]&15|64,G[8]=G[8]&63|128,Z){X=X||0;for(let J=0;J<16;++J)Z[X+J]=G[J];return Z}return(0,a1.unsafeStringify)(G)}var H6=q0.default=t1});var I0=F(($0)=>{Object.defineProperty($0,"__esModule",{value:!0});$0.default=void 0;var s1=e1(_("node:crypto"));function e1(Q){return Q&&Q.__esModule?Q:{default:Q}}function Q5(Q){if(Array.isArray(Q))Q=Buffer.from(Q);else if(typeof Q==="string")Q=Buffer.from(Q,"utf8");return s1.default.createHash("sha1").update(Q).digest()}var w6=$0.default=Q5});var j0=F((g0)=>{Object.defineProperty(g0,"__esModule",{value:!0});g0.default=void 0;var Z5=B0(j()),G5=B0(I0());function B0(Q){return Q&&Q.__esModule?Q:{default:Q}}var X5=(0,Z5.default)("v5",80,G5.default),R6=g0.default=X5});var h0=F((m0)=>{Object.defineProperty(m0,"__esModule",{value:!0});m0.default=M5;var J5=R(),P5=v0(g()),A5=v0(u());function v0(Q){return Q&&Q.__esModule?Q:{default:Q}}function M5(Q={},Z,X=0){let G=(0,P5.default)({...Q,_v6:!0},new Uint8Array(16));if(G=(0,A5.default)(G),Z){for(let J=0;J<16;J++)Z[X+J]=G[J];return Z}return(0,J5.unsafeStringify)(G)}});var l0=F((y0)=>{Object.defineProperty(y0,"__esModule",{value:!0});y0.default=D5;var Y5=U5(T()),F5=R();function U5(Q){return Q&&Q.__esModule?Q:{default:Q}}function D5(Q){let Z=typeof Q==="string"?(0,Y5.default)(Q):Q,X=z5(Z);return typeof Q==="string"?(0,F5.unsafeStringify)(X):X}function z5(Q){return Uint8Array.of((Q[3]&15)<<4|Q[4]>>4&15,(Q[4]&15)<<4|(Q[5]&240)>>4,(Q[5]&15)<<4|Q[6]&15,Q[7],(Q[1]&15)<<4|(Q[2]&240)>>4,(Q[2]&15)<<4|(Q[3]&240)>>4,16|(Q[0]&240)>>4,(Q[0]&15)<<4|(Q[1]&240)>>4,Q[8],Q[9],Q[10],Q[11],Q[12],Q[13],Q[14],Q[15])}});var c0=F((k0)=>{Object.defineProperty(k0,"__esModule",{value:!0});k0.default=void 0;var O5=L5(q()),w5=R();function L5(Q){return Q&&Q.__esModule?Q:{default:Q}}var d0=null,b0=null,w=0;function R5(Q,Z,X){Q=Q||{};let G=Z&&X||0,J=Z||new Uint8Array(16),P=Q.random||(Q.rng||O5.default)(),W=Q.msecs!==void 0?Q.msecs:Date.now(),A=Q.seq!==void 0?Q.seq:null,Y=b0,M=d0;if(W>w&&Q.msecs===void 0){if(w=W,A!==null)Y=null,M=null}if(A!==null){if(A>2147483647)A=2147483647;Y=A>>>19&4095,M=A&524287}if(Y===null||M===null)Y=P[6]&127,Y=Y<<8|P[7],M=P[8]&63,M=M<<8|P[9],M=M<<5|P[10]>>>3;if(W+1e4>w&&A===null){if(++M>524287){if(M=0,++Y>4095)Y=0,w++}}else w=W;return b0=Y,d0=M,J[G++]=w/1099511627776&255,J[G++]=w/4294967296&255,J[G++]=w/16777216&255,J[G++]=w/65536&255,J[G++]=w/256&255,J[G++]=w&255,J[G++]=Y>>>4&15|112,J[G++]=Y&255,J[G++]=M>>>13&63|128,J[G++]=M>>>5&255,J[G++]=M<<3&255|P[10]&7,J[G++]=P[11],J[G++]=P[12],J[G++]=P[13],J[G++]=P[14],J[G++]=P[15],Z||(0,w5.unsafeStringify)(J)}var S6=k0.default=R5});var i0=F((n0)=>{Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var K5=V5(V());function V5(Q){return Q&&Q.__esModule?Q:{default:Q}}function T5(Q){if(!(0,K5.default)(Q))throw TypeError("Invalid UUID");return parseInt(Q.slice(14,15),16)}var N6=n0.default=T5});var o0=F((D)=>{Object.defineProperty(D,"__esModule",{value:!0});Object.defineProperty(D,"MAX",{enumerable:!0,get:function(){return S5.default}});Object.defineProperty(D,"NIL",{enumerable:!0,get:function(){return E5.default}});Object.defineProperty(D,"parse",{enumerable:!0,get:function(){return N5.default}});Object.defineProperty(D,"stringify",{enumerable:!0,get:function(){return _5.default}});Object.defineProperty(D,"v1",{enumerable:!0,get:function(){return q5.default}});Object.defineProperty(D,"v1ToV6",{enumerable:!0,get:function(){return f5.default}});Object.defineProperty(D,"v3",{enumerable:!0,get:function(){return x5.default}});Object.defineProperty(D,"v4",{enumerable:!0,get:function(){return $5.default}});Object.defineProperty(D,"v5",{enumerable:!0,get:function(){return C5.default}});Object.defineProperty(D,"v6",{enumerable:!0,get:function(){return I5.default}});Object.defineProperty(D,"v6ToV1",{enumerable:!0,get:function(){return B5.default}});Object.defineProperty(D,"v7",{enumerable:!0,get:function(){return g5.default}});Object.defineProperty(D,"validate",{enumerable:!0,get:function(){return u5.default}});Object.defineProperty(D,"version",{enumerable:!0,get:function(){return j5.default}});var S5=H(i()),E5=H(t()),N5=H(T()),_5=H(R()),q5=H(g()),f5=H(u()),x5=H(V0()),$5=H(x0()),C5=H(j0()),I5=H(h0()),B5=H(l0()),g5=H(c0()),u5=H(V()),j5=H(i0());function H(Q){return Q&&Q.__esModule?Q:{default:Q}}});var z=v5(o0(),1),f6=z.default.v1,x6=z.default.v1ToV6,$6=z.default.v3,C6=z.default.v4,m5=z.default.v5,a0=z.default.v6,I6=z.default.v6ToV1,B6=z.default.v7,g6=z.default.NIL,u6=z.default.MAX,j6=z.default.version,v6=z.default.validate,m6=z.default.stringify,h6=z.default.parse;function t0(Q){return a0({clockseq:Q})}var s0="__pregel_tasks",v="__error__",m="__scheduled__",h="__interrupt__",y="__resume__";var e0="[...]",h5="[Circular]",x=[],K=[];function y5(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Q1(Q,Z,X,G){if(typeof G>"u")G=y5();d(Q,"",0,[],void 0,0,G);var J;try{if(K.length===0)J=JSON.stringify(Q,Z,X);else J=JSON.stringify(Q,l5(Z),X)}catch(W){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(x.length!==0){var P=x.pop();if(P.length===4)Object.defineProperty(P[0],P[1],P[3]);else P[0][P[1]]=P[2]}}return J}function l(Q,Z,X,G){var J=Object.getOwnPropertyDescriptor(G,X);if(J.get!==void 0)if(J.configurable)Object.defineProperty(G,X,{value:Q}),x.push([G,X,Z,J]);else K.push([Z,X,Q]);else G[X]=Q,x.push([G,X,Z])}function d(Q,Z,X,G,J,P,W){P+=1;var A;if(typeof Q==="object"&&Q!==null){for(A=0;A<G.length;A++)if(G[A]===Q){l(h5,Q,Z,J);return}if(typeof W.depthLimit<"u"&&P>W.depthLimit){l(e0,Q,Z,J);return}if(typeof W.edgesLimit<"u"&&X+1>W.edgesLimit){l(e0,Q,Z,J);return}if(G.push(Q),Array.isArray(Q))for(A=0;A<Q.length;A++)d(Q[A],A,A,G,Q,P,W);else{var Y=Object.keys(Q);for(A=0;A<Y.length;A++){var M=Y[A];d(Q[M],M,A,G,Q,P,W)}}G.pop()}}function l5(Q){return Q=typeof Q<"u"?Q:function(Z,X){return X},function(Z,X){if(K.length>0)for(var G=0;G<K.length;G++){var J=K[G];if(J[1]===Z&&J[0]===X){X=J[2],K.splice(G,1);break}}return Q.call(this,Z,X)}}import{load as d5}from"@langchain/core/load";function b5(Q){return Q!==null&&Q.lc===1&&Q.type==="constructor"&&Array.isArray(Q.id)}async function k(Q){if(Q&&typeof Q==="object")if(Array.isArray(Q))return await Promise.all(Q.map((X)=>k(X)));else{let Z={};for(let[X,G]of Object.entries(Q))Z[X]=await k(G);if(Z.lc===2&&Z.type==="undefined")return;else if(Z.lc===2&&Z.type==="constructor"&&Array.isArray(Z.id))try{let X=Z.id[Z.id.length-1],G;switch(X){case"Set":G=Set;break;case"Map":G=Map;break;case"RegExp":G=RegExp;break;case"Error":G=Error;break;default:return Z}if(Z.method)return G[Z.method](...Z.args||[]);else return new G(...Z.args||[])}catch(X){return Z}else if(b5(Z))return d5(JSON.stringify(Z));return Z}return Q}function b(Q,Z,X,G){return{lc:2,type:"constructor",id:[Q.name],method:Z??null,args:X??[],kwargs:G??{}}}function k5(Q){if(Q===void 0)return{lc:2,type:"undefined"};else if(Q instanceof Set||Q instanceof Map)return b(Q.constructor,void 0,[Array.from(Q)]);else if(Q instanceof RegExp)return b(RegExp,void 0,[Q.source,Q.flags]);else if(Q instanceof Error)return b(Q.constructor,void 0,[Q.message]);else if(Q?.lg_name==="Send")return{node:Q.node,args:Q.args};else return Q}var $=class{_dumps(Q){return new TextEncoder().encode(Q1(Q,(X,G)=>{return k5(G)}))}async dumpsTyped(Q){if(Q instanceof Uint8Array)return["bytes",Q];else return["json",this._dumps(Q)]}async _loads(Q){let Z=JSON.parse(Q);return k(Z)}async loadsTyped(Q,Z){if(Q==="bytes")return typeof Z==="string"?new TextEncoder().encode(Z):Z;else if(Q==="json")return this._loads(typeof Z==="string"?Z:new TextDecoder().decode(Z));else throw Error(`Unknown serialization type: ${Q}`)}};function r(Q){if(typeof Q!=="object"||Q===null)return Q;let Z=Array.isArray(Q)?[]:{};for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))Z[X]=r(Q[X]);return Z}function Z1(Q){return{v:Q.v,id:Q.id,ts:Q.ts,channel_values:{...Q.channel_values},channel_versions:{...Q.channel_versions},versions_seen:r(Q.versions_seen)}}var G1=class{serde=new $;constructor(Q){this.serde=Q||this.serde}async get(Q){let Z=await this.getTuple(Q);return Z?Z.checkpoint:void 0}getNextVersion(Q){if(typeof Q==="string")throw Error("Please override this method to use string versions.");return Q!==void 0&&typeof Q==="number"?Q+1:1}};function X1(Q,Z){if(typeof Q==="number"&&typeof Z==="number")return Math.sign(Q-Z);return String(Q).localeCompare(String(Z))}function J1(...Q){return Q.reduce((Z,X,G)=>{if(G===0)return X;return X1(Z,X)>=0?Z:X})}var P1={[v]:-1,[m]:-2,[h]:-3,[y]:-4};function A1(Q){return Q.configurable?.checkpoint_id||Q.configurable?.thread_ts||""}var c=class{serde=new $;constructor(Q){this.serde=Q||this.serde}};
|
|
1
|
+
import{ub as v5,vb as F,yb as _}from"./chunk-kba8akjs.js";var i=F((n)=>{Object.defineProperty(n,"__esModule",{value:!0});n.default=void 0;var c5=n.default="ffffffff-ffff-ffff-ffff-ffffffffffff"});var t=F((o)=>{Object.defineProperty(o,"__esModule",{value:!0});o.default=void 0;var p5=o.default="00000000-0000-0000-0000-000000000000"});var Q0=F((s)=>{Object.defineProperty(s,"__esModule",{value:!0});s.default=void 0;var o5=s.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});var V=F((Z0)=>{Object.defineProperty(Z0,"__esModule",{value:!0});Z0.default=void 0;var W1=Y1(Q0());function Y1(Q){return Q&&Q.__esModule?Q:{default:Q}}function F1(Q){return typeof Q==="string"&&W1.default.test(Q)}var t5=Z0.default=F1});var T=F((X0)=>{Object.defineProperty(X0,"__esModule",{value:!0});X0.default=void 0;var U1=D1(V());function D1(Q){return Q&&Q.__esModule?Q:{default:Q}}function z1(Q){if(!(0,U1.default)(Q))throw TypeError("Invalid UUID");let Z,X=new Uint8Array(16);return X[0]=(Z=parseInt(Q.slice(0,8),16))>>>24,X[1]=Z>>>16&255,X[2]=Z>>>8&255,X[3]=Z&255,X[4]=(Z=parseInt(Q.slice(9,13),16))>>>8,X[5]=Z&255,X[6]=(Z=parseInt(Q.slice(14,18),16))>>>8,X[7]=Z&255,X[8]=(Z=parseInt(Q.slice(19,23),16))>>>8,X[9]=Z&255,X[10]=(Z=parseInt(Q.slice(24,36),16))/1099511627776&255,X[11]=Z/4294967296&255,X[12]=Z>>>24&255,X[13]=Z>>>16&255,X[14]=Z>>>8&255,X[15]=Z&255,X}var e5=X0.default=z1});var R=F((A0)=>{Object.defineProperty(A0,"__esModule",{value:!0});A0.default=void 0;A0.unsafeStringify=P0;var H1=O1(V());function O1(Q){return Q&&Q.__esModule?Q:{default:Q}}var U=[];for(let Q=0;Q<256;++Q)U.push((Q+256).toString(16).slice(1));function P0(Q,Z=0){return(U[Q[Z+0]]+U[Q[Z+1]]+U[Q[Z+2]]+U[Q[Z+3]]+"-"+U[Q[Z+4]]+U[Q[Z+5]]+"-"+U[Q[Z+6]]+U[Q[Z+7]]+"-"+U[Q[Z+8]]+U[Q[Z+9]]+"-"+U[Q[Z+10]]+U[Q[Z+11]]+U[Q[Z+12]]+U[Q[Z+13]]+U[Q[Z+14]]+U[Q[Z+15]]).toLowerCase()}function w1(Q,Z=0){let X=P0(Q,Z);if(!(0,H1.default)(X))throw TypeError("Stringified UUID is invalid");return X}var Z6=A0.default=w1});var q=F((W0)=>{Object.defineProperty(W0,"__esModule",{value:!0});W0.default=V1;var R1=K1(_("node:crypto"));function K1(Q){return Q&&Q.__esModule?Q:{default:Q}}var N=new Uint8Array(256),E=N.length;function V1(){if(E>N.length-16)R1.default.randomFillSync(N),E=0;return N.slice(E,E+=16)}});var g=F((Y0)=>{Object.defineProperty(Y0,"__esModule",{value:!0});Y0.default=void 0;var S1=N1(q()),E1=R();function N1(Q){return Q&&Q.__esModule?Q:{default:Q}}var C,f,I=0,B=0;function _1(Q,Z,X){let G=Z&&X||0,J=Z||Array(16);Q=Q||{};let{node:P,clockseq:W}=Q;if(!Q._v6){if(!P)P=C;if(W==null)W=f}if(P==null||W==null){let O=Q.random||(Q.rng||S1.default)();if(P==null){if(P=[O[0],O[1],O[2],O[3],O[4],O[5]],!C&&!Q._v6)P[0]|=1,C=P}if(W==null){if(W=(O[6]<<8|O[7])&16383,f===void 0&&!Q._v6)f=W}}let A=Q.msecs!==void 0?Q.msecs:Date.now(),Y=Q.nsecs!==void 0?Q.nsecs:B+1,M=A-I+(Y-B)/1e4;if(M<0&&Q.clockseq===void 0)W=W+1&16383;if((M<0||A>I)&&Q.nsecs===void 0)Y=0;if(Y>=1e4)throw Error("uuid.v1(): Can't create more than 10M uuids/sec");I=A,B=Y,f=W,A+=12219292800000;let L=((A&268435455)*1e4+Y)%4294967296;J[G++]=L>>>24&255,J[G++]=L>>>16&255,J[G++]=L>>>8&255,J[G++]=L&255;let S=A/4294967296*1e4&268435455;J[G++]=S>>>8&255,J[G++]=S&255,J[G++]=S>>>24&15|16,J[G++]=S>>>16&255,J[G++]=W>>>8|128,J[G++]=W&255;for(let O=0;O<6;++O)J[G+O]=P[O];return Z||(0,E1.unsafeStringify)(J)}var J6=Y0.default=_1});var u=F((U0)=>{Object.defineProperty(U0,"__esModule",{value:!0});U0.default=$1;var q1=x1(T()),f1=R();function x1(Q){return Q&&Q.__esModule?Q:{default:Q}}function $1(Q){let Z=typeof Q==="string"?(0,q1.default)(Q):Q,X=C1(Z);return typeof Q==="string"?(0,f1.unsafeStringify)(X):X}function C1(Q,Z=!1){return Uint8Array.of((Q[6]&15)<<4|Q[7]>>4&15,(Q[7]&15)<<4|(Q[4]&240)>>4,(Q[4]&15)<<4|(Q[5]&240)>>4,(Q[5]&15)<<4|(Q[0]&240)>>4,(Q[0]&15)<<4|(Q[1]&240)>>4,(Q[1]&15)<<4|(Q[2]&240)>>4,96|Q[2]&15,Q[3],Q[8],Q[9],Q[10],Q[11],Q[12],Q[13],Q[14],Q[15])}});var j=F((D0)=>{Object.defineProperty(D0,"__esModule",{value:!0});D0.URL=D0.DNS=void 0;D0.default=h1;var B1=R(),g1=u1(T());function u1(Q){return Q&&Q.__esModule?Q:{default:Q}}function j1(Q){Q=unescape(encodeURIComponent(Q));let Z=[];for(let X=0;X<Q.length;++X)Z.push(Q.charCodeAt(X));return Z}var v1=D0.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",m1=D0.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function h1(Q,Z,X){function G(J,P,W,A){var Y;if(typeof J==="string")J=j1(J);if(typeof P==="string")P=(0,g1.default)(P);if(((Y=P)===null||Y===void 0?void 0:Y.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let M=new Uint8Array(16+J.length);if(M.set(P),M.set(J,P.length),M=X(M),M[6]=M[6]&15|Z,M[8]=M[8]&63|128,W){A=A||0;for(let L=0;L<16;++L)W[A+L]=M[L];return W}return(0,B1.unsafeStringify)(M)}try{G.name=Q}catch(J){}return G.DNS=v1,G.URL=m1,G}});var w0=F((H0)=>{Object.defineProperty(H0,"__esModule",{value:!0});H0.default=void 0;var d1=b1(_("node:crypto"));function b1(Q){return Q&&Q.__esModule?Q:{default:Q}}function k1(Q){if(Array.isArray(Q))Q=Buffer.from(Q);else if(typeof Q==="string")Q=Buffer.from(Q,"utf8");return d1.default.createHash("md5").update(Q).digest()}var W6=H0.default=k1});var V0=F((R0)=>{Object.defineProperty(R0,"__esModule",{value:!0});R0.default=void 0;var r1=L0(j()),c1=L0(w0());function L0(Q){return Q&&Q.__esModule?Q:{default:Q}}var n1=(0,r1.default)("v3",48,c1.default),F6=R0.default=n1});var E0=F((T0)=>{Object.defineProperty(T0,"__esModule",{value:!0});T0.default=void 0;var p1=i1(_("node:crypto"));function i1(Q){return Q&&Q.__esModule?Q:{default:Q}}var D6=T0.default={randomUUID:p1.default.randomUUID}});var x0=F((q0)=>{Object.defineProperty(q0,"__esModule",{value:!0});q0.default=void 0;var N0=_0(E0()),o1=_0(q()),a1=R();function _0(Q){return Q&&Q.__esModule?Q:{default:Q}}function t1(Q,Z,X){if(N0.default.randomUUID&&!Z&&!Q)return N0.default.randomUUID();Q=Q||{};let G=Q.random||(Q.rng||o1.default)();if(G[6]=G[6]&15|64,G[8]=G[8]&63|128,Z){X=X||0;for(let J=0;J<16;++J)Z[X+J]=G[J];return Z}return(0,a1.unsafeStringify)(G)}var H6=q0.default=t1});var I0=F(($0)=>{Object.defineProperty($0,"__esModule",{value:!0});$0.default=void 0;var s1=e1(_("node:crypto"));function e1(Q){return Q&&Q.__esModule?Q:{default:Q}}function Q5(Q){if(Array.isArray(Q))Q=Buffer.from(Q);else if(typeof Q==="string")Q=Buffer.from(Q,"utf8");return s1.default.createHash("sha1").update(Q).digest()}var w6=$0.default=Q5});var j0=F((g0)=>{Object.defineProperty(g0,"__esModule",{value:!0});g0.default=void 0;var Z5=B0(j()),G5=B0(I0());function B0(Q){return Q&&Q.__esModule?Q:{default:Q}}var X5=(0,Z5.default)("v5",80,G5.default),R6=g0.default=X5});var h0=F((m0)=>{Object.defineProperty(m0,"__esModule",{value:!0});m0.default=M5;var J5=R(),P5=v0(g()),A5=v0(u());function v0(Q){return Q&&Q.__esModule?Q:{default:Q}}function M5(Q={},Z,X=0){let G=(0,P5.default)({...Q,_v6:!0},new Uint8Array(16));if(G=(0,A5.default)(G),Z){for(let J=0;J<16;J++)Z[X+J]=G[J];return Z}return(0,J5.unsafeStringify)(G)}});var l0=F((y0)=>{Object.defineProperty(y0,"__esModule",{value:!0});y0.default=D5;var Y5=U5(T()),F5=R();function U5(Q){return Q&&Q.__esModule?Q:{default:Q}}function D5(Q){let Z=typeof Q==="string"?(0,Y5.default)(Q):Q,X=z5(Z);return typeof Q==="string"?(0,F5.unsafeStringify)(X):X}function z5(Q){return Uint8Array.of((Q[3]&15)<<4|Q[4]>>4&15,(Q[4]&15)<<4|(Q[5]&240)>>4,(Q[5]&15)<<4|Q[6]&15,Q[7],(Q[1]&15)<<4|(Q[2]&240)>>4,(Q[2]&15)<<4|(Q[3]&240)>>4,16|(Q[0]&240)>>4,(Q[0]&15)<<4|(Q[1]&240)>>4,Q[8],Q[9],Q[10],Q[11],Q[12],Q[13],Q[14],Q[15])}});var c0=F((k0)=>{Object.defineProperty(k0,"__esModule",{value:!0});k0.default=void 0;var O5=L5(q()),w5=R();function L5(Q){return Q&&Q.__esModule?Q:{default:Q}}var d0=null,b0=null,w=0;function R5(Q,Z,X){Q=Q||{};let G=Z&&X||0,J=Z||new Uint8Array(16),P=Q.random||(Q.rng||O5.default)(),W=Q.msecs!==void 0?Q.msecs:Date.now(),A=Q.seq!==void 0?Q.seq:null,Y=b0,M=d0;if(W>w&&Q.msecs===void 0){if(w=W,A!==null)Y=null,M=null}if(A!==null){if(A>2147483647)A=2147483647;Y=A>>>19&4095,M=A&524287}if(Y===null||M===null)Y=P[6]&127,Y=Y<<8|P[7],M=P[8]&63,M=M<<8|P[9],M=M<<5|P[10]>>>3;if(W+1e4>w&&A===null){if(++M>524287){if(M=0,++Y>4095)Y=0,w++}}else w=W;return b0=Y,d0=M,J[G++]=w/1099511627776&255,J[G++]=w/4294967296&255,J[G++]=w/16777216&255,J[G++]=w/65536&255,J[G++]=w/256&255,J[G++]=w&255,J[G++]=Y>>>4&15|112,J[G++]=Y&255,J[G++]=M>>>13&63|128,J[G++]=M>>>5&255,J[G++]=M<<3&255|P[10]&7,J[G++]=P[11],J[G++]=P[12],J[G++]=P[13],J[G++]=P[14],J[G++]=P[15],Z||(0,w5.unsafeStringify)(J)}var S6=k0.default=R5});var i0=F((n0)=>{Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var K5=V5(V());function V5(Q){return Q&&Q.__esModule?Q:{default:Q}}function T5(Q){if(!(0,K5.default)(Q))throw TypeError("Invalid UUID");return parseInt(Q.slice(14,15),16)}var N6=n0.default=T5});var o0=F((D)=>{Object.defineProperty(D,"__esModule",{value:!0});Object.defineProperty(D,"MAX",{enumerable:!0,get:function(){return S5.default}});Object.defineProperty(D,"NIL",{enumerable:!0,get:function(){return E5.default}});Object.defineProperty(D,"parse",{enumerable:!0,get:function(){return N5.default}});Object.defineProperty(D,"stringify",{enumerable:!0,get:function(){return _5.default}});Object.defineProperty(D,"v1",{enumerable:!0,get:function(){return q5.default}});Object.defineProperty(D,"v1ToV6",{enumerable:!0,get:function(){return f5.default}});Object.defineProperty(D,"v3",{enumerable:!0,get:function(){return x5.default}});Object.defineProperty(D,"v4",{enumerable:!0,get:function(){return $5.default}});Object.defineProperty(D,"v5",{enumerable:!0,get:function(){return C5.default}});Object.defineProperty(D,"v6",{enumerable:!0,get:function(){return I5.default}});Object.defineProperty(D,"v6ToV1",{enumerable:!0,get:function(){return B5.default}});Object.defineProperty(D,"v7",{enumerable:!0,get:function(){return g5.default}});Object.defineProperty(D,"validate",{enumerable:!0,get:function(){return u5.default}});Object.defineProperty(D,"version",{enumerable:!0,get:function(){return j5.default}});var S5=H(i()),E5=H(t()),N5=H(T()),_5=H(R()),q5=H(g()),f5=H(u()),x5=H(V0()),$5=H(x0()),C5=H(j0()),I5=H(h0()),B5=H(l0()),g5=H(c0()),u5=H(V()),j5=H(i0());function H(Q){return Q&&Q.__esModule?Q:{default:Q}}});var z=v5(o0(),1),f6=z.default.v1,x6=z.default.v1ToV6,$6=z.default.v3,C6=z.default.v4,m5=z.default.v5,a0=z.default.v6,I6=z.default.v6ToV1,B6=z.default.v7,g6=z.default.NIL,u6=z.default.MAX,j6=z.default.version,v6=z.default.validate,m6=z.default.stringify,h6=z.default.parse;function t0(Q){return a0({clockseq:Q})}var s0="__pregel_tasks",v="__error__",m="__scheduled__",h="__interrupt__",y="__resume__";var e0="[...]",h5="[Circular]",x=[],K=[];function y5(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function Q1(Q,Z,X,G){if(typeof G>"u")G=y5();d(Q,"",0,[],void 0,0,G);var J;try{if(K.length===0)J=JSON.stringify(Q,Z,X);else J=JSON.stringify(Q,l5(Z),X)}catch(W){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(x.length!==0){var P=x.pop();if(P.length===4)Object.defineProperty(P[0],P[1],P[3]);else P[0][P[1]]=P[2]}}return J}function l(Q,Z,X,G){var J=Object.getOwnPropertyDescriptor(G,X);if(J.get!==void 0)if(J.configurable)Object.defineProperty(G,X,{value:Q}),x.push([G,X,Z,J]);else K.push([Z,X,Q]);else G[X]=Q,x.push([G,X,Z])}function d(Q,Z,X,G,J,P,W){P+=1;var A;if(typeof Q==="object"&&Q!==null){for(A=0;A<G.length;A++)if(G[A]===Q){l(h5,Q,Z,J);return}if(typeof W.depthLimit<"u"&&P>W.depthLimit){l(e0,Q,Z,J);return}if(typeof W.edgesLimit<"u"&&X+1>W.edgesLimit){l(e0,Q,Z,J);return}if(G.push(Q),Array.isArray(Q))for(A=0;A<Q.length;A++)d(Q[A],A,A,G,Q,P,W);else{var Y=Object.keys(Q);for(A=0;A<Y.length;A++){var M=Y[A];d(Q[M],M,A,G,Q,P,W)}}G.pop()}}function l5(Q){return Q=typeof Q<"u"?Q:function(Z,X){return X},function(Z,X){if(K.length>0)for(var G=0;G<K.length;G++){var J=K[G];if(J[1]===Z&&J[0]===X){X=J[2],K.splice(G,1);break}}return Q.call(this,Z,X)}}import{load as d5}from"@langchain/core/load";function b5(Q){return Q!==null&&Q.lc===1&&Q.type==="constructor"&&Array.isArray(Q.id)}async function k(Q){if(Q&&typeof Q==="object")if(Array.isArray(Q))return await Promise.all(Q.map((X)=>k(X)));else{let Z={};for(let[X,G]of Object.entries(Q))Z[X]=await k(G);if(Z.lc===2&&Z.type==="undefined")return;else if(Z.lc===2&&Z.type==="constructor"&&Array.isArray(Z.id))try{let X=Z.id[Z.id.length-1],G;switch(X){case"Set":G=Set;break;case"Map":G=Map;break;case"RegExp":G=RegExp;break;case"Error":G=Error;break;default:return Z}if(Z.method)return G[Z.method](...Z.args||[]);else return new G(...Z.args||[])}catch(X){return Z}else if(b5(Z))return d5(JSON.stringify(Z));return Z}return Q}function b(Q,Z,X,G){return{lc:2,type:"constructor",id:[Q.name],method:Z??null,args:X??[],kwargs:G??{}}}function k5(Q){if(Q===void 0)return{lc:2,type:"undefined"};else if(Q instanceof Set||Q instanceof Map)return b(Q.constructor,void 0,[Array.from(Q)]);else if(Q instanceof RegExp)return b(RegExp,void 0,[Q.source,Q.flags]);else if(Q instanceof Error)return b(Q.constructor,void 0,[Q.message]);else if(Q?.lg_name==="Send")return{node:Q.node,args:Q.args};else return Q}var $=class{_dumps(Q){return new TextEncoder().encode(Q1(Q,(X,G)=>{return k5(G)}))}async dumpsTyped(Q){if(Q instanceof Uint8Array)return["bytes",Q];else return["json",this._dumps(Q)]}async _loads(Q){let Z=JSON.parse(Q);return k(Z)}async loadsTyped(Q,Z){if(Q==="bytes")return typeof Z==="string"?new TextEncoder().encode(Z):Z;else if(Q==="json")return this._loads(typeof Z==="string"?Z:new TextDecoder().decode(Z));else throw Error(`Unknown serialization type: ${Q}`)}};function r(Q){if(typeof Q!=="object"||Q===null)return Q;let Z=Array.isArray(Q)?[]:{};for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))Z[X]=r(Q[X]);return Z}function Z1(Q){return{v:Q.v,id:Q.id,ts:Q.ts,channel_values:{...Q.channel_values},channel_versions:{...Q.channel_versions},versions_seen:r(Q.versions_seen)}}var G1=class{serde=new $;constructor(Q){this.serde=Q||this.serde}async get(Q){let Z=await this.getTuple(Q);return Z?Z.checkpoint:void 0}getNextVersion(Q){if(typeof Q==="string")throw Error("Please override this method to use string versions.");return Q!==void 0&&typeof Q==="number"?Q+1:1}};function X1(Q,Z){if(typeof Q==="number"&&typeof Z==="number")return Math.sign(Q-Z);return String(Q).localeCompare(String(Z))}function J1(...Q){return Q.reduce((Z,X,G)=>{if(G===0)return X;return X1(Z,X)>=0?Z:X})}var P1={[v]:-1,[m]:-2,[h]:-3,[y]:-4};function A1(Q){return Q.configurable?.checkpoint_id||Q.configurable?.thread_ts||""}var c=class{serde=new $;constructor(Q){this.serde=Q||this.serde}};
|
|
2
2
|
export{t0 as W,s0 as X,Z1 as Y,G1 as Z,J1 as _,P1 as $,A1 as aa};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{createRequire as k}from"node:module";var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var l=(a,b,c)=>{c=a!=null?g(h(a)):{};let d=b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var m=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var n=(a,b)=>{for(var c in b)f(a,c,{get:b[c],enumerable:!0,configurable:!0,set:(d)=>b[c]=()=>d})};var o=(a,b)=>()=>(a&&(b=a(a=0)),b);var q=k(import.meta.url);
|
|
2
|
-
export{l as
|
|
2
|
+
export{l as ub,m as vb,n as wb,o as xb,q as yb};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as x,b as I}from"./chunk-hqyfg97v.js";import"./chunk-jsagr88c.js";import{W as C,X as T,Y as b,Z as w,_ as v}from"./chunk-jwzkek1t.js";import{sb as K}from"./chunk-fzn8xq6f.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};
|
|
1
|
+
import{a as x,b as I}from"./chunk-8g2zdcy0.js";import"./chunk-98f6hg43.js";import{W as C,X as T,Y as b,Z as w,_ as v}from"./chunk-jxsfzfac.js";import{ub as K}from"./chunk-kba8akjs.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};
|