zen-code 4.10.1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/app.js +151 -2699
  2. package/dist/chunk-069q9hkz.js +1 -0
  3. package/dist/chunk-06trk066.js +1 -0
  4. package/dist/chunk-0kfw8bwn.js +2 -0
  5. package/dist/chunk-0mq8786q.js +281 -0
  6. package/dist/chunk-0qz8rr2k.js +1 -0
  7. package/dist/chunk-1d47g6nc.js +2 -0
  8. package/dist/chunk-1gssqf6g.js +88 -0
  9. package/dist/chunk-1rcc9xzn.js +79 -0
  10. package/dist/chunk-2bjeg40f.js +1 -0
  11. package/dist/chunk-2gd8vzrf.js +2 -0
  12. package/dist/chunk-2gprcgep.js +6 -0
  13. package/dist/chunk-3k3c686f.js +1 -0
  14. package/dist/chunk-43h0n2td.js +1 -0
  15. package/dist/chunk-492hjs9k.js +26 -0
  16. package/dist/chunk-4eaqmt3c.js +16 -0
  17. package/dist/chunk-4fs853nh.js +2 -0
  18. package/dist/chunk-5fe27s34.js +2 -0
  19. package/dist/chunk-5hqvapp1.js +7 -0
  20. package/dist/chunk-6b3vfr39.js +2 -0
  21. package/dist/chunk-6j695pam.js +5 -0
  22. package/dist/chunk-6saqxa3z.js +2 -0
  23. package/dist/chunk-78ksrp8v.js +41 -0
  24. package/dist/chunk-7cx9kda0.js +228 -0
  25. package/dist/chunk-7qba2raw.js +2 -0
  26. package/dist/chunk-81b2s97q.js +1 -0
  27. package/dist/chunk-88w3txtb.js +160 -0
  28. package/dist/chunk-8ygdre0g.js +1 -0
  29. package/dist/chunk-9011y634.js +6 -0
  30. package/dist/chunk-9zcr1qh6.js +1 -0
  31. package/dist/chunk-a0nr8jva.js +2 -0
  32. package/dist/chunk-agevsn2e.js +1 -0
  33. package/dist/chunk-akc3s5aw.js +6 -0
  34. package/dist/chunk-b0beqmg2.js +2 -0
  35. package/dist/chunk-b175s7dm.js +1 -0
  36. package/dist/chunk-bk32cwxa.js +5 -0
  37. package/dist/chunk-bn077sjq.js +213 -0
  38. package/dist/chunk-c9yrpb3g.js +18 -0
  39. package/dist/chunk-cb0f54ar.js +3 -0
  40. package/dist/chunk-ctqtahz4.js +1 -0
  41. package/dist/chunk-d2sr8fnm.js +3 -0
  42. package/dist/chunk-d5gzkkgg.js +1 -0
  43. package/dist/chunk-dh2f4xyb.js +3 -0
  44. package/dist/chunk-dr32dt9y.js +1 -0
  45. package/dist/chunk-dv1vt080.js +1 -0
  46. package/dist/chunk-dz9sqfph.js +2 -0
  47. package/dist/chunk-e7mbewmw.js +1 -0
  48. package/dist/chunk-em03xqy9.js +1 -0
  49. package/dist/chunk-fkt5b511.js +1 -0
  50. package/dist/chunk-gphssgy6.js +2 -0
  51. package/dist/chunk-h2hk7vx4.js +1 -0
  52. package/dist/chunk-h7ypcqp3.js +279 -0
  53. package/dist/chunk-j8tq0e8m.js +2 -0
  54. package/dist/chunk-jd1razfg.js +91 -0
  55. package/dist/chunk-jhxvctg5.js +8 -0
  56. package/dist/chunk-kada5fyh.js +1 -0
  57. package/dist/chunk-kgc6ws03.js +1 -0
  58. package/dist/chunk-mk8ggmt8.js +17 -0
  59. package/dist/chunk-mv5m8bf4.js +140 -0
  60. package/dist/chunk-mv8a5svx.js +1 -0
  61. package/dist/chunk-n61yv4t5.js +2 -0
  62. package/dist/chunk-nt2yp4jh.js +1 -0
  63. package/dist/chunk-p7ew4trx.js +1 -0
  64. package/dist/chunk-pgnhcznr.js +4 -0
  65. package/dist/chunk-q8cfxky4.js +8 -0
  66. package/dist/chunk-q8zsxwd8.js +81 -0
  67. package/dist/chunk-qfa5v4n5.js +1 -0
  68. package/dist/chunk-qhzztj83.js +1 -0
  69. package/dist/chunk-snmkgfbe.js +15 -0
  70. package/dist/chunk-ss4bh5wb.js +2 -0
  71. package/dist/chunk-sv0k2v66.js +1 -0
  72. package/dist/chunk-tbav8trq.js +23 -0
  73. package/dist/chunk-tmyzfvsy.js +1 -0
  74. package/dist/chunk-ts4jreym.js +7 -0
  75. package/dist/chunk-tws3wcnm.js +2 -0
  76. package/dist/chunk-v0e9bsvt.js +89 -0
  77. package/dist/chunk-vwj4n000.js +4 -0
  78. package/dist/chunk-wd6s7gg7.js +175 -0
  79. package/dist/chunk-y524zd2h.js +54 -0
  80. package/dist/chunk-yb71zqvt.js +2 -0
  81. package/dist/chunk-yejgw2hm.js +112 -0
  82. package/dist/chunk-yfjs6pf8.js +3 -0
  83. package/dist/chunk-zhqdp4ak.js +2 -0
  84. package/dist/chunk-zkd3m39v.js +1 -0
  85. package/dist/cli.js +1 -3116
  86. package/dist/nonInteractive.js +180 -1950
  87. package/dist/zen-core.js +644 -0
  88. package/dist/zen-keyboard.js +3 -358
  89. package/package.json +5 -3
@@ -0,0 +1,81 @@
1
+ import{Yd as q,fe as D}from"./chunk-vwj4n000.js";import{Ag as _,Cg as b,Dg as C,Eg as f,sg as N,ug as Q,zg as x}from"./chunk-88w3txtb.js";import"./chunk-v0e9bsvt.js";import"./chunk-jhxvctg5.js";import"./chunk-bk32cwxa.js";import"./chunk-qfa5v4n5.js";import"./chunk-78ksrp8v.js";import"./chunk-yb71zqvt.js";import{$l as j,Wl as m}from"./chunk-4fs853nh.js";var K={maxRetries:3,baseDelayMs:100,nonRetryablePatterns:["database disk image is malformed","database is malformed","cannot rollback","no transaction is active","database or disk is full"],isRetryableError:(H)=>{let Z=H?.message?.toLowerCase()||"";for(let B of K.nonRetryablePatterns)if(Z.includes(B.toLowerCase()))return!1;return Z.includes("sqlite_busy")||Z.includes("database is locked")||Z==="sqlite_busy"||Z==="database is locked"}};async function R(H,Z){let B=null;for(let $=0;$<K.maxRetries;$++)try{return await H()}catch(J){B=J;let U=J?.message?.toLowerCase()||"";if(!K.isRetryableError(J)){if(U.includes("malformed")){let M=Error(`SQLite database is corrupted: ${J.message}
2
+
3
+ Context: ${Z||"unknown"}
4
+
5
+ Possible causes:
6
+ 1. Database file was manually deleted or modified
7
+ 2. Disk I/O errors during write operations
8
+ 3. Concurrent access without proper locking
9
+
10
+ Recovery options:
11
+ - Delete the database file to start fresh (data will be lost)
12
+ - Use SQLite recovery tools: sqlite3 <db> ".recover" > recover.sql
13
+ - Switch to PostgreSQL/Redis for production use`);throw M.name="SQLiteCorruptError",M.cause=J,M}throw J}if($<K.maxRetries-1){let M=K.baseDelayMs*Math.pow(2,$);console.warn(`SQLite lock detected${Z?` (${Z})`:""}, retrying in ${M}ms (attempt ${$+1}/${K.maxRetries})`),await new Promise((X)=>setTimeout(X,M))}}throw B}function T(H){if(H===null||typeof H!=="object")return JSON.stringify(H);if(Array.isArray(H))return JSON.stringify(H.map(($)=>T($)));let Z={},B=Object.keys(H).sort();for(let $ of B)Z[$]=H[$];return JSON.stringify(Z,($,J)=>{if(J!==null&&typeof J==="object"&&!Array.isArray(J)){let U={},M=Object.keys(J).sort();for(let X of M)U[X]=J[X];return U}return J})}class E extends _{db;isSetup;constructor(H,Z){super(Z);this.db=new q({dialect:H}),this.isSetup=!1}static async fromConnStringAsync(H){let Z;if(globalThis.Bun&&!process.env.DISABLE_BUN_SQLITE){console.log("LG | Using BunSqliteDialect "+H);let{BunSqliteDialect:B}=await import("./chunk-0qz8rr2k.js");Z=new E(new B({url:H}))}else{console.log("LG | Using NodeWasmDialect");let{default:B}=await import("./chunk-069q9hkz.js").then((m)=>m(m.default,1)),{NodeWasmDialect:$}=await import("./chunk-b175s7dm.js");console.log(H);let J=new $({database:new B.Database(H)});Z=new E(J)}return await Z.setup(),Z}async setup(){if(this.isSetup)return;await D`PRAGMA busy_timeout = 5000`.execute(this.db),await D`PRAGMA journal_mode = WAL`.execute(this.db),await D`PRAGMA synchronous = NORMAL`.execute(this.db),await D`PRAGMA wal_autocheckpoint = 1000`.execute(this.db),await D`
14
+ CREATE TABLE IF NOT EXISTS shallow_checkpoints (
15
+ thread_id TEXT NOT NULL,
16
+ checkpoint_ns TEXT NOT NULL DEFAULT '',
17
+ checkpoint_id TEXT NOT NULL,
18
+ parent_checkpoint_id TEXT,
19
+ type TEXT,
20
+ checkpoint BLOB,
21
+ metadata BLOB,
22
+ checkpoint_ts INTEGER NOT NULL DEFAULT 0,
23
+ PRIMARY KEY (thread_id, checkpoint_ns)
24
+ )`.execute(this.db),await D`
25
+ CREATE INDEX IF NOT EXISTS idx_shallow_checkpoints_ts
26
+ ON shallow_checkpoints(checkpoint_ts DESC)`.execute(this.db),await D`
27
+ CREATE TABLE IF NOT EXISTS writes (
28
+ thread_id TEXT NOT NULL,
29
+ checkpoint_ns TEXT NOT NULL DEFAULT '',
30
+ checkpoint_id TEXT NOT NULL,
31
+ task_id TEXT NOT NULL,
32
+ idx INTEGER NOT NULL,
33
+ channel TEXT NOT NULL,
34
+ type TEXT,
35
+ value BLOB,
36
+ PRIMARY KEY (thread_id, checkpoint_ns, checkpoint_id, task_id, idx)
37
+ )`.execute(this.db),this.isSetup=!0}async get(H){return(await this.getTuple(H))?.checkpoint}async getTuple(H){await this.setup();let Z=H.configurable?.thread_id,B=H.configurable?.checkpoint_ns??"",$=f(H);if(Z===void 0)return;let J=this.db.selectFrom("shallow_checkpoints").select(["thread_id","checkpoint_ns","checkpoint_id","parent_checkpoint_id","type","checkpoint","metadata","checkpoint_ts",D`(
38
+ SELECT json_group_array(
39
+ json_object(
40
+ 'task_id', pw.task_id,
41
+ 'channel', pw.channel,
42
+ 'type', pw.type,
43
+ 'value', CAST(pw.value AS TEXT)
44
+ )
45
+ )
46
+ FROM writes as pw
47
+ WHERE pw.thread_id = shallow_checkpoints.thread_id
48
+ AND pw.checkpoint_ns = shallow_checkpoints.checkpoint_ns
49
+ AND pw.checkpoint_id = shallow_checkpoints.checkpoint_id
50
+ )`.as("pending_writes"),D`(
51
+ SELECT json_group_array(
52
+ json_object(
53
+ 'type', ps.type,
54
+ 'value', CAST(ps.value AS TEXT)
55
+ )
56
+ )
57
+ FROM writes as ps
58
+ WHERE ps.thread_id = shallow_checkpoints.thread_id
59
+ AND ps.checkpoint_ns = shallow_checkpoints.checkpoint_ns
60
+ AND ps.checkpoint_id = shallow_checkpoints.parent_checkpoint_id
61
+ AND ps.channel = ${Q}
62
+ ORDER BY ps.idx
63
+ )`.as("pending_sends")]).where("thread_id","=",Z).where("checkpoint_ns","=",B);if($)J=J.where("checkpoint_id","=",$);let U=await J.executeTakeFirst();if(!U)return;if($&&U.checkpoint_id!==$)return;let M=await Promise.all(JSON.parse(U.pending_writes||"[]").map(async(A)=>{return[A.task_id,A.channel,await this.serde.loadsTyped(A.type??"json",A.value??"")]})),X=await this.serde.loadsTyped(U.type??"json",new TextDecoder().decode(U.checkpoint));if(X.v<4&&U.parent_checkpoint_id!=null)await this.migratePendingSends(X,U.thread_id,U.parent_checkpoint_id);let W={configurable:{thread_id:U.thread_id,checkpoint_ns:U.checkpoint_ns,checkpoint_id:U.checkpoint_id}};return{checkpoint:X,config:W,metadata:await this.serde.loadsTyped(U.type??"json",new TextDecoder().decode(U.metadata)),parentConfig:U.parent_checkpoint_id?{configurable:{thread_id:U.thread_id,checkpoint_ns:U.checkpoint_ns,checkpoint_id:U.parent_checkpoint_id}}:void 0,pendingWrites:M}}async*list(H,Z){await this.setup();let{limit:B,before:$,filter:J}=Z??{},U=H.configurable?.thread_id,M=H.configurable?.checkpoint_ns,X=this.db.selectFrom("shallow_checkpoints").select(["thread_id","checkpoint_ns","checkpoint_id","parent_checkpoint_id","type","checkpoint","metadata","checkpoint_ts",D`(
64
+ SELECT json_group_array(
65
+ json_object(
66
+ 'task_id', pw.task_id,
67
+ 'channel', pw.channel,
68
+ 'type', pw.type,
69
+ 'value', CAST(pw.value AS TEXT)
70
+ )
71
+ )
72
+ FROM writes as pw
73
+ WHERE pw.thread_id = shallow_checkpoints.thread_id
74
+ AND pw.checkpoint_ns = shallow_checkpoints.checkpoint_ns
75
+ AND pw.checkpoint_id = shallow_checkpoints.checkpoint_id
76
+ )`.as("pending_writes")]);if(U)X=X.where("thread_id","=",U);if(M!==void 0&&M!==null)X=X.where("checkpoint_ns","=",M);if($?.configurable?.checkpoint_id!==void 0)X=X.where("checkpoint_id","<",$.configurable.checkpoint_id);X=X.orderBy("checkpoint_ts","desc");let W=await X.execute(),A=0;for(let z of W){let V=await this.serde.loadsTyped(z.type??"json",new TextDecoder().decode(z.metadata));if(J&&!this._checkMetadataFilterMatch(V,J))continue;if(B!==void 0&&A>=B)return;let Y=await Promise.all(JSON.parse(z.pending_writes||"[]").map(async(F)=>{return[F.task_id,F.channel,await this.serde.loadsTyped(F.type??"json",F.value??"")]})),G=await this.serde.loadsTyped(z.type??"json",new TextDecoder().decode(z.checkpoint));if(G.v<4&&z.parent_checkpoint_id!=null)await this.migratePendingSends(G,z.thread_id,z.parent_checkpoint_id);A++,yield{config:{configurable:{thread_id:z.thread_id,checkpoint_ns:z.checkpoint_ns,checkpoint_id:z.checkpoint_id}},checkpoint:G,metadata:V,parentConfig:z.parent_checkpoint_id?{configurable:{thread_id:z.thread_id,checkpoint_ns:z.checkpoint_ns,checkpoint_id:z.parent_checkpoint_id}}:void 0,pendingWrites:Y}}}_checkMetadataFilterMatch(H,Z){for(let[B,$]of Object.entries(Z)){let J=H?.[B];if($===null){if(!(B in(H||{}))||J!==null)return!1}else if(typeof $==="object"&&!Array.isArray($)){if(typeof J!=="object"||J===null)return!1;if(T($)!==T(J))return!1}else if(J!==$)return!1}return!0}async put(H,Z,B,$){await this.setup();let J=H.configurable?.thread_id,U=H.configurable?.checkpoint_ns??"",M=H.configurable?.checkpoint_id;if(!J)throw Error("thread_id is required");let X=Z.id||N(0),W=x(Z),[[A,z],[V,Y]]=await Promise.all([this.serde.dumpsTyped(W),this.serde.dumpsTyped(B)]);if(A!==V)throw Error("Failed to serialize checkpoint and metadata to the same type.");let G=J,F=U,P=X;return await R(async()=>{await this.db.transaction().execute(async(L)=>{let O=await L.selectFrom("shallow_checkpoints").select(["checkpoint_id"]).where("thread_id","=",G).where("checkpoint_ns","=",F).executeTakeFirst();if(O&&O.checkpoint_id!==P)await L.deleteFrom("writes").where("thread_id","=",G).where("checkpoint_ns","=",F).where("checkpoint_id","=",O.checkpoint_id).execute();await L.insertInto("shallow_checkpoints").values({thread_id:G,checkpoint_ns:F,checkpoint_id:P,parent_checkpoint_id:M??null,type:A,checkpoint:new Uint8Array(Buffer.from(z)),metadata:new Uint8Array(Buffer.from(Y)),checkpoint_ts:Date.now()}).onConflict((v)=>v.columns(["thread_id","checkpoint_ns"]).doUpdateSet({checkpoint_id:P,parent_checkpoint_id:M??null,type:A,checkpoint:new Uint8Array(Buffer.from(z)),metadata:new Uint8Array(Buffer.from(Y)),checkpoint_ts:Date.now()})).execute()})},`put(${J}/${X})`),{configurable:{thread_id:J,checkpoint_ns:U,checkpoint_id:X}}}async putWrites(H,Z,B){await this.setup();let $=H.configurable?.thread_id,J=H.configurable?.checkpoint_ns??"",U=H.configurable?.checkpoint_id;if(!$||!U)throw Error("thread_id and checkpoint_id are required");let M=await Promise.all(Z.map(async(X,W)=>{let[A,z]=await this.serde.dumpsTyped(X[1]);return{thread_id:$,checkpoint_ns:J,checkpoint_id:U,task_id:B,idx:C[X[0]]??W,channel:X[0],type:A,value:new Uint8Array(Buffer.from(z))}}));if(M.length===0)return;await R(async()=>{await this.db.transaction().execute(async(X)=>{await X.deleteFrom("writes").where("thread_id","=",$).where("checkpoint_ns","=",J).where("checkpoint_id","=",U).where("task_id","=",B).execute();for(let W of M)await X.insertInto("writes").values(W).execute()})},`putWrites(${$}/${U}/${B})`)}async deleteThread(H){await R(async()=>{await this.db.transaction().execute(async(Z)=>{await Z.deleteFrom("shallow_checkpoints").where("thread_id","=",H).execute(),await Z.deleteFrom("writes").where("thread_id","=",H).execute()})},`deleteThread(${H})`)}async migratePendingSends(H,Z,B){let $=await this.db.selectFrom("writes as ps").select(["ps.checkpoint_id",D`json_group_array(
77
+ json_object(
78
+ 'type', ps.type,
79
+ 'value', CAST(ps.value AS TEXT)
80
+ )
81
+ )`.as("pending_sends")]).where("ps.thread_id","=",Z).where("ps.checkpoint_id","=",B).where("ps.channel","=",Q).orderBy("ps.idx").executeTakeFirst();if(!$)return;let J=H;J.channel_values??={},J.channel_values[Q]=await Promise.all(JSON.parse($.pending_sends||"[]").map(({type:U,value:M})=>this.serde.loadsTyped(U,M))),J.channel_versions[Q]=Object.keys(H.channel_versions).length>0?b(...Object.values(H.channel_versions)):this.getNextVersion(void 0)}}export{E as SqliteShallowSaver};
@@ -0,0 +1 @@
1
+ import{Zl as uq}from"./chunk-4fs853nh.js";var I$={};uq(I$,{void:()=>Oq,util:()=>R,unknown:()=>bq,union:()=>Uq,undefined:()=>wq,tuple:()=>Lq,transformer:()=>Pq,symbol:()=>Bq,string:()=>k$,strictObject:()=>Vq,setErrorMap:()=>T$,set:()=>Dq,record:()=>Nq,quotelessJson:()=>P$,promise:()=>Iq,preprocess:()=>lq,pipeline:()=>xq,ostring:()=>mq,optional:()=>hq,onumber:()=>yq,oboolean:()=>Zq,objectUtil:()=>R$,object:()=>Eq,number:()=>C$,nullable:()=>Tq,null:()=>zq,never:()=>Sq,nativeEnum:()=>gq,nan:()=>Qq,map:()=>fq,makeIssue:()=>J$,literal:()=>kq,lazy:()=>Kq,late:()=>Jq,isValid:()=>h,isDirty:()=>j$,isAsync:()=>i,isAborted:()=>z$,intersection:()=>vq,instanceof:()=>Xq,getParsedType:()=>K,getErrorMap:()=>p,function:()=>Fq,enum:()=>Cq,effect:()=>Pq,discriminatedUnion:()=>Aq,defaultErrorMap:()=>g,datetimeRegex:()=>D$,date:()=>Mq,custom:()=>K$,coerce:()=>nq,boolean:()=>g$,bigint:()=>Yq,array:()=>Rq,any:()=>jq,addIssueToContext:()=>B,ZodVoid:()=>Q$,ZodUnknown:()=>T,ZodUnion:()=>t,ZodUndefined:()=>a,ZodType:()=>O,ZodTuple:()=>C,ZodTransformer:()=>F,ZodSymbol:()=>X$,ZodString:()=>L,ZodSet:()=>c,ZodSchema:()=>O,ZodRecord:()=>Y$,ZodReadonly:()=>H$,ZodPromise:()=>u,ZodPipeline:()=>w$,ZodParsedType:()=>Q,ZodOptional:()=>f,ZodObject:()=>E,ZodNumber:()=>l,ZodNullable:()=>P,ZodNull:()=>s,ZodNever:()=>k,ZodNativeEnum:()=>_$,ZodNaN:()=>B$,ZodMap:()=>M$,ZodLiteral:()=>q$,ZodLazy:()=>$$,ZodIssueCode:()=>X,ZodIntersection:()=>e,ZodFunction:()=>o,ZodFirstPartyTypeKind:()=>j,ZodError:()=>A,ZodEnum:()=>m,ZodEffects:()=>F,ZodDiscriminatedUnion:()=>b$,ZodDefault:()=>W$,ZodDate:()=>Z,ZodCatch:()=>G$,ZodBranded:()=>S$,ZodBoolean:()=>d,ZodBigInt:()=>x,ZodArray:()=>N,ZodAny:()=>n,Schema:()=>O,ParseStatus:()=>V,OK:()=>U,NEVER:()=>cq,INVALID:()=>z,EMPTY_PATH:()=>l$,DIRTY:()=>y,BRAND:()=>Hq});var R;(function($){$.assertEqual=(W)=>{};function q(W){}$.assertIs=q;function _(W){throw Error()}$.assertNever=_,$.arrayToEnum=(W)=>{let J={};for(let H of W)J[H]=H;return J},$.getValidEnumValues=(W)=>{let J=$.objectKeys(W).filter((Y)=>typeof W[W[Y]]!=="number"),H={};for(let Y of J)H[Y]=W[Y];return $.objectValues(H)},$.objectValues=(W)=>{return $.objectKeys(W).map(function(J){return W[J]})},$.objectKeys=typeof Object.keys==="function"?(W)=>Object.keys(W):(W)=>{let J=[];for(let H in W)if(Object.prototype.hasOwnProperty.call(W,H))J.push(H);return J},$.find=(W,J)=>{for(let H of W)if(J(H))return H;return},$.isInteger=typeof Number.isInteger==="function"?(W)=>Number.isInteger(W):(W)=>typeof W==="number"&&Number.isFinite(W)&&Math.floor(W)===W;function G(W,J=" | "){return W.map((H)=>typeof H==="string"?`'${H}'`:H).join(J)}$.joinValues=G,$.jsonStringifyReplacer=(W,J)=>{if(typeof J==="bigint")return J.toString();return J}})(R||(R={}));var R$;(function($){$.mergeShapes=(q,_)=>{return{...q,..._}}})(R$||(R$={}));var Q=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),K=($)=>{switch(typeof $){case"undefined":return Q.undefined;case"string":return Q.string;case"number":return Number.isNaN($)?Q.nan:Q.number;case"boolean":return Q.boolean;case"function":return Q.function;case"bigint":return Q.bigint;case"symbol":return Q.symbol;case"object":if(Array.isArray($))return Q.array;if($===null)return Q.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return Q.promise;if(typeof Map<"u"&&$ instanceof Map)return Q.map;if(typeof Set<"u"&&$ instanceof Set)return Q.set;if(typeof Date<"u"&&$ instanceof Date)return Q.date;return Q.object;default:return Q.unknown}};var X=R.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),P$=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class A extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(_)=>{this.issues=[...this.issues,_]},this.addIssues=(_=[])=>{this.issues=[...this.issues,..._]};let q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,q);else this.__proto__=q;this.name="ZodError",this.issues=$}format($){let q=$||function(W){return W.message},_={_errors:[]},G=(W)=>{for(let J of W.issues)if(J.code==="invalid_union")J.unionErrors.map(G);else if(J.code==="invalid_return_type")G(J.returnTypeError);else if(J.code==="invalid_arguments")G(J.argumentsError);else if(J.path.length===0)_._errors.push(q(J));else{let H=_,Y=0;while(Y<J.path.length){let M=J.path[Y];if(Y!==J.path.length-1)H[M]=H[M]||{_errors:[]};else H[M]=H[M]||{_errors:[]},H[M]._errors.push(q(J));H=H[M],Y++}}};return G(this),_}static assert($){if(!($ instanceof A))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(q)=>q.message){let q=Object.create(null),_=[];for(let G of this.issues)if(G.path.length>0){let W=G.path[0];q[W]=q[W]||[],q[W].push($(G))}else _.push($(G));return{formErrors:_,fieldErrors:q}}get formErrors(){return this.flatten()}}A.create=($)=>{return new A($)};var h$=($,q)=>{let _;switch($.code){case X.invalid_type:if($.received===Q.undefined)_="Required";else _=`Expected ${$.expected}, received ${$.received}`;break;case X.invalid_literal:_=`Invalid literal value, expected ${JSON.stringify($.expected,R.jsonStringifyReplacer)}`;break;case X.unrecognized_keys:_=`Unrecognized key(s) in object: ${R.joinValues($.keys,", ")}`;break;case X.invalid_union:_="Invalid input";break;case X.invalid_union_discriminator:_=`Invalid discriminator value. Expected ${R.joinValues($.options)}`;break;case X.invalid_enum_value:_=`Invalid enum value. Expected ${R.joinValues($.options)}, received '${$.received}'`;break;case X.invalid_arguments:_="Invalid function arguments";break;case X.invalid_return_type:_="Invalid function return type";break;case X.invalid_date:_="Invalid date";break;case X.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(_=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")_=`${_} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)_=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)_=`Invalid input: must end with "${$.validation.endsWith}"`;else R.assertNever($.validation);else if($.validation!=="regex")_=`Invalid ${$.validation}`;else _="Invalid";break;case X.too_small:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")_=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else _="Invalid input";break;case X.too_big:if($.type==="array")_=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")_=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")_=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")_=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")_=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else _="Invalid input";break;case X.custom:_="Invalid input";break;case X.invalid_intersection_types:_="Intersection results could not be merged";break;case X.not_multiple_of:_=`Number must be a multiple of ${$.multipleOf}`;break;case X.not_finite:_="Number must be finite";break;default:_=q.defaultError,R.assertNever($)}return{message:_}},g=h$;var A$=g;function T$($){A$=$}function p(){return A$}var J$=($)=>{let{data:q,path:_,errorMaps:G,issueData:W}=$,J=[..._,...W.path||[]],H={...W,path:J};if(W.message!==void 0)return{...W,path:J,message:W.message};let Y="",M=G.filter((S)=>!!S).slice().reverse();for(let S of M)Y=S(H,{data:q,defaultError:Y}).message;return{...W,path:J,message:Y}},l$=[];function B($,q){let _=p(),G=J$({issueData:q,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,_,_===g?void 0:g].filter((W)=>!!W)});$.common.issues.push(G)}class V{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,q){let _=[];for(let G of q){if(G.status==="aborted")return z;if(G.status==="dirty")$.dirty();_.push(G.value)}return{status:$.value,value:_}}static async mergeObjectAsync($,q){let _=[];for(let G of q){let W=await G.key,J=await G.value;_.push({key:W,value:J})}return V.mergeObjectSync($,_)}static mergeObjectSync($,q){let _={};for(let G of q){let{key:W,value:J}=G;if(W.status==="aborted")return z;if(J.status==="aborted")return z;if(W.status==="dirty")$.dirty();if(J.status==="dirty")$.dirty();if(W.value!=="__proto__"&&(typeof J.value<"u"||G.alwaysSet))_[W.value]=J.value}return{status:$.value,value:_}}}var z=Object.freeze({status:"aborted"}),y=($)=>({status:"dirty",value:$}),U=($)=>({status:"valid",value:$}),z$=($)=>$.status==="aborted",j$=($)=>$.status==="dirty",h=($)=>$.status==="valid",i=($)=>typeof Promise<"u"&&$ instanceof Promise;var w;(function($){$.errToObj=(q)=>typeof q==="string"?{message:q}:q||{},$.toString=(q)=>typeof q==="string"?q:q?.message})(w||(w={}));class D{constructor($,q,_,G){this._cachedPath=[],this.parent=$,this.data=q,this._path=_,this._key=G}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var v$=($,q)=>{if(h(q))return{success:!0,data:q.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let _=new A($.common.issues);return this._error=_,this._error}}}};function b($){if(!$)return{};let{errorMap:q,invalid_type_error:_,required_error:G,description:W}=$;if(q&&(_||G))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(q)return{errorMap:q,description:W};return{errorMap:(H,Y)=>{let{message:M}=$;if(H.code==="invalid_enum_value")return{message:M??Y.defaultError};if(typeof Y.data>"u")return{message:M??G??Y.defaultError};if(H.code!=="invalid_type")return{message:Y.defaultError};return{message:M??_??Y.defaultError}},description:W}}class O{get description(){return this._def.description}_getType($){return K($.data)}_getOrReturnCtx($,q){return q||{common:$.parent.common,data:$.data,parsedType:K($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new V,ctx:{common:$.parent.common,data:$.data,parsedType:K($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let q=this._parse($);if(i(q))throw Error("Synchronous parse encountered promise.");return q}_parseAsync($){let q=this._parse($);return Promise.resolve(q)}parse($,q){let _=this.safeParse($,q);if(_.success)return _.data;throw _.error}safeParse($,q){let _={common:{issues:[],async:q?.async??!1,contextualErrorMap:q?.errorMap},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:K($)},G=this._parseSync({data:$,path:_.path,parent:_});return v$(_,G)}"~validate"($){let q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:K($)};if(!this["~standard"].async)try{let _=this._parseSync({data:$,path:[],parent:q});return h(_)?{value:_.value}:{issues:q.common.issues}}catch(_){if(_?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;q.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:q}).then((_)=>h(_)?{value:_.value}:{issues:q.common.issues})}async parseAsync($,q){let _=await this.safeParseAsync($,q);if(_.success)return _.data;throw _.error}async safeParseAsync($,q){let _={common:{issues:[],contextualErrorMap:q?.errorMap,async:!0},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:K($)},G=this._parse({data:$,path:_.path,parent:_}),W=await(i(G)?G:Promise.resolve(G));return v$(_,W)}refine($,q){let _=(G)=>{if(typeof q==="string"||typeof q>"u")return{message:q};else if(typeof q==="function")return q(G);else return q};return this._refinement((G,W)=>{let J=$(G),H=()=>W.addIssue({code:X.custom,..._(G)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((Y)=>{if(!Y)return H(),!1;else return!0});if(!J)return H(),!1;else return!0})}refinement($,q){return this._refinement((_,G)=>{if(!$(_))return G.addIssue(typeof q==="function"?q(_,G):q),!1;else return!0})}_refinement($){return new F({schema:this,typeName:j.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(q)=>this["~validate"](q)}}optional(){return f.create(this,this._def)}nullable(){return P.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N.create(this)}promise(){return u.create(this,this._def)}or($){return t.create([this,$],this._def)}and($){return e.create(this,$,this._def)}transform($){return new F({...b(this._def),schema:this,typeName:j.ZodEffects,effect:{type:"transform",transform:$}})}default($){let q=typeof $==="function"?$:()=>$;return new W$({...b(this._def),innerType:this,defaultValue:q,typeName:j.ZodDefault})}brand(){return new S$({typeName:j.ZodBranded,type:this,...b(this._def)})}catch($){let q=typeof $==="function"?$:()=>$;return new G$({...b(this._def),innerType:this,catchValue:q,typeName:j.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return w$.create(this,$)}readonly(){return H$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var x$=/^c[^\s-]{8,}$/i,m$=/^[0-9a-z]+$/,y$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Z$=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,n$=/^[a-z0-9_-]{21}$/i,c$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,u$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,p$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,i$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E$,r$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,o$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,d$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,a$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,s$=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,t$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,N$="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",e$=new RegExp(`^${N$}$`);function f$($){let q="[0-5]\\d";if($.precision)q=`${q}\\.\\d{${$.precision}}`;else if($.precision==null)q=`${q}(\\.\\d+)?`;let _=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${q})${_}`}function $q($){return new RegExp(`^${f$($)}$`)}function D$($){let q=`${N$}T${f$($)}`,_=[];if(_.push($.local?"Z?":"Z"),$.offset)_.push("([+-]\\d{2}:?\\d{2})");return q=`${q}(${_.join("|")})`,new RegExp(`^${q}$`)}function qq($,q){if((q==="v4"||!q)&&r$.test($))return!0;if((q==="v6"||!q)&&d$.test($))return!0;return!1}function _q($,q){if(!c$.test($))return!1;try{let[_]=$.split(".");if(!_)return!1;let G=_.replace(/-/g,"+").replace(/_/g,"/").padEnd(_.length+(4-_.length%4)%4,"="),W=JSON.parse(atob(G));if(typeof W!=="object"||W===null)return!1;if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(q&&W.alg!==q)return!1;return!0}catch{return!1}}function Wq($,q){if((q==="v4"||!q)&&o$.test($))return!0;if((q==="v6"||!q)&&a$.test($))return!0;return!1}class L extends O{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==Q.string){let W=this._getOrReturnCtx($);return B(W,{code:X.invalid_type,expected:Q.string,received:W.parsedType}),z}let _=new V,G=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.length<W.value)G=this._getOrReturnCtx($,G),B(G,{code:X.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),_.dirty()}else if(W.kind==="max"){if($.data.length>W.value)G=this._getOrReturnCtx($,G),B(G,{code:X.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),_.dirty()}else if(W.kind==="length"){let J=$.data.length>W.value,H=$.data.length<W.value;if(J||H){if(G=this._getOrReturnCtx($,G),J)B(G,{code:X.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});else if(H)B(G,{code:X.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});_.dirty()}}else if(W.kind==="email"){if(!p$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"email",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="emoji"){if(!E$)E$=new RegExp(i$,"u");if(!E$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"emoji",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="uuid"){if(!Z$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"uuid",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="nanoid"){if(!n$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"nanoid",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="cuid"){if(!x$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"cuid",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="cuid2"){if(!m$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"cuid2",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="ulid"){if(!y$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"ulid",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="url")try{new URL($.data)}catch{G=this._getOrReturnCtx($,G),B(G,{validation:"url",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="regex"){if(W.regex.lastIndex=0,!W.regex.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"regex",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="trim")$.data=$.data.trim();else if(W.kind==="includes"){if(!$.data.includes(W.value,W.position))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:{includes:W.value,position:W.position},message:W.message}),_.dirty()}else if(W.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(W.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(W.kind==="startsWith"){if(!$.data.startsWith(W.value))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:{startsWith:W.value},message:W.message}),_.dirty()}else if(W.kind==="endsWith"){if(!$.data.endsWith(W.value))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:{endsWith:W.value},message:W.message}),_.dirty()}else if(W.kind==="datetime"){if(!D$(W).test($.data))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:"datetime",message:W.message}),_.dirty()}else if(W.kind==="date"){if(!e$.test($.data))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:"date",message:W.message}),_.dirty()}else if(W.kind==="time"){if(!$q(W).test($.data))G=this._getOrReturnCtx($,G),B(G,{code:X.invalid_string,validation:"time",message:W.message}),_.dirty()}else if(W.kind==="duration"){if(!u$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"duration",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="ip"){if(!qq($.data,W.version))G=this._getOrReturnCtx($,G),B(G,{validation:"ip",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="jwt"){if(!_q($.data,W.alg))G=this._getOrReturnCtx($,G),B(G,{validation:"jwt",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="cidr"){if(!Wq($.data,W.version))G=this._getOrReturnCtx($,G),B(G,{validation:"cidr",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="base64"){if(!s$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"base64",code:X.invalid_string,message:W.message}),_.dirty()}else if(W.kind==="base64url"){if(!t$.test($.data))G=this._getOrReturnCtx($,G),B(G,{validation:"base64url",code:X.invalid_string,message:W.message}),_.dirty()}else R.assertNever(W);return{status:_.value,value:$.data}}_regex($,q,_){return this.refinement((G)=>$.test(G),{validation:q,code:X.invalid_string,...w.errToObj(_)})}_addCheck($){return new L({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...w.errToObj($)})}url($){return this._addCheck({kind:"url",...w.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...w.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...w.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...w.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...w.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...w.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...w.errToObj($)})}base64($){return this._addCheck({kind:"base64",...w.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...w.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...w.errToObj($)})}ip($){return this._addCheck({kind:"ip",...w.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...w.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...w.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...w.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...w.errToObj($)})}regex($,q){return this._addCheck({kind:"regex",regex:$,...w.errToObj(q)})}includes($,q){return this._addCheck({kind:"includes",value:$,position:q?.position,...w.errToObj(q?.message)})}startsWith($,q){return this._addCheck({kind:"startsWith",value:$,...w.errToObj(q)})}endsWith($,q){return this._addCheck({kind:"endsWith",value:$,...w.errToObj(q)})}min($,q){return this._addCheck({kind:"min",value:$,...w.errToObj(q)})}max($,q){return this._addCheck({kind:"max",value:$,...w.errToObj(q)})}length($,q){return this._addCheck({kind:"length",value:$,...w.errToObj(q)})}nonempty($){return this.min(1,w.errToObj($))}trim(){return new L({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new L({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new L({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxLength(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}L.create=($)=>{return new L({checks:[],typeName:j.ZodString,coerce:$?.coerce??!1,...b($)})};function Gq($,q){let _=($.toString().split(".")[1]||"").length,G=(q.toString().split(".")[1]||"").length,W=_>G?_:G,J=Number.parseInt($.toFixed(W).replace(".","")),H=Number.parseInt(q.toFixed(W).replace(".",""));return J%H/10**W}class l extends O{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==Q.number){let W=this._getOrReturnCtx($);return B(W,{code:X.invalid_type,expected:Q.number,received:W.parsedType}),z}let _=void 0,G=new V;for(let W of this._def.checks)if(W.kind==="int"){if(!R.isInteger($.data))_=this._getOrReturnCtx($,_),B(_,{code:X.invalid_type,expected:"integer",received:"float",message:W.message}),G.dirty()}else if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)_=this._getOrReturnCtx($,_),B(_,{code:X.too_small,minimum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),G.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)_=this._getOrReturnCtx($,_),B(_,{code:X.too_big,maximum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),G.dirty()}else if(W.kind==="multipleOf"){if(Gq($.data,W.value)!==0)_=this._getOrReturnCtx($,_),B(_,{code:X.not_multiple_of,multipleOf:W.value,message:W.message}),G.dirty()}else if(W.kind==="finite"){if(!Number.isFinite($.data))_=this._getOrReturnCtx($,_),B(_,{code:X.not_finite,message:W.message}),G.dirty()}else R.assertNever(W);return{status:G.value,value:$.data}}gte($,q){return this.setLimit("min",$,!0,w.toString(q))}gt($,q){return this.setLimit("min",$,!1,w.toString(q))}lte($,q){return this.setLimit("max",$,!0,w.toString(q))}lt($,q){return this.setLimit("max",$,!1,w.toString(q))}setLimit($,q,_,G){return new l({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:w.toString(G)}]})}_addCheck($){return new l({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:w.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:w.toString(q)})}finite($){return this._addCheck({kind:"finite",message:w.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString($)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&R.isInteger($.value))}get isFinite(){let $=null,q=null;for(let _ of this._def.checks)if(_.kind==="finite"||_.kind==="int"||_.kind==="multipleOf")return!0;else if(_.kind==="min"){if(q===null||_.value>q)q=_.value}else if(_.kind==="max"){if($===null||_.value<$)$=_.value}return Number.isFinite(q)&&Number.isFinite($)}}l.create=($)=>{return new l({checks:[],typeName:j.ZodNumber,coerce:$?.coerce||!1,...b($)})};class x extends O{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==Q.bigint)return this._getInvalidInput($);let _=void 0,G=new V;for(let W of this._def.checks)if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)_=this._getOrReturnCtx($,_),B(_,{code:X.too_small,type:"bigint",minimum:W.value,inclusive:W.inclusive,message:W.message}),G.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)_=this._getOrReturnCtx($,_),B(_,{code:X.too_big,type:"bigint",maximum:W.value,inclusive:W.inclusive,message:W.message}),G.dirty()}else if(W.kind==="multipleOf"){if($.data%W.value!==BigInt(0))_=this._getOrReturnCtx($,_),B(_,{code:X.not_multiple_of,multipleOf:W.value,message:W.message}),G.dirty()}else R.assertNever(W);return{status:G.value,value:$.data}}_getInvalidInput($){let q=this._getOrReturnCtx($);return B(q,{code:X.invalid_type,expected:Q.bigint,received:q.parsedType}),z}gte($,q){return this.setLimit("min",$,!0,w.toString(q))}gt($,q){return this.setLimit("min",$,!1,w.toString(q))}lte($,q){return this.setLimit("max",$,!0,w.toString(q))}lt($,q){return this.setLimit("max",$,!1,w.toString(q))}setLimit($,q,_,G){return new x({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:_,message:w.toString(G)}]})}_addCheck($){return new x({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:w.toString(q)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}x.create=($)=>{return new x({checks:[],typeName:j.ZodBigInt,coerce:$?.coerce??!1,...b($)})};class d extends O{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==Q.boolean){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.boolean,received:_.parsedType}),z}return U($.data)}}d.create=($)=>{return new d({typeName:j.ZodBoolean,coerce:$?.coerce||!1,...b($)})};class Z extends O{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==Q.date){let W=this._getOrReturnCtx($);return B(W,{code:X.invalid_type,expected:Q.date,received:W.parsedType}),z}if(Number.isNaN($.data.getTime())){let W=this._getOrReturnCtx($);return B(W,{code:X.invalid_date}),z}let _=new V,G=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.getTime()<W.value)G=this._getOrReturnCtx($,G),B(G,{code:X.too_small,message:W.message,inclusive:!0,exact:!1,minimum:W.value,type:"date"}),_.dirty()}else if(W.kind==="max"){if($.data.getTime()>W.value)G=this._getOrReturnCtx($,G),B(G,{code:X.too_big,message:W.message,inclusive:!0,exact:!1,maximum:W.value,type:"date"}),_.dirty()}else R.assertNever(W);return{status:_.value,value:new Date($.data.getTime())}}_addCheck($){return new Z({...this._def,checks:[...this._def.checks,$]})}min($,q){return this._addCheck({kind:"min",value:$.getTime(),message:w.toString(q)})}max($,q){return this._addCheck({kind:"max",value:$.getTime(),message:w.toString(q)})}get minDate(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $!=null?new Date($):null}}Z.create=($)=>{return new Z({checks:[],coerce:$?.coerce||!1,typeName:j.ZodDate,...b($)})};class X$ extends O{_parse($){if(this._getType($)!==Q.symbol){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.symbol,received:_.parsedType}),z}return U($.data)}}X$.create=($)=>{return new X$({typeName:j.ZodSymbol,...b($)})};class a extends O{_parse($){if(this._getType($)!==Q.undefined){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.undefined,received:_.parsedType}),z}return U($.data)}}a.create=($)=>{return new a({typeName:j.ZodUndefined,...b($)})};class s extends O{_parse($){if(this._getType($)!==Q.null){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.null,received:_.parsedType}),z}return U($.data)}}s.create=($)=>{return new s({typeName:j.ZodNull,...b($)})};class n extends O{constructor(){super(...arguments);this._any=!0}_parse($){return U($.data)}}n.create=($)=>{return new n({typeName:j.ZodAny,...b($)})};class T extends O{constructor(){super(...arguments);this._unknown=!0}_parse($){return U($.data)}}T.create=($)=>{return new T({typeName:j.ZodUnknown,...b($)})};class k extends O{_parse($){let q=this._getOrReturnCtx($);return B(q,{code:X.invalid_type,expected:Q.never,received:q.parsedType}),z}}k.create=($)=>{return new k({typeName:j.ZodNever,...b($)})};class Q$ extends O{_parse($){if(this._getType($)!==Q.undefined){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.void,received:_.parsedType}),z}return U($.data)}}Q$.create=($)=>{return new Q$({typeName:j.ZodVoid,...b($)})};class N extends O{_parse($){let{ctx:q,status:_}=this._processInputParams($),G=this._def;if(q.parsedType!==Q.array)return B(q,{code:X.invalid_type,expected:Q.array,received:q.parsedType}),z;if(G.exactLength!==null){let J=q.data.length>G.exactLength.value,H=q.data.length<G.exactLength.value;if(J||H)B(q,{code:J?X.too_big:X.too_small,minimum:H?G.exactLength.value:void 0,maximum:J?G.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:G.exactLength.message}),_.dirty()}if(G.minLength!==null){if(q.data.length<G.minLength.value)B(q,{code:X.too_small,minimum:G.minLength.value,type:"array",inclusive:!0,exact:!1,message:G.minLength.message}),_.dirty()}if(G.maxLength!==null){if(q.data.length>G.maxLength.value)B(q,{code:X.too_big,maximum:G.maxLength.value,type:"array",inclusive:!0,exact:!1,message:G.maxLength.message}),_.dirty()}if(q.common.async)return Promise.all([...q.data].map((J,H)=>{return G.type._parseAsync(new D(q,J,q.path,H))})).then((J)=>{return V.mergeArray(_,J)});let W=[...q.data].map((J,H)=>{return G.type._parseSync(new D(q,J,q.path,H))});return V.mergeArray(_,W)}get element(){return this._def.type}min($,q){return new N({...this._def,minLength:{value:$,message:w.toString(q)}})}max($,q){return new N({...this._def,maxLength:{value:$,message:w.toString(q)}})}length($,q){return new N({...this._def,exactLength:{value:$,message:w.toString(q)}})}nonempty($){return this.min(1,$)}}N.create=($,q)=>{return new N({type:$,minLength:null,maxLength:null,exactLength:null,typeName:j.ZodArray,...b(q)})};function r($){if($ instanceof E){let q={};for(let _ in $.shape){let G=$.shape[_];q[_]=f.create(r(G))}return new E({...$._def,shape:()=>q})}else if($ instanceof N)return new N({...$._def,type:r($.element)});else if($ instanceof f)return f.create(r($.unwrap()));else if($ instanceof P)return P.create(r($.unwrap()));else if($ instanceof C)return C.create($.items.map((q)=>r(q)));else return $}class E extends O{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),q=R.objectKeys($);return this._cached={shape:$,keys:q},this._cached}_parse($){if(this._getType($)!==Q.object){let M=this._getOrReturnCtx($);return B(M,{code:X.invalid_type,expected:Q.object,received:M.parsedType}),z}let{status:_,ctx:G}=this._processInputParams($),{shape:W,keys:J}=this._getCached(),H=[];if(!(this._def.catchall instanceof k&&this._def.unknownKeys==="strip")){for(let M in G.data)if(!J.includes(M))H.push(M)}let Y=[];for(let M of J){let S=W[M],v=G.data[M];Y.push({key:{status:"valid",value:M},value:S._parse(new D(G,v,G.path,M)),alwaysSet:M in G.data})}if(this._def.catchall instanceof k){let M=this._def.unknownKeys;if(M==="passthrough")for(let S of H)Y.push({key:{status:"valid",value:S},value:{status:"valid",value:G.data[S]}});else if(M==="strict"){if(H.length>0)B(G,{code:X.unrecognized_keys,keys:H}),_.dirty()}else if(M==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let M=this._def.catchall;for(let S of H){let v=G.data[S];Y.push({key:{status:"valid",value:S},value:M._parse(new D(G,v,G.path,S)),alwaysSet:S in G.data})}}if(G.common.async)return Promise.resolve().then(async()=>{let M=[];for(let S of Y){let v=await S.key,U$=await S.value;M.push({key:v,value:U$,alwaysSet:S.alwaysSet})}return M}).then((M)=>{return V.mergeObjectSync(_,M)});else return V.mergeObjectSync(_,Y)}get shape(){return this._def.shape()}strict($){return w.errToObj,new E({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(q,_)=>{let G=this._def.errorMap?.(q,_).message??_.defaultError;if(q.code==="unrecognized_keys")return{message:w.errToObj($).message??G};return{message:G}}}:{}})}strip(){return new E({...this._def,unknownKeys:"strip"})}passthrough(){return new E({...this._def,unknownKeys:"passthrough"})}extend($){return new E({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new E({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:j.ZodObject})}setKey($,q){return this.augment({[$]:q})}catchall($){return new E({...this._def,catchall:$})}pick($){let q={};for(let _ of R.objectKeys($))if($[_]&&this.shape[_])q[_]=this.shape[_];return new E({...this._def,shape:()=>q})}omit($){let q={};for(let _ of R.objectKeys(this.shape))if(!$[_])q[_]=this.shape[_];return new E({...this._def,shape:()=>q})}deepPartial(){return r(this)}partial($){let q={};for(let _ of R.objectKeys(this.shape)){let G=this.shape[_];if($&&!$[_])q[_]=G;else q[_]=G.optional()}return new E({...this._def,shape:()=>q})}required($){let q={};for(let _ of R.objectKeys(this.shape))if($&&!$[_])q[_]=this.shape[_];else{let W=this.shape[_];while(W instanceof f)W=W._def.innerType;q[_]=W}return new E({...this._def,shape:()=>q})}keyof(){return F$(R.objectKeys(this.shape))}}E.create=($,q)=>{return new E({shape:()=>$,unknownKeys:"strip",catchall:k.create(),typeName:j.ZodObject,...b(q)})};E.strictCreate=($,q)=>{return new E({shape:()=>$,unknownKeys:"strict",catchall:k.create(),typeName:j.ZodObject,...b(q)})};E.lazycreate=($,q)=>{return new E({shape:$,unknownKeys:"strip",catchall:k.create(),typeName:j.ZodObject,...b(q)})};class t extends O{_parse($){let{ctx:q}=this._processInputParams($),_=this._def.options;function G(W){for(let H of W)if(H.result.status==="valid")return H.result;for(let H of W)if(H.result.status==="dirty")return q.common.issues.push(...H.ctx.common.issues),H.result;let J=W.map((H)=>new A(H.ctx.common.issues));return B(q,{code:X.invalid_union,unionErrors:J}),z}if(q.common.async)return Promise.all(_.map(async(W)=>{let J={...q,common:{...q.common,issues:[]},parent:null};return{result:await W._parseAsync({data:q.data,path:q.path,parent:J}),ctx:J}})).then(G);else{let W=void 0,J=[];for(let Y of _){let M={...q,common:{...q.common,issues:[]},parent:null},S=Y._parseSync({data:q.data,path:q.path,parent:M});if(S.status==="valid")return S;else if(S.status==="dirty"&&!W)W={result:S,ctx:M};if(M.common.issues.length)J.push(M.common.issues)}if(W)return q.common.issues.push(...W.ctx.common.issues),W.result;let H=J.map((Y)=>new A(Y));return B(q,{code:X.invalid_union,unionErrors:H}),z}}get options(){return this._def.options}}t.create=($,q)=>{return new t({options:$,typeName:j.ZodUnion,...b(q)})};var I=($)=>{if($ instanceof $$)return I($.schema);else if($ instanceof F)return I($.innerType());else if($ instanceof q$)return[$.value];else if($ instanceof m)return $.options;else if($ instanceof _$)return R.objectValues($.enum);else if($ instanceof W$)return I($._def.innerType);else if($ instanceof a)return[void 0];else if($ instanceof s)return[null];else if($ instanceof f)return[void 0,...I($.unwrap())];else if($ instanceof P)return[null,...I($.unwrap())];else if($ instanceof S$)return I($.unwrap());else if($ instanceof H$)return I($.unwrap());else if($ instanceof G$)return I($._def.innerType);else return[]};class b$ extends O{_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==Q.object)return B(q,{code:X.invalid_type,expected:Q.object,received:q.parsedType}),z;let _=this.discriminator,G=q.data[_],W=this.optionsMap.get(G);if(!W)return B(q,{code:X.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[_]}),z;if(q.common.async)return W._parseAsync({data:q.data,path:q.path,parent:q});else return W._parseSync({data:q.data,path:q.path,parent:q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,q,_){let G=new Map;for(let W of q){let J=I(W.shape[$]);if(!J.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let H of J){if(G.has(H))throw Error(`Discriminator property ${String($)} has duplicate value ${String(H)}`);G.set(H,W)}}return new b$({typeName:j.ZodDiscriminatedUnion,discriminator:$,options:q,optionsMap:G,...b(_)})}}function V$($,q){let _=K($),G=K(q);if($===q)return{valid:!0,data:$};else if(_===Q.object&&G===Q.object){let W=R.objectKeys(q),J=R.objectKeys($).filter((Y)=>W.indexOf(Y)!==-1),H={...$,...q};for(let Y of J){let M=V$($[Y],q[Y]);if(!M.valid)return{valid:!1};H[Y]=M.data}return{valid:!0,data:H}}else if(_===Q.array&&G===Q.array){if($.length!==q.length)return{valid:!1};let W=[];for(let J=0;J<$.length;J++){let H=$[J],Y=q[J],M=V$(H,Y);if(!M.valid)return{valid:!1};W.push(M.data)}return{valid:!0,data:W}}else if(_===Q.date&&G===Q.date&&+$===+q)return{valid:!0,data:$};else return{valid:!1}}class e extends O{_parse($){let{status:q,ctx:_}=this._processInputParams($),G=(W,J)=>{if(z$(W)||z$(J))return z;let H=V$(W.value,J.value);if(!H.valid)return B(_,{code:X.invalid_intersection_types}),z;if(j$(W)||j$(J))q.dirty();return{status:q.value,value:H.data}};if(_.common.async)return Promise.all([this._def.left._parseAsync({data:_.data,path:_.path,parent:_}),this._def.right._parseAsync({data:_.data,path:_.path,parent:_})]).then(([W,J])=>G(W,J));else return G(this._def.left._parseSync({data:_.data,path:_.path,parent:_}),this._def.right._parseSync({data:_.data,path:_.path,parent:_}))}}e.create=($,q,_)=>{return new e({left:$,right:q,typeName:j.ZodIntersection,...b(_)})};class C extends O{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==Q.array)return B(_,{code:X.invalid_type,expected:Q.array,received:_.parsedType}),z;if(_.data.length<this._def.items.length)return B(_,{code:X.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),z;if(!this._def.rest&&_.data.length>this._def.items.length)B(_,{code:X.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q.dirty();let W=[..._.data].map((J,H)=>{let Y=this._def.items[H]||this._def.rest;if(!Y)return null;return Y._parse(new D(_,J,_.path,H))}).filter((J)=>!!J);if(_.common.async)return Promise.all(W).then((J)=>{return V.mergeArray(q,J)});else return V.mergeArray(q,W)}get items(){return this._def.items}rest($){return new C({...this._def,rest:$})}}C.create=($,q)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new C({items:$,typeName:j.ZodTuple,rest:null,...b(q)})};class Y$ extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==Q.object)return B(_,{code:X.invalid_type,expected:Q.object,received:_.parsedType}),z;let G=[],W=this._def.keyType,J=this._def.valueType;for(let H in _.data)G.push({key:W._parse(new D(_,H,_.path,H)),value:J._parse(new D(_,_.data[H],_.path,H)),alwaysSet:H in _.data});if(_.common.async)return V.mergeObjectAsync(q,G);else return V.mergeObjectSync(q,G)}get element(){return this._def.valueType}static create($,q,_){if(q instanceof O)return new Y$({keyType:$,valueType:q,typeName:j.ZodRecord,...b(_)});return new Y$({keyType:L.create(),valueType:$,typeName:j.ZodRecord,...b(q)})}}class M$ extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==Q.map)return B(_,{code:X.invalid_type,expected:Q.map,received:_.parsedType}),z;let G=this._def.keyType,W=this._def.valueType,J=[..._.data.entries()].map(([H,Y],M)=>{return{key:G._parse(new D(_,H,_.path,[M,"key"])),value:W._parse(new D(_,Y,_.path,[M,"value"]))}});if(_.common.async){let H=new Map;return Promise.resolve().then(async()=>{for(let Y of J){let M=await Y.key,S=await Y.value;if(M.status==="aborted"||S.status==="aborted")return z;if(M.status==="dirty"||S.status==="dirty")q.dirty();H.set(M.value,S.value)}return{status:q.value,value:H}})}else{let H=new Map;for(let Y of J){let{key:M,value:S}=Y;if(M.status==="aborted"||S.status==="aborted")return z;if(M.status==="dirty"||S.status==="dirty")q.dirty();H.set(M.value,S.value)}return{status:q.value,value:H}}}}M$.create=($,q,_)=>{return new M$({valueType:q,keyType:$,typeName:j.ZodMap,...b(_)})};class c extends O{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.parsedType!==Q.set)return B(_,{code:X.invalid_type,expected:Q.set,received:_.parsedType}),z;let G=this._def;if(G.minSize!==null){if(_.data.size<G.minSize.value)B(_,{code:X.too_small,minimum:G.minSize.value,type:"set",inclusive:!0,exact:!1,message:G.minSize.message}),q.dirty()}if(G.maxSize!==null){if(_.data.size>G.maxSize.value)B(_,{code:X.too_big,maximum:G.maxSize.value,type:"set",inclusive:!0,exact:!1,message:G.maxSize.message}),q.dirty()}let W=this._def.valueType;function J(Y){let M=new Set;for(let S of Y){if(S.status==="aborted")return z;if(S.status==="dirty")q.dirty();M.add(S.value)}return{status:q.value,value:M}}let H=[..._.data.values()].map((Y,M)=>W._parse(new D(_,Y,_.path,M)));if(_.common.async)return Promise.all(H).then((Y)=>J(Y));else return J(H)}min($,q){return new c({...this._def,minSize:{value:$,message:w.toString(q)}})}max($,q){return new c({...this._def,maxSize:{value:$,message:w.toString(q)}})}size($,q){return this.min($,q).max($,q)}nonempty($){return this.min(1,$)}}c.create=($,q)=>{return new c({valueType:$,minSize:null,maxSize:null,typeName:j.ZodSet,...b(q)})};class o extends O{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==Q.function)return B(q,{code:X.invalid_type,expected:Q.function,received:q.parsedType}),z;function _(H,Y){return J$({data:H,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,p(),g].filter((M)=>!!M),issueData:{code:X.invalid_arguments,argumentsError:Y}})}function G(H,Y){return J$({data:H,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,p(),g].filter((M)=>!!M),issueData:{code:X.invalid_return_type,returnTypeError:Y}})}let W={errorMap:q.common.contextualErrorMap},J=q.data;if(this._def.returns instanceof u){let H=this;return U(async function(...Y){let M=new A([]),S=await H._def.args.parseAsync(Y,W).catch((O$)=>{throw M.addIssue(_(Y,O$)),M}),v=await Reflect.apply(J,this,S);return await H._def.returns._def.type.parseAsync(v,W).catch((O$)=>{throw M.addIssue(G(v,O$)),M})})}else{let H=this;return U(function(...Y){let M=H._def.args.safeParse(Y,W);if(!M.success)throw new A([_(Y,M.error)]);let S=Reflect.apply(J,this,M.data),v=H._def.returns.safeParse(S,W);if(!v.success)throw new A([G(S,v.error)]);return v.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new o({...this._def,args:C.create($).rest(T.create())})}returns($){return new o({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,q,_){return new o({args:$?$:C.create([]).rest(T.create()),returns:q||T.create(),typeName:j.ZodFunction,...b(_)})}}class $$ extends O{get schema(){return this._def.getter()}_parse($){let{ctx:q}=this._processInputParams($);return this._def.getter()._parse({data:q.data,path:q.path,parent:q})}}$$.create=($,q)=>{return new $$({getter:$,typeName:j.ZodLazy,...b(q)})};class q$ extends O{_parse($){if($.data!==this._def.value){let q=this._getOrReturnCtx($);return B(q,{received:q.data,code:X.invalid_literal,expected:this._def.value}),z}return{status:"valid",value:$.data}}get value(){return this._def.value}}q$.create=($,q)=>{return new q$({value:$,typeName:j.ZodLiteral,...b(q)})};function F$($,q){return new m({values:$,typeName:j.ZodEnum,...b(q)})}class m extends O{_parse($){if(typeof $.data!=="string"){let q=this._getOrReturnCtx($),_=this._def.values;return B(q,{expected:R.joinValues(_),received:q.parsedType,code:X.invalid_type}),z}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let q=this._getOrReturnCtx($),_=this._def.values;return B(q,{received:q.data,code:X.invalid_enum_value,options:_}),z}return U($.data)}get options(){return this._def.values}get enum(){let $={};for(let q of this._def.values)$[q]=q;return $}get Values(){let $={};for(let q of this._def.values)$[q]=q;return $}get Enum(){let $={};for(let q of this._def.values)$[q]=q;return $}extract($,q=this._def){return m.create($,{...this._def,...q})}exclude($,q=this._def){return m.create(this.options.filter((_)=>!$.includes(_)),{...this._def,...q})}}m.create=F$;class _$ extends O{_parse($){let q=R.getValidEnumValues(this._def.values),_=this._getOrReturnCtx($);if(_.parsedType!==Q.string&&_.parsedType!==Q.number){let G=R.objectValues(q);return B(_,{expected:R.joinValues(G),received:_.parsedType,code:X.invalid_type}),z}if(!this._cache)this._cache=new Set(R.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let G=R.objectValues(q);return B(_,{received:_.data,code:X.invalid_enum_value,options:G}),z}return U($.data)}get enum(){return this._def.values}}_$.create=($,q)=>{return new _$({values:$,typeName:j.ZodNativeEnum,...b(q)})};class u extends O{unwrap(){return this._def.type}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==Q.promise&&q.common.async===!1)return B(q,{code:X.invalid_type,expected:Q.promise,received:q.parsedType}),z;let _=q.parsedType===Q.promise?q.data:Promise.resolve(q.data);return U(_.then((G)=>{return this._def.type.parseAsync(G,{path:q.path,errorMap:q.common.contextualErrorMap})}))}}u.create=($,q)=>{return new u({type:$,typeName:j.ZodPromise,...b(q)})};class F extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===j.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:q,ctx:_}=this._processInputParams($),G=this._def.effect||null,W={addIssue:(J)=>{if(B(_,J),J.fatal)q.abort();else q.dirty()},get path(){return _.path}};if(W.addIssue=W.addIssue.bind(W),G.type==="preprocess"){let J=G.transform(_.data,W);if(_.common.async)return Promise.resolve(J).then(async(H)=>{if(q.value==="aborted")return z;let Y=await this._def.schema._parseAsync({data:H,path:_.path,parent:_});if(Y.status==="aborted")return z;if(Y.status==="dirty")return y(Y.value);if(q.value==="dirty")return y(Y.value);return Y});else{if(q.value==="aborted")return z;let H=this._def.schema._parseSync({data:J,path:_.path,parent:_});if(H.status==="aborted")return z;if(H.status==="dirty")return y(H.value);if(q.value==="dirty")return y(H.value);return H}}if(G.type==="refinement"){let J=(H)=>{let Y=G.refinement(H,W);if(_.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return H};if(_.common.async===!1){let H=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(H.status==="aborted")return z;if(H.status==="dirty")q.dirty();return J(H.value),{status:q.value,value:H.value}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((H)=>{if(H.status==="aborted")return z;if(H.status==="dirty")q.dirty();return J(H.value).then(()=>{return{status:q.value,value:H.value}})})}if(G.type==="transform")if(_.common.async===!1){let J=this._def.schema._parseSync({data:_.data,path:_.path,parent:_});if(!h(J))return z;let H=G.transform(J.value,W);if(H instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:q.value,value:H}}else return this._def.schema._parseAsync({data:_.data,path:_.path,parent:_}).then((J)=>{if(!h(J))return z;return Promise.resolve(G.transform(J.value,W)).then((H)=>({status:q.value,value:H}))});R.assertNever(G)}}F.create=($,q,_)=>{return new F({schema:$,typeName:j.ZodEffects,effect:q,...b(_)})};F.createWithPreprocess=($,q,_)=>{return new F({schema:q,effect:{type:"preprocess",transform:$},typeName:j.ZodEffects,...b(_)})};class f extends O{_parse($){if(this._getType($)===Q.undefined)return U(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}f.create=($,q)=>{return new f({innerType:$,typeName:j.ZodOptional,...b(q)})};class P extends O{_parse($){if(this._getType($)===Q.null)return U(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}P.create=($,q)=>{return new P({innerType:$,typeName:j.ZodNullable,...b(q)})};class W$ extends O{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;if(q.parsedType===Q.undefined)_=this._def.defaultValue();return this._def.innerType._parse({data:_,path:q.path,parent:q})}removeDefault(){return this._def.innerType}}W$.create=($,q)=>{return new W$({innerType:$,typeName:j.ZodDefault,defaultValue:typeof q.default==="function"?q.default:()=>q.default,...b(q)})};class G$ extends O{_parse($){let{ctx:q}=this._processInputParams($),_={...q,common:{...q.common,issues:[]}},G=this._def.innerType._parse({data:_.data,path:_.path,parent:{..._}});if(i(G))return G.then((W)=>{return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new A(_.common.issues)},input:_.data})}});else return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new A(_.common.issues)},input:_.data})}}removeCatch(){return this._def.innerType}}G$.create=($,q)=>{return new G$({innerType:$,typeName:j.ZodCatch,catchValue:typeof q.catch==="function"?q.catch:()=>q.catch,...b(q)})};class B$ extends O{_parse($){if(this._getType($)!==Q.nan){let _=this._getOrReturnCtx($);return B(_,{code:X.invalid_type,expected:Q.nan,received:_.parsedType}),z}return{status:"valid",value:$.data}}}B$.create=($)=>{return new B$({typeName:j.ZodNaN,...b($)})};var Hq=Symbol("zod_brand");class S$ extends O{_parse($){let{ctx:q}=this._processInputParams($),_=q.data;return this._def.type._parse({data:_,path:q.path,parent:q})}unwrap(){return this._def.type}}class w$ extends O{_parse($){let{status:q,ctx:_}=this._processInputParams($);if(_.common.async)return(async()=>{let W=await this._def.in._parseAsync({data:_.data,path:_.path,parent:_});if(W.status==="aborted")return z;if(W.status==="dirty")return q.dirty(),y(W.value);else return this._def.out._parseAsync({data:W.value,path:_.path,parent:_})})();else{let G=this._def.in._parseSync({data:_.data,path:_.path,parent:_});if(G.status==="aborted")return z;if(G.status==="dirty")return q.dirty(),{status:"dirty",value:G.value};else return this._def.out._parseSync({data:G.value,path:_.path,parent:_})}}static create($,q){return new w$({in:$,out:q,typeName:j.ZodPipeline})}}class H$ extends O{_parse($){let q=this._def.innerType._parse($),_=(G)=>{if(h(G))G.value=Object.freeze(G.value);return G};return i(q)?q.then((G)=>_(G)):_(q)}unwrap(){return this._def.innerType}}H$.create=($,q)=>{return new H$({innerType:$,typeName:j.ZodReadonly,...b(q)})};function L$($,q){let _=typeof $==="function"?$(q):typeof $==="string"?{message:$}:$;return typeof _==="string"?{message:_}:_}function K$($,q={},_){if($)return n.create().superRefine((G,W)=>{let J=$(G);if(J instanceof Promise)return J.then((H)=>{if(!H){let Y=L$(q,G),M=Y.fatal??_??!0;W.addIssue({code:"custom",...Y,fatal:M})}});if(!J){let H=L$(q,G),Y=H.fatal??_??!0;W.addIssue({code:"custom",...H,fatal:Y})}return});return n.create()}var Jq={object:E.lazycreate},j;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(j||(j={}));var Xq=($,q={message:`Input not instance of ${$.name}`})=>K$((_)=>_ instanceof $,q),k$=L.create,C$=l.create,Qq=B$.create,Yq=x.create,g$=d.create,Mq=Z.create,Bq=X$.create,wq=a.create,zq=s.create,jq=n.create,bq=T.create,Sq=k.create,Oq=Q$.create,Rq=N.create,Eq=E.create,Vq=E.strictCreate,Uq=t.create,Aq=b$.create,vq=e.create,Lq=C.create,Nq=Y$.create,fq=M$.create,Dq=c.create,Fq=o.create,Kq=$$.create,kq=q$.create,Cq=m.create,gq=_$.create,Iq=u.create,Pq=F.create,hq=f.create,Tq=P.create,lq=F.createWithPreprocess,xq=w$.create,mq=()=>k$().optional(),yq=()=>C$().optional(),Zq=()=>g$().optional(),nq={string:($)=>L.create({...$,coerce:!0}),number:($)=>l.create({...$,coerce:!0}),boolean:($)=>d.create({...$,coerce:!0}),bigint:($)=>x.create({...$,coerce:!0}),date:($)=>Z.create({...$,coerce:!0})};var cq=z;export{A as Ok,j as Pk,I$ as Qk};
@@ -0,0 +1 @@
1
+ import{xk as a}from"./chunk-gphssgy6.js";import"./chunk-4fs853nh.js";export{a as FileSystemConfigStore};
@@ -0,0 +1,15 @@
1
+ import{Hg as a,Ig as s}from"./chunk-0mq8786q.js";import{uk as o}from"./chunk-v0e9bsvt.js";var l=o(async(c)=>{let e=await s(c);if(e.failed_results.length>0){let n=e.failed_results.map((t)=>`- ${t.url}: ${t.error}`).join(`
2
+ `),r=e.results.map((t)=>t.raw_content).join(`
3
+
4
+ ---
5
+
6
+ `);return r?`${r}
7
+
8
+ **Failed URLs:**
9
+ ${n}`:`All URLs failed:
10
+ ${n}`}return e.results.map((n)=>n.raw_content).join(`
11
+
12
+ ---
13
+
14
+ `)},{name:"web_fetch",description:"Fetch and extract readable content from one or more URLs. Returns Markdown-formatted content with YAML frontmatter. Supports general web pages, Feishu docs, Docker Hub, and more.",schema:a}),m={name:"web",tools:[l]};
15
+ export{m as xa};
@@ -0,0 +1,2 @@
1
+ import{n as R1}from"./chunk-2gd8vzrf.js";import{U as f1}from"./chunk-h7ypcqp3.js";import{Mg as Y0}from"./chunk-6saqxa3z.js";import{Ng as A1}from"./chunk-6j695pam.js";import{Rk as k}from"./chunk-0kfw8bwn.js";import{Bl as C}from"./chunk-78ksrp8v.js";import{Wl as C0,Yl as a0}from"./chunk-4fs853nh.js";var v0=a0((t0)=>{Object.defineProperty(t0,"__esModule",{value:!0});t0.Allow=t0.ALL=t0.COLLECTION=t0.ATOM=t0.SPECIAL=t0.INF=t0._INFINITY=t0.INFINITY=t0.NAN=t0.BOOL=t0.NULL=t0.OBJ=t0.ARR=t0.NUM=t0.STR=void 0;t0.STR=1;t0.NUM=2;t0.ARR=4;t0.OBJ=8;t0.NULL=16;t0.BOOL=32;t0.NAN=64;t0.INFINITY=128;t0._INFINITY=256;t0.INF=t0.INFINITY|t0._INFINITY;t0.SPECIAL=t0.NULL|t0.BOOL|t0.INF|t0.NAN;t0.ATOM=t0.STR|t0.NUM|t0.SPECIAL;t0.COLLECTION=t0.ARR|t0.OBJ;t0.ALL=t0.ATOM|t0.COLLECTION;t0.Allow={STR:t0.STR,NUM:t0.NUM,ARR:t0.ARR,OBJ:t0.OBJ,NULL:t0.NULL,BOOL:t0.BOOL,NAN:t0.NAN,INFINITY:t0.INFINITY,_INFINITY:t0._INFINITY,INF:t0.INF,SPECIAL:t0.SPECIAL,ATOM:t0.ATOM,COLLECTION:t0.COLLECTION,ALL:t0.ALL};t0.default=t0.Allow});var X1=a0((A)=>{var h1=A&&A.__createBinding||(Object.create?function(X,W,Y,Z){if(Z===void 0)Z=Y;var K=Object.getOwnPropertyDescriptor(W,Y);if(!K||("get"in K?!W.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return W[Y]}};Object.defineProperty(X,Z,K)}:function(X,W,Y,Z){if(Z===void 0)Z=Y;X[Z]=W[Y]}),y1=A&&A.__exportStar||function(X,W){for(var Y in X)if(Y!=="default"&&!Object.prototype.hasOwnProperty.call(W,Y))h1(W,X,Y)};Object.defineProperty(A,"__esModule",{value:!0});A.Allow=A.MalformedJSON=A.PartialJSON=A.parseJSON=A.parse=void 0;var b=v0();Object.defineProperty(A,"Allow",{enumerable:!0,get:function(){return b.Allow}});y1(v0(),A);class j0 extends Error{}A.PartialJSON=j0;class x0 extends Error{}A.MalformedJSON=x0;function e0(X,W=b.Allow.ALL){if(typeof X!=="string")throw TypeError(`expecting str, got ${typeof X}`);if(!X.trim())throw Error(`${X} is empty`);return u1(X.trim(),W)}A.parseJSON=e0;var u1=(X,W)=>{let Y=X.length,Z=0,K=(Q)=>{throw new j0(`${Q} at position ${Z}`)},B=(Q)=>{throw new x0(`${Q} at position ${Z}`)},$=()=>{if(z(),Z>=Y)K("Unexpected end of input");if(X[Z]==='"')return V();if(X[Z]==="{")return J();if(X[Z]==="[")return G();if(X.substring(Z,Z+4)==="null"||b.Allow.NULL&W&&Y-Z<4&&"null".startsWith(X.substring(Z)))return Z+=4,null;if(X.substring(Z,Z+4)==="true"||b.Allow.BOOL&W&&Y-Z<4&&"true".startsWith(X.substring(Z)))return Z+=4,!0;if(X.substring(Z,Z+5)==="false"||b.Allow.BOOL&W&&Y-Z<5&&"false".startsWith(X.substring(Z)))return Z+=5,!1;if(X.substring(Z,Z+8)==="Infinity"||b.Allow.INFINITY&W&&Y-Z<8&&"Infinity".startsWith(X.substring(Z)))return Z+=8,1/0;if(X.substring(Z,Z+9)==="-Infinity"||b.Allow._INFINITY&W&&1<Y-Z&&Y-Z<9&&"-Infinity".startsWith(X.substring(Z)))return Z+=9,-1/0;if(X.substring(Z,Z+3)==="NaN"||b.Allow.NAN&W&&Y-Z<3&&"NaN".startsWith(X.substring(Z)))return Z+=3,NaN;return U()},V=()=>{let Q=Z,H=!1;Z++;while(Z<Y&&(X[Z]!=='"'||H&&X[Z-1]==="\\"))H=X[Z]==="\\"?!H:!1,Z++;if(X.charAt(Z)=='"')try{return JSON.parse(X.substring(Q,++Z-Number(H)))}catch(N){B(String(N))}else if(b.Allow.STR&W)try{return JSON.parse(X.substring(Q,Z-Number(H))+'"')}catch(N){return JSON.parse(X.substring(Q,X.lastIndexOf("\\"))+'"')}K("Unterminated string literal")},J=()=>{Z++,z();let Q={};try{while(X[Z]!=="}"){if(z(),Z>=Y&&b.Allow.OBJ&W)return Q;let H=V();z(),Z++;try{let N=$();Q[H]=N}catch(N){if(b.Allow.OBJ&W)return Q;else throw N}if(z(),X[Z]===",")Z++}}catch(H){if(b.Allow.OBJ&W)return Q;else K("Expected '}' at end of object")}return Z++,Q},G=()=>{Z++;let Q=[];try{while(X[Z]!=="]")if(Q.push($()),z(),X[Z]===",")Z++}catch(H){if(b.Allow.ARR&W)return Q;K("Expected ']' at end of array")}return Z++,Q},U=()=>{if(Z===0){if(X==="-")B("Not sure what '-' is");try{return JSON.parse(X)}catch(H){if(b.Allow.NUM&W)try{return JSON.parse(X.substring(0,X.lastIndexOf("e")))}catch(N){}B(String(H))}}let Q=Z;if(X[Z]==="-")Z++;while(X[Z]&&",]}".indexOf(X[Z])===-1)Z++;if(Z==Y&&!(b.Allow.NUM&W))K("Unterminated number literal");try{return JSON.parse(X.substring(Q,Z))}catch(H){if(X.substring(Q,Z)==="-")K("Not sure what '-' is");try{return JSON.parse(X.substring(Q,X.lastIndexOf("e")))}catch(N){B(String(N))}}},z=()=>{while(Z<Y&&`
2
+ \r `.includes(X[Z]))Z++};return $()},m1=e0;A.parse=m1});var R=C0(f1(),1);var s0=Symbol("clean");var x=[],y=0,t=4,S1=0,P=(X)=>{let W=[],Y={get(){if(!Y.lc)Y.listen(()=>{})();return Y.value},lc:0,listen(Z){return Y.lc=W.push(Z),()=>{for(let B=y+t;B<x.length;)if(x[B]===Z)x.splice(B,t);else B+=t;let K=W.indexOf(Z);if(~K){if(W.splice(K,1),!--Y.lc)Y.off()}}},notify(Z,K){S1++;let B=!x.length;for(let $ of W)x.push($,Y.value,Z,K);if(B){for(y=0;y<x.length;y+=t)x[y](x[y+1],x[y+2],x[y+3]);x.length=0}},off(){},set(Z){let K=Y.value;if(K!==Z)Y.value=Z,Y.notify(K)},subscribe(Z){let K=Y.listen(Z);return Z(Y.value),K},value:X};return Y[s0]=()=>{W=[],Y.lc=0,Y.off()},Y};var z0=(X,W)=>{if(!Array.isArray(X))X=[X];let Y=[],Z,K=()=>{Z&&Z();let B=X.map(($)=>$.get());Z=W(...B)};return Y=X.map((B)=>B.listen(K)),K(),()=>{Y.forEach((B)=>B()),Z&&Z()}};function F0(X,W,Y){let Z=new Set(W).add(void 0);return X.listen((K,B,$)=>{if(Z.has($))Y(K,B,$)})}var H0=function(X,W,Y){var Z,K,B;W===void 0&&(W=50),Y===void 0&&(Y={});var $=(Z=Y.isImmediate)!=null&&Z,V=(K=Y.callback)!=null&&K,J=Y.maxWait,G=Date.now(),U=[];function z(){if(J!==void 0){var H=Date.now()-G;if(H+W>=J)return J-H}return W}var Q=function(){var H=[].slice.call(arguments),N=this;return new Promise(function(L,E){var u=$&&B===void 0;if(B!==void 0&&clearTimeout(B),B=setTimeout(function(){if(B=void 0,G=Date.now(),!$){var f=X.apply(N,H);V&&V(f),U.forEach(function(S){return(0,S.resolve)(f)}),U=[]}},z()),u){var q=X.apply(N,H);return V&&V(q),L(q)}U.push({resolve:L,reject:E})})};return Q.cancel=function(H){B!==void 0&&clearTimeout(B),U.forEach(function(N){return(0,N.reject)(H)}),U=[]},Q};var e=C0(X1(),1);var o=(X)=>{return X.name+JSON.stringify(X.args)};class a{message;client;constructor(X,W){this.message=X,this.client=W}getToolActionRequestID(){return o({name:this.message.name,args:this.getInputRepaired()})}getHumanInTheLoopData(){let X=this.getToolActionRequestID();if(!this.client.humanInTheLoop)return null;let W=this.client.humanInTheLoop.interruptData.find((Z)=>Z.value.actionRequests.some((K)=>K.id===X));if(!W)return null;let Y=W.value.actionRequests.findIndex((Z)=>Z.id===X);if(Y===-1)return null;return{actionRequestIndex:Y,config:W,reviewConfig:W.value.reviewConfigs.find((Z)=>Z.actionName===W.value.actionRequests[Y].name),actionRequest:W.value.actionRequests[Y],result:this.client.humanInTheLoop.result[X]}}sendResumeData(X){if(X.type==="edit")X.editedAction=X.edited_action;return this.client.doneHumanInTheLoopWaiting(this.message.id||this.message.tool_call_id,this.getToolActionRequestID(),X)}get state(){if(this.message.type==="tool"&&this.message?.additional_kwargs?.done)return"done";let X=this.getHumanInTheLoopData();if(X?.result)return"done";if(this.client.status==="interrupted"&&X?.actionRequest)return"interrupted";if(this.message.tool_input)return"loading";return"idle"}get input(){try{return JSON.parse(this.message.tool_input)}catch(X){return null}}get output(){return W1(this.message.content)}getJSONOutput(){return JSON.parse(this.output)}getJSONOutputSafe(){try{return JSON.parse(this.output)}catch(X){return null}}getInputRepaired(){try{return e.parse(this.message.tool_input||"",e.Allow.ALL)}catch(X){return{}}}response(X){this.client.doneFEToolWaiting(this.message.id,JSON.stringify(X))}}var g1=(...X)=>fetch(...X),c1=Symbol.for("lg:fetch_implementation");var Y1=()=>{return globalThis[c1]??g1};var d1=Object.prototype.toString,p1=(X)=>d1.call(X)==="[object Error]",l1=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function k0(X){if(!(X&&p1(X)&&X.name==="TypeError"&&typeof X.message==="string"))return!1;let{message:Y,stack:Z}=X;if(Y==="Load failed")return Z===void 0||"__sentry_captured__"in X;if(Y.startsWith("error sending request for url"))return!0;return l1.has(Y)}function r1(X){if(typeof X==="number"){if(X<0)throw TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(X))throw TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(X!==void 0)throw TypeError("Expected `retries` to be a number or Infinity.")}function X0(X,W,{min:Y=0,allowInfinity:Z=!1}={}){if(W===void 0)return;if(typeof W!=="number"||Number.isNaN(W))throw TypeError(`Expected \`${X}\` to be a number${Z?" or Infinity":""}.`);if(!Z&&!Number.isFinite(W))throw TypeError(`Expected \`${X}\` to be a finite number.`);if(W<Y)throw TypeError(`Expected \`${X}\` to be ≥ ${Y}.`)}class K1 extends Error{constructor(X){super();if(X instanceof Error)this.originalError=X,{message:X}=X;else this.originalError=Error(X),this.originalError.stack=this.stack;this.name="AbortError",this.message=X}}function i1(X,W){let Y=Math.max(1,X+1),Z=W.randomize?Math.random()+1:1,K=Math.round(Z*W.minTimeout*W.factor**(Y-1));return K=Math.min(K,W.maxTimeout),K}function Z1(X,W){if(!Number.isFinite(W))return W;return W-(performance.now()-X)}async function n1({error:X,attemptNumber:W,retriesConsumed:Y,startTime:Z,options:K}){let B=X instanceof Error?X:TypeError(`Non-error was thrown: "${X}". You should only throw errors.`);if(B instanceof K1)throw B.originalError;let $=Number.isFinite(K.retries)?Math.max(0,K.retries-Y):K.retries,V=K.maxRetryTime??Number.POSITIVE_INFINITY,J=Object.freeze({error:B,attemptNumber:W,retriesLeft:$,retriesConsumed:Y});if(await K.onFailedAttempt(J),Z1(Z,V)<=0)throw B;let G=await K.shouldConsumeRetry(J),U=Z1(Z,V);if(U<=0||$<=0)throw B;if(B instanceof TypeError&&!k0(B)){if(G)throw B;return K.signal?.throwIfAborted(),!1}if(!await K.shouldRetry(J))throw B;if(!G)return K.signal?.throwIfAborted(),!1;let z=i1(Y,K),Q=Math.min(z,U);if(K.signal?.throwIfAborted(),Q>0)await new Promise((H,N)=>{let L=()=>{clearTimeout(E),K.signal?.removeEventListener("abort",L),N(K.signal.reason)},E=setTimeout(()=>{K.signal?.removeEventListener("abort",L),H()},Q);if(K.unref)E.unref?.();K.signal?.addEventListener("abort",L,{once:!0})});return K.signal?.throwIfAborted(),!0}async function S0(X,W={}){if(W={...W},r1(W.retries),Object.hasOwn(W,"forever"))throw Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");if(W.retries??=10,W.factor??=2,W.minTimeout??=1000,W.maxTimeout??=Number.POSITIVE_INFINITY,W.maxRetryTime??=Number.POSITIVE_INFINITY,W.randomize??=!1,W.onFailedAttempt??=()=>{},W.shouldRetry??=()=>!0,W.shouldConsumeRetry??=()=>!0,X0("factor",W.factor,{min:0,allowInfinity:!1}),X0("minTimeout",W.minTimeout,{min:0,allowInfinity:!1}),X0("maxTimeout",W.maxTimeout,{min:0,allowInfinity:!0}),X0("maxRetryTime",W.maxRetryTime,{min:0,allowInfinity:!0}),!(W.factor>0))W.factor=1;W.signal?.throwIfAborted();let Y=0,Z=0,K=performance.now();while(Number.isFinite(W.retries)?Z<=W.retries:!0){Y++;try{W.signal?.throwIfAborted();let B=await X(Y);return W.signal?.throwIfAborted(),B}catch(B){if(await n1({error:B,attemptNumber:Y,retriesConsumed:Z,startTime:K,options:W}))Z++}}throw Error("Retry attempts exhausted without throwing an error.")}class I0 extends Error{name="TimeoutError";constructor(X,W){super(X,W);Error.captureStackTrace?.(this,I0)}}var B1=(X)=>X.reason??new DOMException("This operation was aborted.","AbortError");function h0(X,W){let{milliseconds:Y,fallback:Z,message:K,customTimers:B={setTimeout,clearTimeout},signal:$}=W,V,J,U=new Promise((z,Q)=>{if(typeof Y!=="number"||Math.sign(Y)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${Y}\``);if($?.aborted){Q(B1($));return}if($)J=()=>{Q(B1($))},$.addEventListener("abort",J,{once:!0});if(X.then(z,Q),Y===Number.POSITIVE_INFINITY)return;let H=new I0;V=B.setTimeout.call(void 0,()=>{if(Z){try{z(Z())}catch(N){Q(N)}return}if(typeof X.cancel==="function")X.cancel();if(K===!1)z();else if(K instanceof Error)Q(K);else H.message=K??`Promise timed out after ${Y} milliseconds`,Q(H)},Y)}).finally(()=>{if(U.clear(),J&&$)$.removeEventListener("abort",J)});return U.clear=()=>{B.clearTimeout.call(void 0,V),V=void 0},U}function y0(X,W,Y){let Z=0,K=X.length;while(K>0){let B=Math.trunc(K/2),$=Z+B;if(Y(X[$],W)<=0)Z=++$,K-=B+1;else K=B}return Z}class W0{#Y=[];enqueue(X,W){let{priority:Y=0,id:Z}=W??{},K={priority:Y,id:Z,run:X};if(this.size===0||this.#Y[this.size-1].priority>=Y){this.#Y.push(K);return}let B=y0(this.#Y,K,($,V)=>V.priority-$.priority);this.#Y.splice(B,0,K)}setPriority(X,W){let Y=this.#Y.findIndex((K)=>K.id===X);if(Y===-1)throw ReferenceError(`No promise function with the id "${X}" exists in the queue.`);let[Z]=this.#Y.splice(Y,1);this.enqueue(Z.run,{priority:W,id:X})}dequeue(){return this.#Y.shift()?.run}filter(X){return this.#Y.filter((W)=>W.priority===X.priority).map((W)=>W.run)}get size(){return this.#Y.length}}class d extends Y0.default{#Y;#$;#V=0;#z;#H=!1;#P=!1;#J;#f=0;#_=0;#G;#D;#B;#K=[];#Z=0;#X;#M;#W=0;#N;#Q;#x=1n;#O=new Map;timeout;constructor(X){super();if(X={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:W0,strict:!1,...X},!(typeof X.intervalCap==="number"&&X.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${X.intervalCap?.toString()??""}\` (${typeof X.intervalCap})`);if(X.interval===void 0||!(Number.isFinite(X.interval)&&X.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${X.interval?.toString()??""}\` (${typeof X.interval})`);if(X.strict&&X.interval===0)throw TypeError("The `strict` option requires a non-zero `interval`");if(X.strict&&X.intervalCap===Number.POSITIVE_INFINITY)throw TypeError("The `strict` option requires a finite `intervalCap`");if(this.#Y=X.carryoverIntervalCount??X.carryoverConcurrencyCount??!1,this.#$=X.intervalCap===Number.POSITIVE_INFINITY||X.interval===0,this.#z=X.intervalCap,this.#J=X.interval,this.#B=X.strict,this.#X=new X.queueClass,this.#M=X.queueClass,this.concurrency=X.concurrency,X.timeout!==void 0&&!(Number.isFinite(X.timeout)&&X.timeout>0))throw TypeError(`Expected \`timeout\` to be a positive finite number, got \`${X.timeout}\` (${typeof X.timeout})`);this.timeout=X.timeout,this.#Q=X.autoStart===!1,this.#m()}#A(X){while(this.#Z<this.#K.length){let Y=this.#K[this.#Z];if(Y!==void 0&&X-Y>=this.#J)this.#Z++;else break}if(this.#Z>100&&this.#Z>this.#K.length/2||this.#Z===this.#K.length)this.#K=this.#K.slice(this.#Z),this.#Z=0}#C(X){if(this.#B)this.#K.push(X);else this.#V++}#k(){if(this.#B){if(this.#K.length>this.#Z)this.#K.pop()}else if(this.#V>0)this.#V--}#L(){return this.#K.length-this.#Z}get#S(){if(this.#$)return!0;if(this.#B)return this.#L()<this.#z;return this.#V<this.#z}get#I(){return this.#W<this.#N}#h(){if(this.#W--,this.#W===0)this.emit("pendingZero");this.#E(),this.emit("next")}#y(){this.#D=void 0,this.#v(),this.#T()}#u(X){if(this.#B){if(this.#A(X),this.#L()>=this.#z){let Y=this.#K[this.#Z],Z=this.#J-(X-Y);return this.#b(Z),!0}return!1}if(this.#G===void 0){let W=this.#f-X;if(W<0){if(this.#_>0){let Y=X-this.#_;if(Y<this.#J)return this.#b(this.#J-Y),!0}this.#V=this.#Y?this.#W:0}else return this.#b(W),!0}return!1}#b(X){if(this.#D!==void 0)return;this.#D=setTimeout(()=>{this.#y()},X)}#R(){if(this.#G)clearInterval(this.#G),this.#G=void 0}#w(){if(this.#D)clearTimeout(this.#D),this.#D=void 0}#E(){if(this.#X.size===0){if(this.#R(),this.emit("empty"),this.#W===0){if(this.#w(),this.#B&&this.#Z>0){let W=Date.now();this.#A(W)}this.emit("idle")}return!1}let X=!1;if(!this.#Q){let W=Date.now(),Y=!this.#u(W);if(this.#S&&this.#I){let Z=this.#X.dequeue();if(!this.#$)this.#C(W),this.#F();if(this.emit("active"),Z(),Y)this.#T();X=!0}}return X}#T(){if(this.#$||this.#G!==void 0)return;if(this.#B)return;this.#G=setInterval(()=>{this.#v()},this.#J),this.#f=Date.now()+this.#J}#v(){if(!this.#B){if(this.#V===0&&this.#W===0&&this.#G)this.#R();this.#V=this.#Y?this.#W:0}this.#q(),this.#F()}#q(){while(this.#E());}get concurrency(){return this.#N}set concurrency(X){if(!(typeof X==="number"&&X>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${X}\` (${typeof X})`);this.#N=X,this.#q()}setPriority(X,W){if(typeof W!=="number"||!Number.isFinite(W))throw TypeError(`Expected \`priority\` to be a finite number, got \`${W}\` (${typeof W})`);this.#X.setPriority(X,W)}async add(X,W={}){return W={timeout:this.timeout,...W,id:W.id??(this.#x++).toString()},new Promise((Y,Z)=>{let K=Symbol(`task-${W.id}`);this.#X.enqueue(async()=>{this.#W++,this.#O.set(K,{id:W.id,priority:W.priority??0,startTime:Date.now(),timeout:W.timeout});let B;try{try{W.signal?.throwIfAborted()}catch(J){throw this.#g(),this.#O.delete(K),J}this.#_=Date.now();let $=X({signal:W.signal});if(W.timeout)$=h0(Promise.resolve($),{milliseconds:W.timeout,message:`Task timed out after ${W.timeout}ms (queue has ${this.#W} running, ${this.#X.size} waiting)`});if(W.signal){let{signal:J}=W;$=Promise.race([$,new Promise((G,U)=>{B=()=>{U(J.reason)},J.addEventListener("abort",B,{once:!0})})])}let V=await $;Y(V),this.emit("completed",V)}catch($){Z($),this.emit("error",$)}finally{if(B)W.signal?.removeEventListener("abort",B);this.#O.delete(K),queueMicrotask(()=>{this.#h()})}},W),this.emit("add"),this.#E()})}async addAll(X,W){return Promise.all(X.map(async(Y)=>this.add(Y,W)))}start(){if(!this.#Q)return this;return this.#Q=!1,this.#q(),this}pause(){this.#Q=!0}clear(){if(this.#X=new this.#M,this.#R(),this.#j(),this.emit("empty"),this.#W===0)this.#w(),this.emit("idle");this.emit("next")}async onEmpty(){if(this.#X.size===0)return;await this.#U("empty")}async onSizeLessThan(X){if(this.#X.size<X)return;await this.#U("next",()=>this.#X.size<X)}async onIdle(){if(this.#W===0&&this.#X.size===0)return;await this.#U("idle")}async onPendingZero(){if(this.#W===0)return;await this.#U("pendingZero")}async onRateLimit(){if(this.isRateLimited)return;await this.#U("rateLimit")}async onRateLimitCleared(){if(!this.isRateLimited)return;await this.#U("rateLimitCleared")}onError(){return new Promise((X,W)=>{let Y=(Z)=>{this.off("error",Y),W(Z)};this.on("error",Y)})}async#U(X,W){return new Promise((Y)=>{let Z=()=>{if(W&&!W())return;this.off(X,Z),Y()};this.on(X,Z)})}get size(){return this.#X.size}sizeBy(X){return this.#X.filter(X).length}get pending(){return this.#W}get isPaused(){return this.#Q}#m(){if(this.#$)return;this.on("add",()=>{if(this.#X.size>0)this.#F()}),this.on("next",()=>{this.#F()})}#F(){if(this.#$||this.#P)return;this.#P=!0,queueMicrotask(()=>{this.#P=!1,this.#j()})}#g(){if(this.#$)return;this.#k(),this.#F()}#j(){let X=this.#H;if(this.#$||this.#X.size===0){if(X)this.#H=!1,this.emit("rateLimitCleared");return}let W;if(this.#B){let Z=Date.now();this.#A(Z),W=this.#L()}else W=this.#V;let Y=W>=this.#z;if(Y!==X)this.#H=Y,this.emit(Y?"rateLimit":"rateLimitCleared")}get isRateLimited(){return this.#H}get isSaturated(){return this.#W===this.#N&&this.#X.size>0||this.isRateLimited&&this.#X.size>0}get runningTasks(){return[...this.#O.values()].map((X)=>({...X}))}}var s1=[400,401,402,403,404,405,406,407,408,409,422];function a1(X){if(X==null||typeof X!=="object")return!1;return"status"in X&&"statusText"in X&&"text"in X}var $1=class X extends Error{status;text;response;constructor(W,Y,Z){super(`HTTP ${W}: ${Y}`);this.status=W,this.text=Y,this.response=Z}static async fromResponse(W,Y){try{return new X(W.status,await W.text(),Y?.includeResponse?W:void 0)}catch{return new X(W.status,W.statusText,Y?.includeResponse?W:void 0)}}},V1=class{maxConcurrency;maxRetries;queue;onFailedResponseHook;customFetch;constructor(X){if(this.maxConcurrency=X.maxConcurrency??1/0,this.maxRetries=X.maxRetries??4,"default"in d)this.queue=new d.default({concurrency:this.maxConcurrency});else this.queue=new d({concurrency:this.maxConcurrency});this.onFailedResponseHook=X?.onFailedResponseHook,this.customFetch=X.fetch}call(X,...W){let{onFailedResponseHook:Y}=this;return this.queue.add(()=>S0(()=>X(...W).catch(async(Z)=>{if(Z instanceof Error)throw Z;else if(a1(Z))throw await $1.fromResponse(Z,{includeResponse:!!Y});else throw Error(Z)}),{async onFailedAttempt({error:Z}){let K=Z.message??"";if(K.startsWith("Cancel")||K.startsWith("TimeoutError")||K.startsWith("AbortError"))throw Z;if(Z?.code==="ECONNABORTED")throw Z;if(K.includes("ECONNREFUSED")||K.includes("fetch failed")||K.includes("Failed to fetch")||K.includes("NetworkError")){let B=Error(`Unable to connect to LangGraph server. Please ensure the server is running and accessible. Original error: ${K}`);throw B.name="ConnectionError",B}if(Z instanceof $1){if(s1.includes(Z.status))throw Z;if(Y&&Z.response)await Y(Z.response)}},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(X,W,...Y){if(X.signal)return Promise.race([this.call(W,...Y),new Promise((Z,K)=>{X.signal?.addEventListener("abort",()=>{K(Error("AbortError"))})})]);return this.call(W,...Y)}fetch(...X){let W=this.customFetch??Y1();return this.call(()=>W(...X).then((Y)=>Y.ok?Y:Promise.reject(Y)))}};function J1(X){try{return typeof process<"u"?process.env?.[X]:void 0}catch(W){return}}function G1(...X){let W=X.filter((Z)=>Z!=null);if(W.length===0)return;if(W.length===1)return W[0];let Y=new AbortController;for(let Z of X){if(Z?.aborted)return Y.abort(Z.reason),Y.signal;Z?.addEventListener("abort",()=>Y.abort(Z.reason),{once:!0})}return Y.signal}var t1=[13,10];function Q1(){let X=[],W=!1;return new TransformStream({start(){X=[],W=!1},transform(Y,Z){let K=Y;if(W)K=Z0([[13],K]),W=!1;if(K.length>0&&K.at(-1)===13)W=!0,K=K.subarray(0,-1);if(!K.length)return;let B=t1.includes(K.at(-1)),$=K.length-1,{lines:V}=K.reduce((J,G,U)=>{if(J.from>U)return J;if(G===13||G===10)if(J.lines.push(K.subarray(J.from,U)),G===13&&K[U+1]===10)J.from=U+2;else J.from=U+1;if(U===$&&J.from<=$)J.lines.push(K.subarray(J.from));return J},{lines:[],from:0});if(V.length===1&&!B){X.push(V[0]);return}if(X.length)X.push(V[0]),V[0]=Z0(X),X=[];if(!B){if(V.length)X=[V.pop()]}for(let J of V)Z.enqueue(J)},flush(Y){if(X.length)Y.enqueue(Z0(X))}})}function U1(){let X="",W=[],Y="",Z=null,K=new TextDecoder;return new TransformStream({transform(B,$){if(!B.length){if(!X&&!W.length&&!Y&&Z==null)return;let U={id:Y||void 0,event:X,data:W.length?D1(K,W):null};X="",W=[],Z=null,$.enqueue(U);return}if(B[0]===58)return;let V=B.indexOf(58);if(V===-1)return;let J=K.decode(B.subarray(0,V)),G=B.subarray(V+1);if(G[0]===32)G=G.subarray(1);if(J==="event")X=K.decode(G);else if(J==="data")W.push(G);else if(J==="id"){if(G.indexOf(0)===-1)Y=K.decode(G)}else if(J==="retry"){let U=Number.parseInt(K.decode(G),10);if(!Number.isNaN(U))Z=U}},flush(B){if(X)B.enqueue({id:Y||void 0,event:X,data:W.length?D1(K,W):null})}})}function Z0(X){let W=X.reduce((K,B)=>K+B.length,0),Y=new Uint8Array(W),Z=0;for(let K of X)Y.set(K,Z),Z+=K.length;return Y}function D1(X,W){return JSON.parse(X.decode(Z0(W)))}var z1=(X)=>{if("isError"in Error&&typeof Error.isError==="function")return Error.isError(X);let W=Object.prototype.toString.call(X);return W==="[object Error]"||W==="[object DOMException]"||W==="[object DOMError]"||W==="[object Exception]"},o1=(X)=>{let{cause:W}=X;if(typeof W!=="object"||W==null)return null;if(!z1(W))return null;return W},F1=(X)=>{if(!z1(X))return!1;if(X.name!=="TypeError"||typeof X.message!=="string")return!1;let W=X.message.toLowerCase(),Y=o1(X)?.message?.toLowerCase()??"";return W.includes("fetch")||W.includes("network")||W.includes("connection")||W.includes("error sending request")||W.includes("load failed")||W.includes("terminated")||Y.includes("other side closed")||Y.includes("socket")};var e1=class extends Error{constructor(X,W){super(`Exceeded maximum SSE reconnection attempts (${X})`);this.name="MaxReconnectAttemptsError",this.cause=W}};async function*H1(X,W={}){let Y=W.maxRetries??5,Z=0,K,B;while(!0){let $=!1,V,J;try{if(W.signal?.aborted)return;let{response:G,stream:U}=await X(B?{lastEventId:K,reconnectPath:B}:void 0),z=G.headers.get("location");if(z)B=z;let Q=G.headers.get("content-type")?.split(";")[0];if(Q&&!Q.includes("text/event-stream"))throw Error(`Expected response header Content-Type to contain 'text/event-stream', got '${Q}'`);J=U.getReader();try{while(!0){if(W.signal?.aborted){await J.cancel();return}let{done:H,value:N}=await J.read();if(H)break;if(N.id)K=N.id;yield N}break}catch(H){if(B&&!W.signal?.aborted)$=!0;else throw H}finally{if(J)try{J.releaseLock()}catch{}}}catch(G){if(V=G,F1(G)&&B&&!W.signal?.aborted)$=!0;else throw G}if($){if(Z+=1,Z>Y)throw new e1(Y,V);W.onReconnect?.({attempt:Z,lastEventId:K,cause:V});let G=Math.min(1000*2**(Z-1),5000)+Math.random()*1000;await new Promise((U)=>{setTimeout(U,G)});continue}break}}function*X8(X){let W,Y=!1;if(X instanceof Headers){let Z=[];X.forEach((K,B)=>{Z.push([B,K])}),W=Z}else if(Array.isArray(X))W=X;else Y=!0,W=Object.entries(X??{});for(let Z of W){let K=Z[0];if(typeof K!=="string")throw TypeError(`Expected header name to be a string, got ${typeof K}`);let B=Array.isArray(Z[1])?Z[1]:[Z[1]],$=!1;for(let V of B){if(V===void 0)continue;if(Y&&!$)$=!0,yield[K,null];yield[K,V]}}}function N1(...X){let W=new Headers;for(let Z of X){if(!Z)continue;for(let[K,B]of X8(Z))if(B===null)W.delete(K);else W.append(K,B)}let Y=[];return W.forEach((Z,K)=>{Y.push([K,Z])}),Object.fromEntries(Y)}function O1(X){if(X===null)return;if(X)return X;for(let W of["LANGGRAPH","LANGSMITH","LANGCHAIN"]){let Y=J1(`${W}_API_KEY`);if(Y)return Y.trim().replace(/^["']|["']$/g,"")}}var W8=/(\/threads\/(?<thread_id>.+))?\/runs\/(?<run_id>.+)/;function u0(X){let W=X.headers.get("Content-Location");if(!W)return;let Y=W8.exec(W);if(!Y?.groups?.run_id)return;return{run_id:Y.groups.run_id,thread_id:Y.groups.thread_id||void 0}}var p=class{asyncCaller;timeoutMs;apiUrl;defaultHeaders;onRequest;constructor(X){let W={maxRetries:4,maxConcurrency:4,...X?.callerOptions},Y="http://localhost:8123";if(!X?.apiUrl&&typeof globalThis==="object"&&globalThis!=null){let K=Symbol.for("langgraph_api:fetch"),B=Symbol.for("langgraph_api:url"),$=globalThis;if($[K])W.fetch??=$[K];if($[B])Y=$[B]}this.asyncCaller=new V1(W),this.timeoutMs=X?.timeoutMs,this.apiUrl=X?.apiUrl?.replace(/\/$/,"")||Y,this.defaultHeaders=X?.defaultHeaders||{},this.onRequest=X?.onRequest;let Z=O1(X?.apiKey);if(Z)this.defaultHeaders["x-api-key"]=Z}prepareFetchOptions(X,W){let Y={...W,headers:N1(this.defaultHeaders,W?.headers)};if(Y.json)Y.body=JSON.stringify(Y.json),Y.headers=N1(Y.headers,{"content-type":"application/json"}),delete Y.json;if(Y.withResponse)delete Y.withResponse;let Z=null;if(typeof W?.timeoutMs<"u"){if(W.timeoutMs!=null)Z=AbortSignal.timeout(W.timeoutMs)}else if(this.timeoutMs!=null)Z=AbortSignal.timeout(this.timeoutMs);Y.signal=G1(Z,Y.signal);let K=new URL(`${this.apiUrl}${X}`);if(Y.params){for(let[B,$]of Object.entries(Y.params)){if($==null)continue;let V=typeof $==="string"||typeof $==="number"?$.toString():JSON.stringify($);K.searchParams.append(B,V)}delete Y.params}return[K,Y]}async fetch(X,W){let[Y,Z]=this.prepareFetchOptions(X,W),K=Z;if(this.onRequest)K=await this.onRequest(Y,Z);let B=await this.asyncCaller.fetch(Y.toString(),K),$=(()=>{if(B.status===202||B.status===204)return;return B.json()})();if(W?.withResponse)return[await $,B];return $}async*streamWithRetry(X){yield*H1(async(Y)=>{let Z=Y?.reconnectPath||X.endpoint,K=!!Y?.reconnectPath,B=K?"GET":X.method||"GET",$=K&&Y?.lastEventId?{...X.headers,"Last-Event-ID":Y.lastEventId}:X.headers,[V,J]=this.prepareFetchOptions(Z,{method:B,timeoutMs:null,signal:X.signal,headers:$,params:X.params,json:K?void 0:X.json});if(this.onRequest!=null)J=await this.onRequest(V,J);let G=await this.asyncCaller.fetch(V.toString(),J);if(!K&&X.onInitialResponse)await X.onInitialResponse(G);return{response:G,stream:(G.body||new ReadableStream({start:(U)=>U.close()})).pipeThrough(Q1()).pipeThrough(U1())}},{maxRetries:X.maxRetries??5,signal:X.signal,onReconnect:X.onReconnect})}},Y8=class extends p{async createForThread(X,W,Y){let Z={schedule:Y?.schedule,input:Y?.input,config:Y?.config,context:Y?.context,metadata:Y?.metadata,assistant_id:W,interrupt_before:Y?.interruptBefore,interrupt_after:Y?.interruptAfter,webhook:Y?.webhook,multitask_strategy:Y?.multitaskStrategy,if_not_exists:Y?.ifNotExists,checkpoint_during:Y?.checkpointDuring,durability:Y?.durability,enabled:Y?.enabled};return this.fetch(`/threads/${X}/runs/crons`,{method:"POST",json:Z,signal:Y?.signal})}async create(X,W){let Y={schedule:W?.schedule,input:W?.input,config:W?.config,context:W?.context,metadata:W?.metadata,assistant_id:X,interrupt_before:W?.interruptBefore,interrupt_after:W?.interruptAfter,webhook:W?.webhook,on_run_completed:W?.onRunCompleted,multitask_strategy:W?.multitaskStrategy,if_not_exists:W?.ifNotExists,checkpoint_during:W?.checkpointDuring,durability:W?.durability,enabled:W?.enabled};return this.fetch("/runs/crons",{method:"POST",json:Y,signal:W?.signal})}async update(X,W){let Y={};if(W?.schedule!==void 0)Y.schedule=W.schedule;if(W?.endTime!==void 0)Y.end_time=W.endTime;if(W?.input!==void 0)Y.input=W.input;if(W?.metadata!==void 0)Y.metadata=W.metadata;if(W?.config!==void 0)Y.config=W.config;if(W?.context!==void 0)Y.context=W.context;if(W?.webhook!==void 0)Y.webhook=W.webhook;if(W?.interruptBefore!==void 0)Y.interrupt_before=W.interruptBefore;if(W?.interruptAfter!==void 0)Y.interrupt_after=W.interruptAfter;if(W?.onRunCompleted!==void 0)Y.on_run_completed=W.onRunCompleted;if(W?.enabled!==void 0)Y.enabled=W.enabled;return this.fetch(`/runs/crons/${X}`,{method:"PATCH",json:Y,signal:W?.signal})}async delete(X,W){await this.fetch(`/runs/crons/${X}`,{method:"DELETE",signal:W?.signal})}async search(X){return this.fetch("/runs/crons/search",{method:"POST",json:{assistant_id:X?.assistantId??void 0,thread_id:X?.threadId??void 0,enabled:X?.enabled??void 0,limit:X?.limit??10,offset:X?.offset??0,sort_by:X?.sortBy??void 0,sort_order:X?.sortOrder??void 0,select:X?.select??void 0},signal:X?.signal})}async count(X){return this.fetch("/runs/crons/count",{method:"POST",json:{assistant_id:X?.assistantId??void 0,thread_id:X?.threadId??void 0},signal:X?.signal})}},Z8=class extends p{async get(X,W){return this.fetch(`/assistants/${X}`,{signal:W?.signal})}async getGraph(X,W){return this.fetch(`/assistants/${X}/graph`,{params:{xray:W?.xray},signal:W?.signal})}async getSchemas(X,W){return this.fetch(`/assistants/${X}/schemas`,{signal:W?.signal})}async getSubgraphs(X,W){if(W?.namespace)return this.fetch(`/assistants/${X}/subgraphs/${W.namespace}`,{params:{recurse:W?.recurse},signal:W?.signal});return this.fetch(`/assistants/${X}/subgraphs`,{params:{recurse:W?.recurse},signal:W?.signal})}async create(X){return this.fetch("/assistants",{method:"POST",json:{graph_id:X.graphId,config:X.config,context:X.context,metadata:X.metadata,assistant_id:X.assistantId,if_exists:X.ifExists,name:X.name,description:X.description},signal:X.signal})}async update(X,W){return this.fetch(`/assistants/${X}`,{method:"PATCH",json:{graph_id:W.graphId,config:W.config,context:W.context,metadata:W.metadata,name:W.name,description:W.description},signal:W.signal})}async delete(X,W){return this.fetch(`/assistants/${X}?delete_threads=${W?.deleteThreads??!1}`,{method:"DELETE",signal:W?.signal})}async search(X){let W={graph_id:X?.graphId??void 0,name:X?.name??void 0,metadata:X?.metadata??void 0,limit:X?.limit??10,offset:X?.offset??0,sort_by:X?.sortBy??void 0,sort_order:X?.sortOrder??void 0,select:X?.select??void 0},[Y,Z]=await this.fetch("/assistants/search",{method:"POST",json:W,withResponse:!0,signal:X?.signal});if(X?.includePagination)return{assistants:Y,next:Z.headers.get("X-Pagination-Next")};return Y}async count(X){return this.fetch("/assistants/count",{method:"POST",json:{metadata:X?.metadata??void 0,graph_id:X?.graphId??void 0,name:X?.name??void 0},signal:X?.signal})}async getVersions(X,W){return this.fetch(`/assistants/${X}/versions`,{method:"POST",json:{metadata:W?.metadata??void 0,limit:W?.limit??10,offset:W?.offset??0},signal:W?.signal})}async setLatest(X,W,Y){return this.fetch(`/assistants/${X}/latest`,{method:"POST",json:{version:W},signal:Y?.signal})}},K8=class extends p{async get(X,W){return this.fetch(`/threads/${X}`,{signal:W?.signal})}async create(X){let W=typeof X?.ttl==="number"?{ttl:X.ttl,strategy:"delete"}:X?.ttl;return this.fetch("/threads",{method:"POST",json:{metadata:{...X?.metadata,graph_id:X?.graphId},thread_id:X?.threadId,if_exists:X?.ifExists,supersteps:X?.supersteps?.map((Y)=>({updates:Y.updates.map((Z)=>({values:Z.values,command:Z.command,as_node:Z.asNode}))})),ttl:W},signal:X?.signal})}async copy(X,W){return this.fetch(`/threads/${X}/copy`,{method:"POST",signal:W?.signal})}async update(X,W){let Y=typeof W?.ttl==="number"?{ttl:W.ttl,strategy:"delete"}:W?.ttl;return this.fetch(`/threads/${X}`,{method:"PATCH",json:{metadata:W?.metadata,ttl:Y},signal:W?.signal})}async delete(X,W){return this.fetch(`/threads/${X}`,{method:"DELETE",signal:W?.signal})}async search(X){return this.fetch("/threads/search",{method:"POST",json:{metadata:X?.metadata??void 0,ids:X?.ids??void 0,limit:X?.limit??10,offset:X?.offset??0,status:X?.status,sort_by:X?.sortBy,sort_order:X?.sortOrder,select:X?.select??void 0,values:X?.values??void 0,extract:X?.extract??void 0},signal:X?.signal})}async count(X){return this.fetch("/threads/count",{method:"POST",json:{metadata:X?.metadata??void 0,values:X?.values??void 0,status:X?.status??void 0},signal:X?.signal})}async getState(X,W,Y){if(W!=null){if(typeof W!=="string")return this.fetch(`/threads/${X}/state/checkpoint`,{method:"POST",json:{checkpoint:W,subgraphs:Y?.subgraphs},signal:Y?.signal});return this.fetch(`/threads/${X}/state/${W}`,{params:{subgraphs:Y?.subgraphs},signal:Y?.signal})}return this.fetch(`/threads/${X}/state`,{params:{subgraphs:Y?.subgraphs},signal:Y?.signal})}async updateState(X,W){return this.fetch(`/threads/${X}/state`,{method:"POST",json:{values:W.values,checkpoint_id:W.checkpointId,checkpoint:W.checkpoint,as_node:W?.asNode},signal:W?.signal})}async patchState(X,W,Y){let Z;if(typeof X!=="string"){if(typeof X.configurable?.thread_id!=="string")throw Error("Thread ID is required when updating state with a config.");Z=X.configurable.thread_id}else Z=X;return this.fetch(`/threads/${Z}/state`,{method:"PATCH",json:{metadata:W},signal:Y?.signal})}async getHistory(X,W){return this.fetch(`/threads/${X}/history`,{method:"POST",json:{limit:W?.limit??10,before:W?.before,metadata:W?.metadata,checkpoint:W?.checkpoint},signal:W?.signal})}async*joinStream(X,W){yield*this.streamWithRetry({endpoint:`/threads/${X}/stream`,method:"GET",signal:W?.signal,headers:W?.lastEventId?{"Last-Event-ID":W.lastEventId}:void 0,params:W?.streamMode?{stream_mode:W.streamMode}:void 0})}},B8=class extends p{async*stream(X,W,Y){let Z={input:Y?.input,command:Y?.command,config:Y?.config,context:Y?.context,metadata:Y?.metadata,stream_mode:Y?.streamMode,stream_subgraphs:Y?.streamSubgraphs,stream_resumable:Y?.streamResumable,feedback_keys:Y?.feedbackKeys,assistant_id:W,interrupt_before:Y?.interruptBefore,interrupt_after:Y?.interruptAfter,checkpoint:Y?.checkpoint,checkpoint_id:Y?.checkpointId,webhook:Y?.webhook,multitask_strategy:Y?.multitaskStrategy,on_completion:Y?.onCompletion,on_disconnect:Y?.onDisconnect,after_seconds:Y?.afterSeconds,if_not_exists:Y?.ifNotExists,checkpoint_during:Y?.checkpointDuring,durability:Y?.durability};yield*this.streamWithRetry({endpoint:X==null?"/runs/stream":`/threads/${X}/runs/stream`,method:"POST",json:Z,signal:Y?.signal,onInitialResponse:(K)=>{let B=u0(K);if(B)Y?.onRunCreated?.(B)}})}async create(X,W,Y){let Z={input:Y?.input,command:Y?.command,config:Y?.config,context:Y?.context,metadata:Y?.metadata,stream_mode:Y?.streamMode,stream_subgraphs:Y?.streamSubgraphs,stream_resumable:Y?.streamResumable,assistant_id:W,interrupt_before:Y?.interruptBefore,interrupt_after:Y?.interruptAfter,webhook:Y?.webhook,checkpoint:Y?.checkpoint,checkpoint_id:Y?.checkpointId,multitask_strategy:Y?.multitaskStrategy,after_seconds:Y?.afterSeconds,if_not_exists:Y?.ifNotExists,checkpoint_during:Y?.checkpointDuring,durability:Y?.durability,langsmith_tracer:Y?._langsmithTracer?{project_name:Y?._langsmithTracer?.projectName,example_id:Y?._langsmithTracer?.exampleId}:void 0},K=X===null?"/runs":`/threads/${X}/runs`,[B,$]=await this.fetch(K,{method:"POST",json:Z,signal:Y?.signal,withResponse:!0}),V=u0($);if(V)Y?.onRunCreated?.(V);return B}async createBatch(X,W){let Y=X.map((Z)=>({...Z,assistant_id:Z.assistantId})).map((Z)=>{return Object.fromEntries(Object.entries(Z).filter(([K,B])=>B!==void 0))});return this.fetch("/runs/batch",{method:"POST",json:Y,signal:W?.signal})}async wait(X,W,Y){let Z={input:Y?.input,command:Y?.command,config:Y?.config,context:Y?.context,metadata:Y?.metadata,assistant_id:W,interrupt_before:Y?.interruptBefore,interrupt_after:Y?.interruptAfter,checkpoint:Y?.checkpoint,checkpoint_id:Y?.checkpointId,webhook:Y?.webhook,multitask_strategy:Y?.multitaskStrategy,on_completion:Y?.onCompletion,on_disconnect:Y?.onDisconnect,after_seconds:Y?.afterSeconds,if_not_exists:Y?.ifNotExists,checkpoint_during:Y?.checkpointDuring,durability:Y?.durability,langsmith_tracer:Y?._langsmithTracer?{project_name:Y?._langsmithTracer?.projectName,example_id:Y?._langsmithTracer?.exampleId}:void 0},K=X==null?"/runs/wait":`/threads/${X}/runs/wait`,[B,$]=await this.fetch(K,{method:"POST",json:Z,timeoutMs:null,signal:Y?.signal,withResponse:!0}),V=u0($);if(V)Y?.onRunCreated?.(V);if((Y?.raiseError!==void 0?Y.raiseError:!0)&&"__error__"in B&&typeof B.__error__==="object"&&B.__error__&&"error"in B.__error__&&"message"in B.__error__)throw Error(`${B.__error__?.error}: ${B.__error__?.message}`);return B}async list(X,W){return this.fetch(`/threads/${X}/runs`,{params:{limit:W?.limit??10,offset:W?.offset??0,status:W?.status??void 0,select:W?.select??void 0},signal:W?.signal})}async get(X,W,Y){return this.fetch(`/threads/${X}/runs/${W}`,{signal:Y?.signal})}async cancel(X,W,Y=!1,Z="interrupt",K={}){return this.fetch(`/threads/${X}/runs/${W}/cancel`,{method:"POST",params:{wait:Y?"1":"0",action:Z},signal:K?.signal})}async join(X,W,Y){return this.fetch(`/threads/${X}/runs/${W}/join`,{timeoutMs:null,signal:Y?.signal})}async*joinStream(X,W,Y){let Z=typeof Y==="object"&&Y!=null&&Y instanceof AbortSignal?{signal:Y}:Y;yield*this.streamWithRetry({endpoint:X!=null?`/threads/${X}/runs/${W}/stream`:`/runs/${W}/stream`,method:"GET",signal:Z?.signal,headers:Z?.lastEventId?{"Last-Event-ID":Z.lastEventId}:void 0,params:{cancel_on_disconnect:Z?.cancelOnDisconnect?"1":"0",stream_mode:Z?.streamMode}})}async delete(X,W,Y){return this.fetch(`/threads/${X}/runs/${W}`,{method:"DELETE",signal:Y?.signal})}},$8=class extends p{async putItem(X,W,Y,Z){X.forEach((B)=>{if(B.includes("."))throw Error(`Invalid namespace label '${B}'. Namespace labels cannot contain periods ('.')`)});let K={namespace:X,key:W,value:Y,index:Z?.index,ttl:Z?.ttl};return this.fetch("/store/items",{method:"PUT",json:K,signal:Z?.signal})}async getItem(X,W,Y){X.forEach((B)=>{if(B.includes("."))throw Error(`Invalid namespace label '${B}'. Namespace labels cannot contain periods ('.')`)});let Z={namespace:X.join("."),key:W};if(Y?.refreshTtl!==void 0)Z.refresh_ttl=Y.refreshTtl;let K=await this.fetch("/store/items",{params:Z,signal:Y?.signal});return K?{...K,createdAt:K.created_at,updatedAt:K.updated_at}:null}async deleteItem(X,W,Y){return X.forEach((Z)=>{if(Z.includes("."))throw Error(`Invalid namespace label '${Z}'. Namespace labels cannot contain periods ('.')`)}),this.fetch("/store/items",{method:"DELETE",json:{namespace:X,key:W},signal:Y?.signal})}async searchItems(X,W){let Y={namespace_prefix:X,filter:W?.filter,limit:W?.limit??10,offset:W?.offset??0,query:W?.query,refresh_ttl:W?.refreshTtl};return{items:(await this.fetch("/store/items/search",{method:"POST",json:Y,signal:W?.signal})).items.map((Z)=>({...Z,createdAt:Z.created_at,updatedAt:Z.updated_at}))}}async listNamespaces(X){let W={prefix:X?.prefix,suffix:X?.suffix,max_depth:X?.maxDepth,limit:X?.limit??100,offset:X?.offset??0};return this.fetch("/store/namespaces",{method:"POST",json:W,signal:X?.signal})}},V8=class X extends p{static promiseCache={};static getOrCached(W,Y){if(X.promiseCache[W]!=null)return X.promiseCache[W];let Z=Y();return X.promiseCache[W]=Z,Z}async getComponent(W,Y){return X.getOrCached(`${this.apiUrl}-${W}-${Y}`,async()=>{let[Z,K]=this.prepareFetchOptions(`/ui/${W}`,{headers:{Accept:"text/html","Content-Type":"application/json"},method:"POST",json:{name:Y}});if(this.onRequest!=null)K=await this.onRequest(Z,K);return(await this.asyncCaller.fetch(Z.toString(),K)).text()})}},m0=class{assistants;threads;runs;crons;store;"~ui";"~configHash";constructor(X){this["~configHash"]=JSON.stringify({apiUrl:X?.apiUrl,apiKey:X?.apiKey,timeoutMs:X?.timeoutMs,defaultHeaders:X?.defaultHeaders,maxConcurrency:X?.callerOptions?.maxConcurrency,maxRetries:X?.callerOptions?.maxRetries,callbacks:{onFailedResponseHook:X?.callerOptions?.onFailedResponseHook!=null,onRequest:X?.onRequest!=null,fetch:X?.callerOptions?.fetch!=null}}),this.assistants=new Z8(X),this.threads=new K8(X),this.runs=new B8(X),this.crons=new Y8(X),this.store=new $8(X),this["~ui"]=new V8(X)}};var P1=async(X)=>{let W=new m0(X);return W.threads.search=function(Y){return this.fetch("/threads/search",{method:"POST",json:{metadata:(Y==null?void 0:Y.metadata)??void 0,ids:(Y==null?void 0:Y.ids)??void 0,limit:(Y==null?void 0:Y.limit)??10,offset:(Y==null?void 0:Y.offset)??0,status:Y==null?void 0:Y.status,sort_by:Y==null?void 0:Y.sortBy,sort_order:Y==null?void 0:Y.sortOrder,select:(Y==null?void 0:Y.select)??void 0,without_details:(Y==null?void 0:Y.without_details)??!1}})}.bind(W.threads),W};var a5={command:C.enum(["create","update","rewrite"]).describe("The operation to perform: create new artifact, update existing, or rewrite"),id:C.string().describe("Unique identifier for the artifact"),title:C.string().describe("Human-readable title for the artifact"),type:C.string().describe("MIME type of the artifact content (e.g., 'application/vnd.ant.react')"),language:C.string().describe("Programming language or format of the content"),content:C.string().describe("The actual content to be created or updated. Don't Reply These Code to User, User can see these code in artifacts."),old_str:C.string().describe("The existing content to be replaced (for update operations)"),new_str:C.string().describe("The new content to replace the old content (for update operations)")};var J8=(X,W)=>{let Y=new Map;for(let K of X)if(K.type==="tool"&&K.name==="create_artifacts"){let B=new a(K,W),$=B.getInputRepaired();if(!$.id)continue;$.tool_id=B.message.id,$.is_done=B.state==="done",Y.set($.id,[...Y.get($.id)||[],$])}let Z=new Map;for(let[K,B]of Y){let $=[],V="",J="",G="",U=1;for(let z of B){switch(z.command){case"create":V=z.content,J=z.title||`artifact-${K}`,G=z.type||z.language;break;case"update":if(z.old_str&&z.new_str)V=V.replace(z.old_str,z.new_str);else if(z.content)V=z.content;break;case"rewrite":V=z.content;break}let Q={group_id:K,id:z.tool_id,code:V,filename:J,filetype:G,version:U,is_done:z.is_done};$.push(Q),U++}Z.set(K,$)}return[...Z.values()].map((K)=>({id:K[0].group_id,filename:K[K.length-1].filename,filetype:K[K.length-1].filetype,versions:K}))},_1=(X,W)=>{let Y=P(!1),Z=P(null),K=P([]);return z0([X,W],()=>{K.set(J8(X.get(),W.get()))}),{data:{artifacts:K,currentArtifactId:Z,showArtifact:Y},mutation:{setCurrentArtifactById:($,V)=>{let J=Z.get();if(J?.[0]===$&&J?.[1]===V)return;Y.set(!0),Z.set([$,V])},setShowArtifact:($)=>Y.set($)}}};var B6=(X)=>{let W=X.execute||(async(Y,Z)=>{try{let K=await X.handler?.(Y,Z);if(typeof K==="string")return[{type:"text",text:K}];else if(K.decisions)return K;return[{type:"text",text:JSON.stringify(K)}]}catch(K){return[{type:"text",text:`Error: ${K}`}]}});return{...X,execute:W}};var L1=(X)=>{return{name:X.name,description:X.description,parameters:X.isPureParams?X.parameters:A1(C.object(X.parameters))}};class K0{tools=new Map;waitingMap=new Map;bindTool(X){if(this.tools.has(X.name)&&X.name!=="__default__")console.warn(`Tool with name ${X.name} already exists`);this.tools.set(X.name,X)}bindTools(X){X.forEach((W)=>this.bindTool(W))}getAllTools(){return Array.from(this.tools.values())}getTool(X){return this.tools.get(X)}removeTool(X){return this.tools.delete(X)}clearTools(){this.tools.clear()}reset(){this.clearTools(),this.clearWaiting()}clearWaiting(){this.waitingMap.clear()}async callTool(X,W,Y){return await(this.getTool(X)||this.getTool("__default__")).execute?.(W,Y)}async toJSON(X,W=!0){return Array.from(this.tools.values()).filter((Y)=>W?!Y.onlyRender:!0).filter((Y)=>!Y.allowGraph||Y.allowGraph.includes(X)).map((Y)=>L1(Y))}doneWaiting(X,W){if(this.waitingMap.has(X))return this.waitingMap.get(X)(W),this.waitingMap.delete(X),!0;else return console.warn(`Waiting for tool ${X} not found`),!1}isAllToolCompleted(){return this.waitingMap.size}waitForDone(X){return new Promise((Y,Z)=>{this.waitingMap.set(X,Y)})}static waitForUIDone(X,W){return W.client.tools.waitForDone(W.message.id)}}class g0{timeCounter=new Map;start(X){this.timeCounter.set(X,[new Date])}end(X){this.timeCounter.set(X,[this.timeCounter.get(X)?.[0]||new Date,new Date])}setSpendTime(X){if(this.timeCounter.has(X))this.end(X);else this.start(X)}getStartTime(X){return this.timeCounter.get(X)?.[0]||new Date}getEndTime(X){return this.timeCounter.get(X)?.[1]||new Date}getSpendTime(X){let[W,Y=new Date]=this.timeCounter.get(X)||[new Date,new Date];return Y.getTime()-W.getTime()}}class B0{static isTool(X){return X.type==="tool"}static isToolAssistant(X){return X.type==="ai"&&(X.tool_calls?.length||X.tool_call_chunks?.length)}}class d0{streamingMessage=[];graphMessages=[];spendTime=new g0;constructor(){}getStreamingMessages(){return[...this.streamingMessage]}setStreamingMessages(X){this.streamingMessage=X}clearStreamingMessages(){this.streamingMessage=[]}getGraphMessages(){return[...this.graphMessages]}setGraphMessages(X){this.graphMessages=X}updateStreamingMessage(X){let W=this.streamingMessage[this.streamingMessage.length-1];if(!W?.id||X.id!==W.id){this.streamingMessage.push(X);return}this.streamingMessage[this.streamingMessage.length-1]=X}combineGraphMessagesWithStreamingMessages(){let X=new Map(this.streamingMessage.map((W)=>[W.id,W]));return[...this.graphMessages.map((W)=>{if(X.has(W.id)){let Y=X.get(W.id);return X.delete(W.id),Y}return W}),...X.values()]}cloneMessage(X){return JSON.parse(JSON.stringify(X))}attachInfoForMessage(X){let W=null,Y=[...X];for(let Z of Y){if(!Z.additional_kwargs)Z.additional_kwargs={};let K=Z.additional_kwargs?.create_time||c0(this.spendTime.getStartTime(Z.id)),B=Z.additional_kwargs?.update_time||c0(this.spendTime.getEndTime(Z.id));if(Z.additional_kwargs.create_time=K,Z.additional_kwargs.update_time=B,Z.unique_id=Z.tool_call_id||Z.id,Z.spend_time=new Date(B).getTime()-new Date(K).getTime(),!Z.usage_metadata&&Z.response_metadata?.usage){let $=Z.response_metadata.usage;Z.usage_metadata={...$,input_tokens:$.prompt_tokens,output_tokens:$.completion_tokens,total_tokens:$.total_tokens}}W=Z}return Y}composeToolMessages(X){let W=[],Y=new Map,Z=new Map;for(let K of X){if(B0.isToolAssistant(K)){if((K.tool_calls||K.tool_call_chunks)?.forEach((B)=>{Y.set(B.id,B),Z.set(B.id,K)}),!K.content)continue}if(B0.isTool(K)&&!K.tool_input){let B=Y.get(K.tool_call_id),$=Z.get(K.tool_call_id);if(B){K.tool_input=typeof B.args!=="string"?JSON.stringify(B.args):B.args;let V=!!K.content;K.done=V,K.additional_kwargs={...$?.additional_kwargs||{},...K.additional_kwargs||{},done:V}}if($){if(K.usage_metadata=$.usage_metadata,K.node_name=$.name,K.source_ai_message_id=$.id,!K.name)K.name=$.tool_calls.find((V)=>V.id===K.tool_call_id)?.name}}W.push(K)}return W}renderMessages(X,W,Y){let Z=new Map,K=new Set,B=[],$=this.combineGraphMessagesWithStreamingMessages();for(let V=$.length-1;V>=0;V--){let J=this.cloneMessage($[V]);if(!J.id){B.unshift(J);continue}if(J.type==="ai"){if(!J.name)J.name=W().name}if(B0.isToolAssistant(J)){let G=J;Z.set(J.id,G);let z=((G.tool_calls?.length)?G.tool_calls:G.tool_call_chunks).filter((Q)=>{return!K.has(Q.id)}).map((Q,H)=>{return{type:"tool",additional_kwargs:{},tool_input:G.additional_kwargs?.tool_calls?.[H]?.function?.arguments,id:Q.id,name:Q.name,response_metadata:{},tool_call_id:Q.id,content:""}});for(let Q of z)if(!Z.has(Q.id))B.unshift(Q),Z.set(Q.id,Q);B.unshift(G)}else{if(J.type==="tool"&&J.tool_call_id)K.add(J.tool_call_id);Z.set(J.id,J),B.unshift(J)}}return this.processMessages(B,X,Y)}foldTreeMessages(X,W,Y){let Z=Object.entries(W?.task_store||{}).map(([G,U])=>[G,U.messages]),K=new Map(Z),B=new Set,$=new Map(Object.entries(Y||{}).map(([G,U])=>{if(U?.parent_id)return B.add(G),[G,U?.parent_id];return}).filter((G)=>G!==void 0)),V=K,J=[];for(let G of X){let U=G.source_ai_message_id||G.id;if(!!B.has(U)){let Q=$.get(U),H=V.get(Q);if(H)H.push(G);else V.set(Q,[G])}else J.push(G)}for(let G of J)if(G.sub_messages=V.get(G.id)||[],G.type==="tool"&&V.has(G.tool_call_id)){G.sub_messages.unshift(...V.get(G.tool_call_id));let U=G.sub_messages.filter((z,Q,H)=>H.findIndex((N)=>N.id===z.id)===Q);G.sub_messages=this.beforeFold(U)}return J}beforeFold(X){let W=this.composeToolMessages(X);return this.attachInfoForMessage(W)}processMessages(X,W,Y){return this.foldTreeMessages(this.beforeFold(X),W,Y)}}async function b1(X,W,Y,Z){let K=await X.threads.get(W),B=K.values.messages,$=B.findIndex((z)=>z.id===Y);if($===-1)throw Error(`Message id ${Y} not found`);let V=Z.includeMessageId?$:$+1,J=B.slice(V),G={...K.values,messages:J.map((z)=>{return{type:"remove",id:z.id}})},U=await X.threads.updateState(W,{values:G});return{state:{messages:B.slice(0,V)},checkpoint:U}}class $0 extends Y0.default{client;currentAssistant=null;currentThread=null;tools=new K0;availableAssistants=[];graphState={};currentRun;stopController=null;messageProcessor;legacyMode;_status="idle";constructor(X){super();this.client=X.client,this.legacyMode=X.legacyMode??!1,this.messageProcessor=new d0}get assistants(){return this.client.assistants}get threads(){return this.client.threads}get runs(){return this.client.runs}get status(){return this._status}listAssistants(){return this.assistants.search({metadata:null,offset:0,limit:100})}async initAssistant(X,W={}){try{let Y=await this.listAssistants();if(this.availableAssistants=Y,Y.length>0)if(X){if(this.currentAssistant=Y.find((Z)=>Z.graph_id===X)||null,!this.currentAssistant){if(W.fallbackToAvailableAssistants)return this.currentAssistant=this.availableAssistants[0],this.currentAssistant;throw Error("Agent not found: "+X)}}else return this.currentAssistant=Y[0],this.currentAssistant;else throw Error("No assistants found")}catch(Y){throw console.error("Failed to initialize LangGraphClient:",Y),Y}}async createThread({threadId:X,graphId:W,metadata:Y}={}){try{return this.currentThread=await this.threads.create({metadata:Y,threadId:X,graphId:W}),this.currentThread}catch(Z){throw console.error("Failed to create new thread:",Z),Z}}graphVisualize(){return this.assistants.getGraph(this.currentAssistant?.assistant_id,{xray:!0})}async listThreads(X={}){let W={};if(X.ids)W.ids=X.ids;if(X.metadata)W.metadata=X.metadata;if(X.status)W.status=X.status;if(X.values)W.values=X.values;if(X.limit!==void 0)W.limit=X.limit;if(X.offset!==void 0)W.offset=X.offset;if(X.sortBy)W.sortBy=X.sortBy;if(X.sortOrder)W.sortOrder=X.sortOrder;if(X.select)W.select=X.select;if(X.withoutDetails!==void 0)W.without_details=X.withoutDetails;if(!X.sortBy)W.sortBy="updated_at";if(!X.sortOrder)W.sortOrder="desc";if(!X.limit)W.limit=10;if(!X.offset)W.offset=0;if(!X.withoutDetails)W.without_details=!0;return this.threads.search(W)}async deleteThread(X){return this.threads.delete(X)}async resetThread(X,W){await this.initAssistant(X),this.currentThread=await this.threads.get(W),this.graphState=this.currentThread.values;let Y=this.graphState?.messages||[];if(this.messageProcessor.setGraphMessages(Y),this.emit("value",{event:"messages/partial",data:{messages:this.messageProcessor.getGraphMessages()}}),this.currentThread?.status==="interrupted")this.sendMessage([],{joinRunId:this.currentThread.thread_id});return this.currentThread}async resetStream(){let W=(await this.runs.list(this.currentThread.thread_id))?.find((Y)=>Y.status==="running"||Y.status==="pending");if(W)await this.sendMessage([],{joinRunId:W.run_id})}cloneMessage(X){return this.messageProcessor.cloneMessage(X)}get renderMessage(){return this.messageProcessor.renderMessages(this.graphState,()=>this.getGraphNodeNow(),this.messagesMetadata)}get tokenCounter(){return this.messageProcessor.getGraphMessages().reduce((X,W)=>{if(W.usage_metadata)X.total_tokens+=W.usage_metadata?.total_tokens||0,X.input_tokens+=W.usage_metadata?.input_tokens||0,X.output_tokens+=W.usage_metadata?.output_tokens||0;else if(W.response_metadata?.usage){let Y=W.response_metadata?.usage;X.total_tokens+=Y.total_tokens||0,X.input_tokens+=Y.prompt_tokens||0,X.output_tokens+=Y.completion_tokens||0}return X},{total_tokens:0,input_tokens:0,output_tokens:0})}isFELocking(X){let W=X[X.length-1];if(!W)return!1;let Y=this.tools.getTool(W?.name);return Y&&Y.render&&W?.type==="tool"&&!W?.additional_kwargs?.done}cancelRun(){if(this.currentThread?.thread_id&&this.currentRun?.run_id)this.runs.cancel(this.currentThread.thread_id,this.currentRun.run_id)}async revertChatTo(X,W){let{state:Y,checkpoint:Z}=await b1(this.client,this.currentThread.thread_id,X,W);return this.graphState=Y,this.messageProcessor.clearStreamingMessages(),this.messageProcessor.setGraphMessages(Y.messages),Y}messagesMetadata={};humanInTheLoop=null;interruptData=null;async sendMessage(X,{joinRunId:W,extraParams:Y,_debug:Z,command:K,metadata:B}={}){if(!this.currentAssistant)throw Error("Thread or Assistant not initialized");if(!this.currentThread)await this.createThread({graphId:this.currentAssistant.graph_id,metadata:B}),this.emit("thread",{event:"thread/create",data:{thread:this.currentThread}});if(this.interruptData)this.interruptData=null,this.emit("interruptChange",{event:"interruptChange"});let $=Array.isArray(X)?X:[{type:"human",content:X}],V=[];this._status="busy",this.emit("start",{event:"start"});let G=await(async()=>{if(Z?.streamResponse)return Z.streamResponse;let z=this.legacyMode?(Q)=>{V.push(Q),this.processStreamChunk(Q,K)}:void 0;if(W)return this.runs.joinStream(this.currentThread.thread_id,W,{onCallback:z});return this.runs.stream(this.currentThread.thread_id,this.currentAssistant.assistant_id,{input:{...this.graphState,...this.extraParams,...Y||{},messages:$,fe_tools:await this.tools.toJSON(this.currentAssistant.graph_id)},streamMode:["messages","values"],streamSubgraphs:!0,command:K,onCallback:z})})();if(!this.legacyMode)for await(let z of G)V.push(z),this.processStreamChunk(z,K);let U=await Promise.race([this.runFETool(),new Promise((z)=>{this.forceSkipToolLock=()=>z(null)})]);if(this.forceSkipToolLock=void 0,await this.responseHumanInTheLoop(),U)V.push(...U);return this._status="idle",this.emit("done",{event:"done"}),this.messageProcessor.clearStreamingMessages(),V}graphPosition="";getGraphPosition(){return this.graphPosition.split("|").map((X)=>{let[W,Y]=X.split(":");return{id:Y,name:W}})}getGraphNodeNow(){let X=this.getGraphPosition();return X[X.length-1]}processStreamChunk(X,W){if(X.event==="metadata")this.currentRun=X.data;else if(X.event==="error"||X.event==="Error"||X.event==="__stream_error__")this._status="error",this.emit("error",X);else if(X.event==="messages/metadata")return Object.assign(this.messagesMetadata,X.data),!0;else if(X.event==="messages/partial"||X.event==="messages/complete"){for(let Y of X.data)this.messageProcessor.updateStreamingMessage(Y),this.messageProcessor.spendTime.setSpendTime(Y.id);return this.emit("message",X),!0}else if(X.event==="values"){let Y=X.data;if(Y?.__interrupt__){let Z=this.getHumanInTheLoopData(Y?.__interrupt__);if(Z)this.humanInTheLoop=Z;else this.interruptData=Y.__interrupt__}else if(Y?.messages){let Z=!!W?.resume,K=Y.messages.length>=this.messageProcessor.getGraphMessages().length;if(!Z||Z&&K)this.messageProcessor.setGraphMessages(Y.messages),this.emit("value",X);this.graphState=X.data}return!0}else if(X.event.startsWith("values|"))this.graphPosition=X.event.split("|")[1];return!1}runFETool(){let X=this.messageProcessor.getStreamingMessages(),W=X[X.length-1];if(!W)return;if(W.type==="ai"&&W.tool_calls?.length){let Y=W.tool_calls.map((Z)=>{let K={...Z,tool_call_id:Z.id,tool_input:JSON.stringify(Z.args),additional_kwargs:{}};return this.callFETool(K,Z.args).catch((B)=>console.warn(B))});return this._status="interrupted",this.currentThread.status="interrupted",this.emit("interruptChange",{event:"interruptChange"}),Promise.all(Y)}}getHumanInTheLoopData(X){if(k.array(k.object({id:k.string(),value:k.union([k.object({review_configs:k.array(k.any())}),k.object({reviewConfigs:k.array(k.any())})])})).safeParse(X).success){let Y=X.map((Z)=>{if(Z&&"review_configs"in Z.value)return{id:Z.id,value:{actionRequests:Z.value.action_requests,reviewConfigs:R1(Z.value.review_configs,{deep:!0})}};return Z});return Y.forEach((Z)=>{return Z.value.actionRequests.forEach((K)=>{K.id=K.id||o(K)}),Z}),{interruptData:Y,result:{}}}}async responseHumanInTheLoop(){if(this.humanInTheLoop){let X=this.humanInTheLoop;return this.humanInTheLoop=null,this.resume({decisions:X.interruptData[0].value.actionRequests.map((W)=>{return X.result[W.id]})})}}async callFETool(X,W){let Y=this;if(!await this.tools.callTool(X.name,W,{client:Y,message:X}))return}extraParams={};resume(X){return this.sendMessage([],{command:{resume:X}})}doneFEToolWaiting(X,W){if(!this.tools.doneWaiting(X,W)&&this.currentThread?.status==="interrupted")this.resume(W)}forceSkipToolLock;doneHumanInTheLoopWaiting(X,W,Y){if(this.tools.doneWaiting(X,Y),this.humanInTheLoop){if(this.humanInTheLoop.result[W]=Y,Object.keys(this.humanInTheLoop.result).length===this.humanInTheLoop.interruptData?.[0]?.value?.actionRequests?.length)setTimeout(()=>{if(this.forceSkipToolLock)console.warn("force kill tool lock"),this.forceSkipToolLock()},100)}}getCurrentThread(){return this.currentThread}getCurrentAssistant(){return this.currentAssistant}async reset(){await this.initAssistant(this.currentAssistant?.graph_id),this.currentThread=null,this.graphState={},this.messageProcessor.setGraphMessages([]),this.messageProcessor.clearStreamingMessages(),this.currentRun=void 0,this.tools.clearWaiting(),this._status="idle",this.emit("value",{event:"messages/partial",data:{messages:[]}})}}class p0{sessions=new Map;activeSessionId=null;clientConfig;virtualClient;constructor(X){this.clientConfig=X,this.virtualClient=new $0(X)}async createSession(X={}){let W=X.sessionId||this.generateSessionId(),Y=X.agentName||this.virtualClient.getCurrentAssistant()?.graph_id;if(!Y)throw Error("Agent name is required. Please call init() first or provide agentName.");if(this.sessions.has(W))throw Error(`Session ${W} already exists`);let Z={sessionId:W,agentName:Y,metadata:X.metadata};if(X.restore)Z.thread=await this.virtualClient.threads.get(W);return this.sessions.set(W,Z),Z}async activateSession(X,W=!1){let Y=this.sessions.get(X)||{sessionId:X,agentName:this.virtualClient.getCurrentAssistant()?.graph_id};if(!Y.client){let K=new $0(this.clientConfig);if(await K.initAssistant(Y.agentName),Y.metadata&&!Y.thread)await K.createThread({graphId:K.getCurrentAssistant()?.graph_id,metadata:Y.metadata});if(Y.thread||W)await K.resetThread(Y.agentName,X);Y.client=K}let Z=this.activeSessionId&&this.sessions.get(this.activeSessionId);if(Z&&Z.client?.status==="idle")Z.client?.reset(),Z.client=void 0;return this.activeSessionId=X,Y}getActiveSession(){if(!this.activeSessionId)return null;return this.sessions.get(this.activeSessionId)||null}getSession(X){return this.sessions.get(X)||null}getAllSessions(){return Array.from(this.sessions.values())}async deleteSession(X){if(!this.sessions.get(X))return!1;if(this.activeSessionId===X)this.activeSessionId=null;try{await this.virtualClient.deleteThread(X)}catch(Y){console.warn(`Failed to delete thread for session ${X}:`,Y)}return this.sessions.delete(X),!0}async clearAllSessions(){let X=Array.from(this.sessions.keys());for(let W of X)await this.deleteSession(W);this.activeSessionId=null}getSessionCount(){return this.sessions.size}generateSessionId(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(X)=>{let W=Math.random()*16|0;return(X==="x"?W:W&3|8).toString(16)})}async addSessionFromThread(X,W){let Y=W||this.virtualClient.getCurrentAssistant()?.graph_id;if(!Y)throw Error("Agent name is required. Please call init() first or provide agentName.");return this.createSession({sessionId:X,agentName:Y,restore:!0})}getActiveClient(){return this.getActiveSession()?.client||null}async listRemoteSessions(X={}){return this.virtualClient.listThreads(X)}async syncFromRemote(X={}){let W=X.agentName||this.virtualClient.getCurrentAssistant()?.graph_id;if(!W)throw Error("Agent name is required. Please call init() first or provide agentName.");let Y=await this.listRemoteSessions({limit:X.limit||10,sortBy:"updated_at",sortOrder:"desc"}),Z=[];for(let K of Y){let B=K.thread_id;if(this.sessions.has(B)){let $=this.sessions.get(B);$.thread=K,Z.push($)}else{let $={sessionId:B,thread:K,agentName:W};this.sessions.set(B,$),Z.push($)}}return Z}async init(X,W){return this.virtualClient.initAssistant(X,W)}}var c0=(X)=>{let W=(J)=>J.toString().padStart(2,"0"),Y=X.getFullYear(),Z=W(X.getMonth()+1),K=W(X.getDate()),B=W(X.getHours()),$=W(X.getMinutes()),V=W(X.getSeconds());return`${Y}-${Z}-${K} ${B}:${$}:${V}`};var W1=(X)=>{if(typeof X==="string")return X;if(Array.isArray(X))return X.map((W)=>{if(typeof W==="string")return W;if(W.type==="text")return W.text;if(W.type==="image_url")return"[图片]";if(W.type==="tool_use")return"";return JSON.stringify(W)}).join("");return JSON.stringify(X)};var E1=(X,W,Y={})=>{let Z=P(null),K=P([]),B=P(null),$=P([]),V=P([]),J=P(""),G=P(null),U=P(X),z=P(null),Q=P("__start__"),H=P("idle"),N=P(null),L=P(!1),E=P([]),u=P([]),q=P(Y.showHistory??!1),f=P(Y.showGraph??!1),S=P(null),M=P({page:1,pageSize:10,total:0}),r={metadata:Y.historyFilter?.metadata??null,status:Y.historyFilter?.status??null,sortBy:Y.historyFilter?.sortBy??"updated_at",sortOrder:Y.historyFilter?.sortOrder??"desc"},m=P(r),g=null,V0=P(!1),I=()=>{let D=B.get();if(D)V0.set(D.status==="busy"||D.status==="interrupted")},i=H0((D)=>{if(B.get()!==D)return;let F=D.renderMessage,O=F[F.length-1];Q.set(O?.node_name||O?.name||"__start__"),V.set(F),H.set(D.status)},Y.debounceTime??10),J0=async()=>{let D=B.get();if(!D)return;D.tools.clearTools(),D.tools.bindTools(E.get())},G0=async()=>{if(f.get())S.set(await B.get()?.graphVisualize()||null)};async function r0(){let D=new p0({...W,client:W.client??await P1(W)});if(await D.init(U.get(),{fallbackToAvailableAssistants:Y.fallbackToAvailableAssistants}),Z.set(D),Y.autoRestoreLastSession)if(await w(),K.get().length>0){let F=K.get();await n(F[0].sessionId)}else await D0();else await D0();return D}async function w(){let D=Z.get();if(!D)return;try{let F=M.get(),O=m.get(),T=(F.page-1)*F.pageSize,_=await D.listRemoteSessions({limit:F.pageSize,offset:T,metadata:O.metadata||void 0,status:O.status||void 0,sortBy:O.sortBy,sortOrder:O.sortOrder,withoutDetails:!0}),v=_.length===F.pageSize,h=(F.page-1)*F.pageSize+_.length;K.set(_.map((j)=>({sessionId:j.thread_id,thread:j,agentName:U.get(),metadata:j.metadata}))),$.set(_),M.set({...F,total:v?F.page*F.pageSize+1:h})}catch(F){console.error("Failed to sync sessions:",F)}}async function D0(){let D=Z.get();if(!D)return;try{let F=await D.createSession();await w(),await n(F.sessionId)}catch(F){console.error("Failed to create new session:",F),G.set(F.message)}}function T1(D){let F=()=>B.get()===D,O=()=>{if(F())I()},T=()=>{if(!F())return;let c=D.getCurrentThread();z.set(c?.thread_id||null),Q.set("__start__");let n0=Z.get()?.getActiveSession();if(n0&&c)n0.thread=c;w()},_=()=>{if(F())I(),i(D)},v=(c)=>{if(F())I(),G.set(c.data)},h=()=>{if(F())z.set(D.getCurrentThread()?.thread_id||null),I(),i(D)},j=()=>{if(F())z.set(D.getCurrentThread()?.thread_id||null),I(),i(D)},s=(c)=>{if(!F())return;let U0=D.interruptData;if(U0)N.set(U0),L.set(!0),I();else N.set(null),L.set(!1);i(D),B.set(B.get())};return D.on("start",O),D.on("thread",T),D.on("done",_),D.on("error",v),D.on("message",h),D.on("value",j),D.on("interruptChange",s),()=>{D.off("start",O),D.off("thread",T),D.off("done",_),D.off("error",v),D.off("message",h),D.off("value",j),D.off("interruptChange",s)}}async function n(D,F=!1){let O=Z.get();if(!O)return;try{if(g)g(),g=null;G.set(null),N.set(null),L.set(!1);let _=(await O.activateSession(D,F)).client;if(_){g=T1(_),Y.onInit?.(_),B.set(_),z.set(D);let v=_.renderMessage;V.set(v);let h=v[v.length-1];if(Q.set(h?.node_name||h?.name||"__start__"),I(),f.get())G0();J0();let j=_.getCurrentThread();if(j&&(j.status==="busy"||j.status==="pending"))await _.resetStream();if(j?.status==="interrupted"){let s=_.interruptData;if(s)N.set(s),L.set(!0)}}}catch(T){console.error("Failed to activate session:",T),G.set(T.message)}}async function Q0(D,F,O=!1,T=!1){let _=B.get();if(!O&&!J.get().trim()&&!D?.length||!_)return;if(_.status==="busy")return;G.set(null);try{V0.set(!0),await _.sendMessage(D||J.get(),F)}catch(v){if(v.message.includes("422"))await _.resetStream();else throw v}finally{J.set(""),I()}}function v1(){B.get()?.cancelRun()}function j1(D){let F=u.get();u.set(F.includes(D)?F.filter((O)=>O!==D):[...F,D])}function x1(){if(q.set(!q.get()),q.get())w()}function C1(D){let F=$.get();$.set([D,...F])}function k1(D){let F=B.get();if(!F)return null;let O=F.tools.getTool(D)?.render;return O?(T)=>O(new a(T,F)):null}let i0=_1(V,B);return{data:{client:B,history:Z,sessions:K,renderMessages:V,userInput:J,loading:V0,inChatError:G,currentAgent:U,currentChatId:z,currentNodeName:Q,currentStatus:H,interruptData:N,isInterrupted:L,tools:E,collapsedTools:u,showGraph:f,graphVisualize:S,showHistory:q,historyList:$,historyPagination:M,historyFilter:m,...i0.data},mutations:{initClient:r0,getClient:()=>B.get(),getHistory:()=>Z.get(),activateSession:n,createNewSession:D0,refreshSessionList:w,refreshHistoryList:w,sendMessage:Q0,stopGeneration:v1,setUserInput:(D)=>J.set(D),async revertChatTo(D,F=!1,O){if(await B.get()?.revertChatTo(D,O||{}),F)return Q0([],O,!0);else i(B.get())},refreshTools:J0,setTools(D){E.set(D),J0()},toggleToolCollapse:j1,getToolUIRender:k1,isFELocking:()=>B.get()?.isFELocking(V.get()),toggleHistoryVisible:x1,toggleGraphVisible(){if(f.set(!f.get()),f.get())G0()},refreshGraph:G0,setCurrentAgent(D){return U.set(D),r0()},resumeFromInterrupt(D){return Q0([],{command:{resume:D}},!0)},addToHistory:C1,async createNewChat(D){let F=Z.get();if(!F)return;try{let O=await F.createSession({metadata:D});await w(),await n(O.sessionId)}catch(O){console.error("Failed to create new chat:",O),G.set(O.message)}},toHistoryChat:(D)=>n(D.thread_id,!0),async deleteHistoryChat(D){let F=Z.get();if(F)await F.deleteSession(D.thread_id),await w()},setHistoryPage(D){M.set({...M.get(),page:D}),w()},setHistoryPageSize(D){M.set({...M.get(),pageSize:D,page:1}),w()},setHistoryFilter(D){m.set({...m.get(),...D}),M.set({...M.get(),page:1}),w()},resetHistoryFilter(){m.set({...r}),M.set({...M.get(),page:1}),w()},...i0.mutation}}};var q1=(X,W)=>{return{...Object.fromEntries(Object.entries(X.data).map(([Z,K])=>{return[Z,W(K)]})),...X.mutations}};var l=C0(f1(),1),l0=(X,W)=>(Y)=>{if(X.current===Y)return;X.current=Y,W()};function M1(X,{keys:W,deps:Y=[X,W]}={}){let Z=l.useRef();Z.current=X.get();let K=l.useCallback(($)=>{return l0(Z,$)(X.value),W?.length>0?F0(X,W,l0(Z,$)):X.listen(l0(Z,$))},Y),B=()=>Z.current;return l.useSyncExternalStore(K,B,B)}var w1=R.createContext(void 0),u6=()=>{let X=R.useContext(w1);if(!X)throw Error("useChat must be used within a ChatProvider");return X},m6=({children:X,defaultAgent:W="",apiUrl:Y="http://localhost:8123",defaultHeaders:Z,withCredentials:K=!1,fetch:B,showHistory:$=!1,showGraph:V=!1,fallbackToAvailableAssistants:J=!1,autoRestoreLastSession:G=!1,onInitError:U,client:z,legacyMode:Q=!1,historyFilter:H,debounceTime:N})=>{let L=R.useMemo(()=>Z||{},[Z]),E=R.useRef(U);R.useEffect(()=>{E.current=U},[U]);let u=R.useMemo(()=>{let S=B||globalThis.fetch,r={apiUrl:Y,defaultHeaders:L,callerOptions:{fetch:K?(m,g)=>{return g.credentials="include",S(m,g)}:S,maxRetries:1},legacyMode:Q};if(z)r.client=z;return E1(W,r,{showHistory:$,showGraph:V,fallbackToAvailableAssistants:J,autoRestoreLastSession:G,historyFilter:H,debounceTime:N})},[W,Y,L,K,B,$,V,J,G,z,Q,H,N]),q=q1(u,M1),f=R.useRef(!1);return R.useEffect(()=>{if(f.current)return;f.current=!0,q.initClient().catch((S)=>{if(console.error(S),E.current)E.current(S,q.currentAgent)})},[q]),R.createElement(w1.Provider,{value:q},X)};export{a as h,B6 as i,K0 as j,W1 as k,u6 as l,m6 as m};
@@ -0,0 +1 @@
1
+ import{Bl as G}from"./chunk-78ksrp8v.js";var x=G.enum(["idea","bug_report","feature","refactor"]),v=G.enum(["low","medium","high","critical"]),B=G.enum(["pending","planned","archived"]),C=G.enum(["user_input","ai_suggestion","conversation_derived"]),T=G.object({id:G.string().uuid(),type:x,title:G.string().min(1).max(200),description:G.string(),priority:v.default("medium"),source:C,status:B.default("pending"),createdAt:G.string().datetime(),tags:G.array(G.string()).default([]),metadata:G.object({relatedFiles:G.array(G.string()).optional(),conversationContext:G.string().optional(),estimatedComplexity:G.enum(["simple","medium","complex"]).optional()}).optional()}),n=G.object({version:G.literal("1.0"),sparks:G.array(T),lastUpdated:G.string().datetime()}),H=G.enum(["pickup","running","complete","error","review","feedback"]),Z=G.enum(["default","planner","reviewer","refactor","finder","debugger","architect"]),j=G.enum(["serial","parallel"]),M=G.lazy(()=>G.object({id:G.string(),title:G.string().min(1).max(200),description:G.string(),execution:j.optional(),children:G.array(G.lazy(()=>M)).optional(),agentType:Z.optional(),threadId:G.string().optional(),estimatedTime:G.string().optional(),complexity:G.enum(["simple","medium","complex"]).optional(),dependencies:G.array(G.string()).optional(),acceptanceCriteria:G.array(G.string()).optional(),status:H.optional(),startedAt:G.string().datetime().optional(),completedAt:G.string().datetime().optional(),assignedTo:Z.optional(),error:G.object({message:G.string(),stack:G.string().optional(),retryCount:G.number().optional()}).optional()})),U=G.object({taskId:G.string(),planId:G.string(),threadId:G.string(),agentType:Z,status:H,startedAt:G.string().datetime(),completedAt:G.string().datetime().optional(),output:G.string().optional(),error:G.string().optional(),changedFiles:G.array(G.string()).optional()}),o=G.object({version:G.literal("1.0"),lastUpdated:G.string().datetime(),activePlanId:G.string().optional(),tasks:G.record(G.string(),M),history:G.array(U),config:G.object({maxConcurrentAgents:G.number().min(1).max(10).default(3),retryLimit:G.number().min(0).max(10).default(3),autoResume:G.boolean().default(!1)})});import L from"path";import N from"fs";async function X(O,Q){try{let V=await N.promises.readFile(O,"utf-8");return JSON.parse(V)}catch{return Q}}async function Y(O,Q){await N.promises.writeFile(O,JSON.stringify(Q,null,2),"utf-8")}class D{dbPath;constructor(O){this.dbPath=L.join(O,".claude","task.json")}getDefaultData(){return{version:"1.0",lastUpdated:new Date().toISOString(),tasks:{},history:[],config:{maxConcurrentAgents:3,retryLimit:3,autoResume:!1}}}async initialize(){let O=L.dirname(this.dbPath);if(!N.existsSync(O))N.mkdirSync(O,{recursive:!0});if(!await X(this.dbPath,this.getDefaultData()))await Y(this.dbPath,this.getDefaultData())}async getTask(O){return(await X(this.dbPath,this.getDefaultData())).tasks[O]}async updateTask(O,Q){let V=await X(this.dbPath,this.getDefaultData()),$=V.tasks[O];if(!$)return!1;if(V.tasks[O]={...$,...Q},Q.status){if(Q.status==="running"&&!$.startedAt)V.tasks[O].startedAt=new Date().toISOString();else if(["complete","error","review"].includes(Q.status)&&!$.completedAt)V.tasks[O].completedAt=new Date().toISOString()}return V.lastUpdated=new Date().toISOString(),await Y(this.dbPath,V),!0}async addTasks(O){let Q=await X(this.dbPath,this.getDefaultData());for(let V of O)Q.tasks[V.id]=V;Q.lastUpdated=new Date().toISOString(),await Y(this.dbPath,Q)}async getTasksByStatus(O){let Q=await X(this.dbPath,this.getDefaultData());return Object.values(Q.tasks).filter((V)=>V.status===O)}async getAllTasks(){let O=await X(this.dbPath,this.getDefaultData());return Object.values(O.tasks)}async addHistory(O){let Q=await X(this.dbPath,this.getDefaultData());Q.history.push(O),await Y(this.dbPath,Q)}async getHistory(O){let Q=await X(this.dbPath,this.getDefaultData());if(O)return Q.history.filter((V)=>V.planId===O);return Q.history}async setActivePlan(O){let Q=await X(this.dbPath,this.getDefaultData());Q.activePlanId=O,Q.lastUpdated=new Date().toISOString(),await Y(this.dbPath,Q)}async getActivePlan(){return(await X(this.dbPath,this.getDefaultData())).activePlanId}async updateConfig(O){let Q=await X(this.dbPath,this.getDefaultData());Q.config={...Q.config,...O},Q.lastUpdated=new Date().toISOString(),await Y(this.dbPath,Q)}async getConfig(){return(await X(this.dbPath,this.getDefaultData())).config}async clearAllTasks(){let O=await X(this.dbPath,this.getDefaultData());O.tasks={},O.activePlanId=void 0,O.lastUpdated=new Date().toISOString(),await Y(this.dbPath,O)}async deleteTask(O){let Q=await X(this.dbPath,this.getDefaultData());if(!Q.tasks[O])return!1;return delete Q.tasks[O],Q.lastUpdated=new Date().toISOString(),await Y(this.dbPath,Q),!0}getDbPath(){return this.dbPath}}export{D as wk};
@@ -0,0 +1,23 @@
1
+ import{Fe as z,Yd as x,fe as w}from"./chunk-vwj4n000.js";import"./chunk-4fs853nh.js";class J{constructor(h){this.pool=h,this.db=new x({dialect:new z({pool:h})})}db;dateToDb(h){return h}dbToDate(h){return h instanceof Date?h:new Date(h)}jsonToDb(h){return h}dbToJson(h){return h}buildJsonQuery(h,C,H,I){return w`${w.ref(C)}->>${w.lit(H)} = ${w.lit(JSON.stringify(I))}`}now(){return new Date}async createTables(h){await w`
2
+ CREATE TABLE IF NOT EXISTS threads (
3
+ thread_id TEXT PRIMARY KEY,
4
+ created_at TIMESTAMP NOT NULL,
5
+ updated_at TIMESTAMP NOT NULL,
6
+ metadata JSONB NOT NULL DEFAULT '{}',
7
+ status TEXT NOT NULL DEFAULT 'idle',
8
+ values JSONB,
9
+ interrupts JSONB NOT NULL DEFAULT '{}'
10
+ )
11
+ `.execute(h),await w`
12
+ CREATE TABLE IF NOT EXISTS runs (
13
+ run_id TEXT PRIMARY KEY,
14
+ thread_id TEXT NOT NULL,
15
+ assistant_id TEXT NOT NULL,
16
+ created_at TIMESTAMP NOT NULL,
17
+ updated_at TIMESTAMP NOT NULL,
18
+ status TEXT NOT NULL DEFAULT 'pending',
19
+ metadata JSONB NOT NULL DEFAULT '{}',
20
+ multitask_strategy TEXT NOT NULL DEFAULT 'reject',
21
+ FOREIGN KEY (thread_id) REFERENCES threads(thread_id) ON DELETE CASCADE
22
+ )
23
+ `.execute(h)}async createIndexes(h){await w`CREATE INDEX IF NOT EXISTS idx_threads_status ON threads(status)`.execute(h),await w`CREATE INDEX IF NOT EXISTS idx_threads_created_at ON threads(created_at)`.execute(h),await w`CREATE INDEX IF NOT EXISTS idx_threads_updated_at ON threads(updated_at)`.execute(h),await w`CREATE INDEX IF NOT EXISTS idx_runs_thread_id ON runs(thread_id)`.execute(h),await w`CREATE INDEX IF NOT EXISTS idx_runs_status ON runs(status)`.execute(h)}}export{J as PostgresAdapter};