claude-mem 3.5.5 → 3.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,238 +1,86 @@
1
- # Claude Memory System (claude-mem)
1
+ # 🧠 Claude Memory System (claude-mem)
2
2
 
3
- ## 😵‍💫 Remember that one thing? Neither do we. But claude-mem remembers.
3
+ ## Remember that one thing? Neither do we but `claude-mem` does! 😵‍💫
4
4
 
5
- Transform your Claude Code from a goldfish into an elephant. Every conversation, every breakthrough, every "aha!" moment - captured, compressed, and ready when you need it.
5
+ Stop repeating yourself. `claude-mem` remembers what you and Claude Code figure out, so every new chat starts smarter than the last.
6
6
 
7
- ## 🗑️ Smart Trash™ - Never Truly Lose Anything
7
+ ## ⚡️ 10‑Second Setup
8
8
 
9
- We pioneered Smart Trash because we know that moment of panic when you realize you deleted something important. With claude-mem:
10
- - **Deleted files go to trash, not oblivion** - Everything lands safely in `~/.claude-mem/trash/`
11
- - **30-day safety net** - Accidentally removed memories? They're still there
12
- - **One command restore** - `claude-mem restore` brings back what you need
13
- - **Timestamped recovery** - See exactly when files were deleted
14
- - **Selective restoration** - Pick specific files or restore everything
15
-
16
- ## 🚀 Why Your Context Matters
17
-
18
- ### The Problem We Solve
19
- - **Lost Context**: Starting every Claude Code session from scratch
20
- - **Repeated Explanations**: Re-describing your codebase and architecture repeatedly
21
- - **Fragmented Knowledge**: Valuable insights scattered across hundreds of conversations
22
- - **Context Switching**: Losing progress when switching between projects or devices
23
- - **Knowledge Decay**: Brilliant solutions forgotten and re-discovered multiple times
24
-
25
- ### The Claude-Mem Difference
26
- Your context isn't just saved - it's **understood**. Every session builds on the last. Every problem solved becomes institutional knowledge. Every pattern recognized becomes a building block for the next breakthrough.
27
-
28
- ## ✨ Key Features
29
-
30
- ### 🧠 **Intelligent Memory Compression**
31
- - Automatically extracts key learnings from your Claude Code conversations
32
- - Identifies patterns, architectural decisions, and breakthrough moments
33
- - Compresses hours of conversation into searchable, actionable knowledge
34
- - Uses advanced AI analysis to understand context and significance
35
-
36
- ### 🔄 **Seamless Integration**
37
- - **One-command setup**: `claude-mem install` and you're ready
38
- - **Zero friction**: Works invisibly in the background
39
- - **Automatic triggers**: Memory compression on `/compact` and `/clear`
40
- - **Instant context loading**: New sessions start with relevant memories
41
-
42
- ### 🎯 **Context That Actually Loads**
43
- - Your new sessions start where the last one left off
44
- - Project-aware memory selection - the right context for the right project
45
- - Semantic search that actually understands what you're looking for
46
- - No more "As I explained in our last conversation..." - Claude already knows
47
-
48
- ### 📚 **Comprehensive Knowledge Base**
49
- - Stores technical implementations, bug fixes, and solutions
50
- - Captures design patterns and architectural decisions
51
- - Remembers tool configurations and setup procedures
52
- - Archives complete conversation transcripts for detailed reference
53
-
54
- ### 🔍 **Powerful Search & Retrieval**
55
- - Vector-based semantic search finds related concepts
56
- - Keyword search for specific terms and technologies
57
- - Project filtering to focus on relevant memories
58
- - Time-based filtering to find recent insights
59
-
60
- ## 🛠 Installation & Setup
61
-
62
- ### Prerequisites
63
- - Node.js 18+
64
- - Claude Code CLI installed
65
- - uv (Python package manager) - automatically installed if missing
66
-
67
- ### Quick Install
68
9
  ```bash
69
- # Install globally
70
- npm install -g claude-mem
71
-
72
- # Set up Claude Code integration (installs uv if needed)
73
- claude-mem install
74
-
75
- # Restart Claude Code to activate
76
- ```
77
-
78
- ### Alternative Installation
79
- ```bash
80
- # Use without installing globally
81
- npx claude-mem install
10
+ npm install -g claude-mem && claude-mem install
82
11
  ```
83
12
 
84
- The `claude-mem install` command will automatically install [uv](https://docs.astral.sh/uv/) if it's not already present on your system. uv is required for the Chroma MCP server that powers the memory system.
13
+ That’s it. Restart Claude Code and you’re good. No config. No tedious setup or dependencies.
85
14
 
86
- ### Verification
87
- ```bash
88
- # Check installation status
89
- claude-mem status
90
- ```
91
-
92
- ## 💻 How It Works
15
+ ## ✨ What You Get
93
16
 
94
- ### The Memory Lifecycle
17
+ - Remembers key insights from your chats with Claude Code
18
+ - Starts new sessions with the right context
19
+ - Works quietly in the background
20
+ - One-command install and status check
95
21
 
96
- 1. **🎬 Session Start**: Claude-mem loads relevant context from your knowledge base
97
- 2. **💬 Active Session**: You work normally in Claude Code - no changes needed
98
- 3. **🗜️ Memory Compression**: Use `/compact` or `/clear` to trigger intelligent compression
99
- 4. **🧠 Knowledge Extraction**: AI analysis extracts key learnings and patterns
100
- 5. **💾 Persistent Storage**: Memories stored in searchable vector database
101
- 6. **🔄 Context Ready**: Next session starts with relevant memories loaded
22
+ ## 🗑️ Smart Trash™ (Your Panic Button)
102
23
 
103
- ### Technical Architecture
24
+ Delete something by accident? It’s not gone.
25
+ - Everything goes to `~/.claude-mem/trash/`
26
+ - Restore with a single command: `claude-mem restore`
27
+ - Timestamped so you can see when things moved
104
28
 
105
- - **Vector Database**: ChromaDB for semantic search and storage
106
- - **MCP Integration**: Model Context Protocol for Claude Code communication
107
- - **AI Analysis**: Advanced prompt engineering for knowledge extraction
108
- - **Local Storage**: All data stored locally in `~/.claude-mem/`
29
+ ## 🎯 Why It’s Useful
109
30
 
110
- ## 📋 Commands Reference
31
+ - No more re-explaining your project over and over
32
+ - Pick up exactly where you left off
33
+ - Find past solutions fast when you face a familiar bug
34
+ - Your knowledge compounds the more you use it
111
35
 
112
- ### Core Commands
113
- ```bash
114
- claude-mem install # Set up Claude Code integration
115
- claude-mem status # Check system status and configuration
116
- claude-mem load-context # View and search stored memories
117
- claude-mem logs # View system logs and debug information
118
- claude-mem uninstall # Remove Claude Code hooks
119
- ```
36
+ ## 🧭 Minimal Commands You’ll Ever Need
120
37
 
121
- ### Advanced Usage
122
38
  ```bash
123
- claude-mem compress <file> # Manually compress a transcript file
124
- claude-mem trash-view # View what's in Smart Trash™
125
- claude-mem restore # Recover deleted memories from Smart Trash™
126
- claude-mem restore <file> # Restore specific file from trash
39
+ claude-mem install # Set up/repair integration
40
+ claude-mem status # Check everything’s working
41
+ claude-mem load-context # Peek at what it remembers
42
+ claude-mem logs # If you’re curious
43
+ claude-mem uninstall # Remove hooks
44
+
45
+ # Extras
46
+ claude-mem trash-view # See what’s in Smart Trash™
47
+ claude-mem restore # Restore deleted items
127
48
  ```
128
49
 
129
- ## 📁 Storage Structure
130
-
131
- Your claude-mem data is organized in `~/.claude-mem/`:
50
+ ## 📁 Where Stuff Lives (super simple)
132
51
 
133
52
  ```
134
53
  ~/.claude-mem/
135
- ├── index/ # ChromaDB vector database
136
- ├── archives/ # Original conversation transcripts
137
- ├── hooks/ # Claude Code integration scripts
138
- ├── trash/ # Smart Trash (deleted files)
139
- └── logs/ # System logs and debug information
54
+ ├── index/ # memory index
55
+ ├── archives/ # transcripts
56
+ ├── hooks/ # integration bits
57
+ ├── trash/ # Smart Trash
58
+ └── logs/ # diagnostics
140
59
  ```
141
60
 
142
- ## 🌟 Real-World Impact
61
+ ## Requirements
143
62
 
144
- ### Your Context Becomes Your Superpower
145
- - **Instant Recall**: That bug you fixed 3 weeks ago? The solution loads automatically
146
- - **Compounding Knowledge**: Every session makes you more effective than the last
147
- - **Context Continuity**: Switch between 10 projects without losing your place in any of them
148
- - **Pattern Mastery**: Claude recognizes when you're facing a familiar problem and brings the solution forward
63
+ - Node.js 18+
64
+ - Claude Code
149
65
 
150
- ### For Teams (Coming Soon)
151
- - **Shared Knowledge**: Team-wide memory accessible to all members
152
- - **Onboarding Acceleration**: New team members access collective knowledge
153
- - **Best Practices**: Capture and share proven solutions
154
- - **Institutional Memory**: Prevent knowledge loss when team members leave
66
+ ## 🆘 If Something’s Weird
155
67
 
156
- ## 🚀 Coming Soon: Cloud Sync
157
-
158
- ### Individual Plan ($9.95/month)
159
- - **Multi-device sync**: Access your memories on any device
160
- - **Cloud backup**: Never lose your knowledge base
161
- - **Enhanced search**: Advanced filtering and semantic search
162
- - **API access**: Integrate with your own tools and workflows
163
-
164
- ### Team Plan ($29.95/month, 3+ seats)
165
- - **Shared memories**: Team-wide knowledge base
166
- - **Role-based access**: Control what memories are shared
167
- - **Admin dashboard**: Manage team members and usage
168
- - **Priority support**: Direct access to our engineering team
169
-
170
- [**Join the waitlist**](https://claude-mem.ai) for early access to cloud features.
171
-
172
- ## 🛡️ Privacy & Security
173
-
174
- - **Local-first**: All data stored locally by default
175
- - **No tracking**: We don't collect or transmit your conversations
176
- - **Your data**: You own and control your knowledge base
177
- - **Open architecture**: ChromaDB and MCP are open standards
178
-
179
- ## 🆘 Troubleshooting
180
-
181
- ### Common Issues
182
-
183
- **Hook not triggering?**
184
- ```bash
185
- claude-mem status # Check installation
186
- claude-mem install --force # Reinstall hooks
187
- ```
188
-
189
- **Context not loading?**
190
- ```bash
191
- claude-mem load-context # Verify memories exist
192
- claude-mem logs # Check for errors
193
- ```
194
-
195
- **Performance issues?**
196
68
  ```bash
197
- # ChromaDB maintenance (if needed)
198
- claude-mem status # Check memory usage
69
+ claude-mem status # quick health check
70
+ claude-mem install --force # fixes most issues
199
71
  ```
200
72
 
201
- ## 🔧 Requirements
202
-
203
- - **Node.js**: 18.0 or higher
204
- - **Claude Code**: Latest version recommended
205
- - **Storage**: ~100MB for typical usage
206
- - **Memory**: 2GB RAM minimum for large knowledge bases
207
-
208
- ## 📞 Support & Community
209
-
210
- - **Documentation**: Complete guides at [claude-mem.ai/docs](https://claude-mem.ai/docs)
211
- - **Issues**: Report bugs at [GitHub Issues](https://github.com/thedotmack/claude-mem/issues)
212
- - **Feature Requests**: [GitHub Discussions](https://github.com/thedotmack/claude-mem/discussions)
213
- - **Community**: Join our [Discord](https://discord.gg/claude-mem) for tips and discussions
214
-
215
73
  ## 📄 License
216
74
 
217
- This software is free to use but is NOT open source. See [LICENSE](LICENSE) file for complete terms.
75
+ This software is free to use but is NOT open source. See `LICENSE`.
218
76
 
219
77
  ---
220
78
 
221
- ## 🎯 Make Your Context Stand Out
79
+ ## Ready to remember more and repeat less?
222
80
 
223
81
  ```bash
224
82
  npm install -g claude-mem
225
83
  claude-mem install
226
84
  ```
227
85
 
228
- **Stop repeating yourself. Start building on what you've already taught Claude.**
229
-
230
- Your context is your competitive advantage. Every problem you've solved, every pattern you've discovered, every architectural decision you've made - it all compounds into a knowledge base that makes you exponentially more effective.
231
-
232
- With Smart Trash™, you'll never lose important context again. With intelligent compression, your conversations become searchable wisdom. With semantic loading, Claude starts every session already understanding your project.
233
-
234
- **This is context that stands out.** 🧠✨
235
-
236
- ---
237
-
238
- *Built for developers who know their context is too valuable to lose.*
86
+ Your future self will thank you. 🧠✨
@@ -107,7 +107,7 @@ END-CONTEXT-DATA -->{{/if}}`,JC,HC,IH;var x4=Y6(()=>{n4=o6(L4(),1),JC=n4.default
107
107
  `))}catch(j){let K={type:"control_response",response:{subtype:"error",request_id:q.request_id,error:j.message||String(j)}};await Promise.resolve(this.transport.write(JSON.stringify(K)+`
108
108
  `))}finally{this.cancelControllers.delete(q.request_id)}}handleControlCancelRequest(q){let _=this.cancelControllers.get(q.request_id);if(_)_.abort(),this.cancelControllers.delete(q.request_id)}async processControlRequest(q,_){if(q.request.subtype==="can_use_tool"){if(!this.canUseTool)throw new Error("canUseTool callback is not provided.");return this.canUseTool(q.request.tool_name,q.request.input,{signal:_,suggestions:q.request.permission_suggestions})}else if(q.request.subtype==="hook_callback")return await this.handleHookCallbacks(q.request.callback_id,q.request.input,q.request.tool_use_id,_);else if(q.request.subtype==="mcp_message"){let j=q.request,K=this.sdkMcpTransports.get(j.server_name);if(!K)throw new Error(`SDK MCP server not found: ${j.server_name}`);if("method"in j.message&&"id"in j.message&&j.message.id!==null)return{mcp_response:await this.handleMcpControlRequest(j.server_name,j,K)};else{if(K.onmessage)K.onmessage(j.message);return{mcp_response:{jsonrpc:"2.0",result:{},id:0}}}}throw new Error("Unsupported control request subtype: "+q.request.subtype)}async*readSdkMessages(){for await(let q of this.inputStream)yield q}async initialize(){let q;if(this.hooks){q={};for(let[K,Y]of Object.entries(this.hooks))if(Y.length>0)q[K]=Y.map((f)=>{let P=[];for(let $ of f.hooks){let O=`hook_${this.nextCallbackId++}`;this.hookCallbacks.set(O,$),P.push(O)}return{matcher:f.matcher,hookCallbackIds:P}})}let _={subtype:"initialize",hooks:q};return(await this.request(_)).response}async interrupt(){if(!this.isStreamingMode)throw new Error("Interrupt requires --input-format stream-json");await this.request({subtype:"interrupt"})}async setPermissionMode(q){if(!this.isStreamingMode)throw new Error("setPermissionMode requires --input-format stream-json");await this.request({subtype:"set_permission_mode",mode:q})}request(q){let _=Math.random().toString(36).substring(2,15),j={request_id:_,type:"control_request",request:q};return new Promise((K,Y)=>{this.pendingControlResponses.set(_,(f)=>{if(f.subtype==="success")K(f);else Y(new Error(f.error))}),Promise.resolve(this.transport.write(JSON.stringify(j)+`
109
109
  `))})}async supportedCommands(){if(!this.isStreamingMode)throw new Error("supportedCommands requires --input-format stream-json");if(!this.intialization)throw new Error("supportedCommands requires transport with bidirectional communication");return(await this.intialization).commands}async streamInput(q){try{for await(let _ of q){if(this.abortController?.signal.aborted)break;await Promise.resolve(this.transport.write(JSON.stringify(_)+`
110
- `))}this.transport.endInput()}catch(_){if(!(_ instanceof L_))throw _}}handleHookCallbacks(q,_,j,K){let Y=this.hookCallbacks.get(q);if(!Y)throw new Error(`No hook callback found for ID: ${q}`);return Y(_,j,{signal:K})}sendMcpServerMessageToCli(q,_){if("id"in _&&_.id!==null&&_.id!==void 0){let j=`${q}:${_.id}`,K=this.pendingMcpResponses.get(j);if(K){K.resolve(_),this.pendingMcpResponses.delete(j);return}}throw new Error("No pending request found")}handleMcpControlRequest(q,_,j){let K="id"in _.message?_.message.id:null,Y=`${q}:${K}`;return new Promise((f,P)=>{let $=null,O=()=>{if($)clearTimeout($);this.pendingMcpResponses.delete(Y)},w=(z)=>{O(),f(z)},v=(z)=>{O(),P(z)};if(this.pendingMcpResponses.set(Y,{resolve:w,reject:v}),j.onmessage)j.onmessage(_.message);else{O(),P(new Error("No message handler registered"));return}$=setTimeout(()=>{if(this.pendingMcpResponses.has(Y))O(),P(new Error("Request timeout"))},30000)})}};Z={};cH(Z,{void:()=>TZ,util:()=>u8,unknown:()=>JZ,union:()=>AZ,undefined:()=>vZ,tuple:()=>hZ,transformer:()=>I1,symbol:()=>OZ,string:()=>F1,strictObject:()=>XZ,setErrorMap:()=>gT,set:()=>VZ,record:()=>DZ,quotelessJson:()=>mT,promise:()=>RZ,preprocess:()=>gZ,pipeline:()=>yZ,ostring:()=>dZ,optional:()=>mZ,onumber:()=>pZ,oboolean:()=>LZ,objectUtil:()=>i4,object:()=>kZ,number:()=>U1,nullable:()=>IZ,null:()=>zZ,never:()=>HZ,nativeEnum:()=>EZ,nan:()=>fZ,map:()=>CZ,makeIssue:()=>x3,literal:()=>bZ,lazy:()=>NZ,late:()=>PZ,isValid:()=>j_,isDirty:()=>a4,isAsync:()=>gK,isAborted:()=>o4,intersection:()=>uZ,instanceof:()=>YZ,getParsedType:()=>Rq,getErrorMap:()=>n3,function:()=>MZ,enum:()=>SZ,effect:()=>I1,discriminatedUnion:()=>GZ,defaultErrorMap:()=>x_,datetimeRegex:()=>B1,date:()=>wZ,custom:()=>e1,coerce:()=>lZ,boolean:()=>s1,bigint:()=>$Z,array:()=>ZZ,any:()=>WZ,addIssueToContext:()=>F,ZodVoid:()=>dK,ZodUnknown:()=>lq,ZodUnion:()=>o_,ZodUndefined:()=>r_,ZodType:()=>k8,ZodTuple:()=>kq,ZodTransformer:()=>t6,ZodSymbol:()=>yK,ZodString:()=>Pq,ZodSet:()=>f_,ZodSchema:()=>k8,ZodRecord:()=>pK,ZodReadonly:()=>s_,ZodPromise:()=>$_,ZodPipeline:()=>nK,ZodParsedType:()=>Q,ZodOptional:()=>fq,ZodObject:()=>i8,ZodNumber:()=>nq,ZodNullable:()=>mq,ZodNull:()=>i_,ZodNever:()=>Zq,ZodNativeEnum:()=>e_,ZodNaN:()=>lK,ZodMap:()=>LK,ZodLiteral:()=>t_,ZodLazy:()=>B_,ZodIssueCode:()=>t,ZodIntersection:()=>a_,ZodFunction:()=>n_,ZodFirstPartyTypeKind:()=>z8,ZodError:()=>g6,ZodEnum:()=>cq,ZodEffects:()=>t6,ZodDiscriminatedUnion:()=>c3,ZodDefault:()=>F_,ZodDate:()=>P_,ZodCatch:()=>U_,ZodBranded:()=>r3,ZodBoolean:()=>c_,ZodBigInt:()=>xq,ZodArray:()=>Yq,ZodAny:()=>Y_,Schema:()=>k8,ParseStatus:()=>H6,OK:()=>D6,NEVER:()=>nZ,INVALID:()=>O8,EMPTY_PATH:()=>yT,DIRTY:()=>l_,BRAND:()=>jZ});(function(q){q.assertEqual=(Y)=>{};function _(Y){}q.assertIs=_;function j(Y){throw new Error}q.assertNever=j,q.arrayToEnum=(Y)=>{let f={};for(let P of Y)f[P]=P;return f},q.getValidEnumValues=(Y)=>{let f=q.objectKeys(Y).filter(($)=>typeof Y[Y[$]]!=="number"),P={};for(let $ of f)P[$]=Y[$];return q.objectValues(P)},q.objectValues=(Y)=>{return q.objectKeys(Y).map(function(f){return Y[f]})},q.objectKeys=typeof Object.keys==="function"?(Y)=>Object.keys(Y):(Y)=>{let f=[];for(let P in Y)if(Object.prototype.hasOwnProperty.call(Y,P))f.push(P);return f},q.find=(Y,f)=>{for(let P of Y)if(f(P))return P;return},q.isInteger=typeof Number.isInteger==="function"?(Y)=>Number.isInteger(Y):(Y)=>typeof Y==="number"&&Number.isFinite(Y)&&Math.floor(Y)===Y;function K(Y,f=" | "){return Y.map((P)=>typeof P==="string"?`'${P}'`:P).join(f)}q.joinValues=K,q.jsonStringifyReplacer=(Y,f)=>{if(typeof f==="bigint")return f.toString();return f}})(u8||(u8={}));(function(q){q.mergeShapes=(_,j)=>{return{..._,...j}}})(i4||(i4={}));Q=u8.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),t=u8.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"]);g6=class g6 extends Error{get errors(){return this.issues}constructor(q){super();this.issues=[],this.addIssue=(j)=>{this.issues=[...this.issues,j]},this.addIssues=(j=[])=>{this.issues=[...this.issues,...j]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=q}format(q){let _=q||function(Y){return Y.message},j={_errors:[]},K=(Y)=>{for(let f of Y.issues)if(f.code==="invalid_union")f.unionErrors.map(K);else if(f.code==="invalid_return_type")K(f.returnTypeError);else if(f.code==="invalid_arguments")K(f.argumentsError);else if(f.path.length===0)j._errors.push(_(f));else{let P=j,$=0;while($<f.path.length){let O=f.path[$];if($!==f.path.length-1)P[O]=P[O]||{_errors:[]};else P[O]=P[O]||{_errors:[]},P[O]._errors.push(_(f));P=P[O],$++}}};return K(this),j}static assert(q){if(!(q instanceof g6))throw new Error(`Not a ZodError: ${q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,u8.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(q=(_)=>_.message){let _={},j=[];for(let K of this.issues)if(K.path.length>0){let Y=K.path[0];_[Y]=_[Y]||[],_[Y].push(q(K))}else j.push(q(K));return{formErrors:j,fieldErrors:_}}get formErrors(){return this.flatten()}};g6.create=(q)=>{return new g6(q)};x_=IT,i1=x_;yT=[];O8=Object.freeze({status:"aborted"});(function(q){q.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},q.toString=(_)=>typeof _==="string"?_:_?.message})(P8||(P8={}));dT=/^c[^\s-]{8,}$/i,pT=/^[0-9a-z]+$/,LT=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lT=/^[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,nT=/^[a-z0-9_-]{21}$/i,xT=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,cT=/^[-+]?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)?)??$/,rT=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,oT=/^(?:(?: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])$/,aT=/^(?:(?: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])$/,BT=/^(([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]))$/,tT=/^(([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])$/,eT=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,FT=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UT=new RegExp(`^${o1}$`);Pq=class Pq extends k8{_parse(q){if(this._def.coerce)q.data=String(q.data);if(this._getType(q)!==Q.string){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.string,received:Y.parsedType}),O8}let j=new H6,K=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(q.data.length<Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),j.dirty()}else if(Y.kind==="max"){if(q.data.length>Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),j.dirty()}else if(Y.kind==="length"){let f=q.data.length>Y.value,P=q.data.length<Y.value;if(f||P){if(K=this._getOrReturnCtx(q,K),f)F(K,{code:t.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});else if(P)F(K,{code:t.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});j.dirty()}}else if(Y.kind==="email"){if(!rT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"email",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="emoji"){if(!c4)c4=new RegExp(iT,"u");if(!c4.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"emoji",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="uuid"){if(!lT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"uuid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="nanoid"){if(!nT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"nanoid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cuid"){if(!dT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"cuid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cuid2"){if(!pT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"cuid2",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="ulid"){if(!LT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"ulid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="url")try{new URL(q.data)}catch{K=this._getOrReturnCtx(q,K),F(K,{validation:"url",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="regex"){if(Y.regex.lastIndex=0,!Y.regex.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"regex",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="trim")q.data=q.data.trim();else if(Y.kind==="includes"){if(!q.data.includes(Y.value,Y.position))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{includes:Y.value,position:Y.position},message:Y.message}),j.dirty()}else if(Y.kind==="toLowerCase")q.data=q.data.toLowerCase();else if(Y.kind==="toUpperCase")q.data=q.data.toUpperCase();else if(Y.kind==="startsWith"){if(!q.data.startsWith(Y.value))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{startsWith:Y.value},message:Y.message}),j.dirty()}else if(Y.kind==="endsWith"){if(!q.data.endsWith(Y.value))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{endsWith:Y.value},message:Y.message}),j.dirty()}else if(Y.kind==="datetime"){if(!B1(Y).test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"datetime",message:Y.message}),j.dirty()}else if(Y.kind==="date"){if(!UT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"date",message:Y.message}),j.dirty()}else if(Y.kind==="time"){if(!sT(Y).test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"time",message:Y.message}),j.dirty()}else if(Y.kind==="duration"){if(!cT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"duration",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="ip"){if(!QT(q.data,Y.version))K=this._getOrReturnCtx(q,K),F(K,{validation:"ip",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="jwt"){if(!qZ(q.data,Y.alg))K=this._getOrReturnCtx(q,K),F(K,{validation:"jwt",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cidr"){if(!_Z(q.data,Y.version))K=this._getOrReturnCtx(q,K),F(K,{validation:"cidr",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="base64"){if(!eT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"base64",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="base64url"){if(!FT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"base64url",code:t.invalid_string,message:Y.message}),j.dirty()}else u8.assertNever(Y);return{status:j.value,value:q.data}}_regex(q,_,j){return this.refinement((K)=>q.test(K),{validation:_,code:t.invalid_string,...P8.errToObj(j)})}_addCheck(q){return new Pq({...this._def,checks:[...this._def.checks,q]})}email(q){return this._addCheck({kind:"email",...P8.errToObj(q)})}url(q){return this._addCheck({kind:"url",...P8.errToObj(q)})}emoji(q){return this._addCheck({kind:"emoji",...P8.errToObj(q)})}uuid(q){return this._addCheck({kind:"uuid",...P8.errToObj(q)})}nanoid(q){return this._addCheck({kind:"nanoid",...P8.errToObj(q)})}cuid(q){return this._addCheck({kind:"cuid",...P8.errToObj(q)})}cuid2(q){return this._addCheck({kind:"cuid2",...P8.errToObj(q)})}ulid(q){return this._addCheck({kind:"ulid",...P8.errToObj(q)})}base64(q){return this._addCheck({kind:"base64",...P8.errToObj(q)})}base64url(q){return this._addCheck({kind:"base64url",...P8.errToObj(q)})}jwt(q){return this._addCheck({kind:"jwt",...P8.errToObj(q)})}ip(q){return this._addCheck({kind:"ip",...P8.errToObj(q)})}cidr(q){return this._addCheck({kind:"cidr",...P8.errToObj(q)})}datetime(q){if(typeof q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:q});return this._addCheck({kind:"datetime",precision:typeof q?.precision==="undefined"?null:q?.precision,offset:q?.offset??!1,local:q?.local??!1,...P8.errToObj(q?.message)})}date(q){return this._addCheck({kind:"date",message:q})}time(q){if(typeof q==="string")return this._addCheck({kind:"time",precision:null,message:q});return this._addCheck({kind:"time",precision:typeof q?.precision==="undefined"?null:q?.precision,...P8.errToObj(q?.message)})}duration(q){return this._addCheck({kind:"duration",...P8.errToObj(q)})}regex(q,_){return this._addCheck({kind:"regex",regex:q,...P8.errToObj(_)})}includes(q,_){return this._addCheck({kind:"includes",value:q,position:_?.position,...P8.errToObj(_?.message)})}startsWith(q,_){return this._addCheck({kind:"startsWith",value:q,...P8.errToObj(_)})}endsWith(q,_){return this._addCheck({kind:"endsWith",value:q,...P8.errToObj(_)})}min(q,_){return this._addCheck({kind:"min",value:q,...P8.errToObj(_)})}max(q,_){return this._addCheck({kind:"max",value:q,...P8.errToObj(_)})}length(q,_){return this._addCheck({kind:"length",value:q,...P8.errToObj(_)})}nonempty(q){return this.min(1,P8.errToObj(q))}trim(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((q)=>q.kind==="datetime")}get isDate(){return!!this._def.checks.find((q)=>q.kind==="date")}get isTime(){return!!this._def.checks.find((q)=>q.kind==="time")}get isDuration(){return!!this._def.checks.find((q)=>q.kind==="duration")}get isEmail(){return!!this._def.checks.find((q)=>q.kind==="email")}get isURL(){return!!this._def.checks.find((q)=>q.kind==="url")}get isEmoji(){return!!this._def.checks.find((q)=>q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((q)=>q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((q)=>q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((q)=>q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((q)=>q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((q)=>q.kind==="ulid")}get isIP(){return!!this._def.checks.find((q)=>q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((q)=>q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((q)=>q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((q)=>q.kind==="base64url")}get minLength(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxLength(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}};Pq.create=(q)=>{return new Pq({checks:[],typeName:z8.ZodString,coerce:q?.coerce??!1,...Z8(q)})};nq=class nq extends k8{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(q){if(this._def.coerce)q.data=Number(q.data);if(this._getType(q)!==Q.number){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.number,received:Y.parsedType}),O8}let j=void 0,K=new H6;for(let Y of this._def.checks)if(Y.kind==="int"){if(!u8.isInteger(q.data))j=this._getOrReturnCtx(q,j),F(j,{code:t.invalid_type,expected:"integer",received:"float",message:Y.message}),K.dirty()}else if(Y.kind==="min"){if(Y.inclusive?q.data<Y.value:q.data<=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_small,minimum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),K.dirty()}else if(Y.kind==="max"){if(Y.inclusive?q.data>Y.value:q.data>=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_big,maximum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),K.dirty()}else if(Y.kind==="multipleOf"){if(KZ(q.data,Y.value)!==0)j=this._getOrReturnCtx(q,j),F(j,{code:t.not_multiple_of,multipleOf:Y.value,message:Y.message}),K.dirty()}else if(Y.kind==="finite"){if(!Number.isFinite(q.data))j=this._getOrReturnCtx(q,j),F(j,{code:t.not_finite,message:Y.message}),K.dirty()}else u8.assertNever(Y);return{status:K.value,value:q.data}}gte(q,_){return this.setLimit("min",q,!0,P8.toString(_))}gt(q,_){return this.setLimit("min",q,!1,P8.toString(_))}lte(q,_){return this.setLimit("max",q,!0,P8.toString(_))}lt(q,_){return this.setLimit("max",q,!1,P8.toString(_))}setLimit(q,_,j,K){return new nq({...this._def,checks:[...this._def.checks,{kind:q,value:_,inclusive:j,message:P8.toString(K)}]})}_addCheck(q){return new nq({...this._def,checks:[...this._def.checks,q]})}int(q){return this._addCheck({kind:"int",message:P8.toString(q)})}positive(q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:P8.toString(q)})}negative(q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:P8.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:P8.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:P8.toString(q)})}multipleOf(q,_){return this._addCheck({kind:"multipleOf",value:q,message:P8.toString(_)})}finite(q){return this._addCheck({kind:"finite",message:P8.toString(q)})}safe(q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:P8.toString(q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:P8.toString(q)})}get minValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}get isInt(){return!!this._def.checks.find((q)=>q.kind==="int"||q.kind==="multipleOf"&&u8.isInteger(q.value))}get isFinite(){let q=null,_=null;for(let j of this._def.checks)if(j.kind==="finite"||j.kind==="int"||j.kind==="multipleOf")return!0;else if(j.kind==="min"){if(_===null||j.value>_)_=j.value}else if(j.kind==="max"){if(q===null||j.value<q)q=j.value}return Number.isFinite(_)&&Number.isFinite(q)}};nq.create=(q)=>{return new nq({checks:[],typeName:z8.ZodNumber,coerce:q?.coerce||!1,...Z8(q)})};xq=class xq extends k8{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(q){if(this._def.coerce)try{q.data=BigInt(q.data)}catch{return this._getInvalidInput(q)}if(this._getType(q)!==Q.bigint)return this._getInvalidInput(q);let j=void 0,K=new H6;for(let Y of this._def.checks)if(Y.kind==="min"){if(Y.inclusive?q.data<Y.value:q.data<=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_small,type:"bigint",minimum:Y.value,inclusive:Y.inclusive,message:Y.message}),K.dirty()}else if(Y.kind==="max"){if(Y.inclusive?q.data>Y.value:q.data>=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_big,type:"bigint",maximum:Y.value,inclusive:Y.inclusive,message:Y.message}),K.dirty()}else if(Y.kind==="multipleOf"){if(q.data%Y.value!==BigInt(0))j=this._getOrReturnCtx(q,j),F(j,{code:t.not_multiple_of,multipleOf:Y.value,message:Y.message}),K.dirty()}else u8.assertNever(Y);return{status:K.value,value:q.data}}_getInvalidInput(q){let _=this._getOrReturnCtx(q);return F(_,{code:t.invalid_type,expected:Q.bigint,received:_.parsedType}),O8}gte(q,_){return this.setLimit("min",q,!0,P8.toString(_))}gt(q,_){return this.setLimit("min",q,!1,P8.toString(_))}lte(q,_){return this.setLimit("max",q,!0,P8.toString(_))}lt(q,_){return this.setLimit("max",q,!1,P8.toString(_))}setLimit(q,_,j,K){return new xq({...this._def,checks:[...this._def.checks,{kind:q,value:_,inclusive:j,message:P8.toString(K)}]})}_addCheck(q){return new xq({...this._def,checks:[...this._def.checks,q]})}positive(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:P8.toString(q)})}negative(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:P8.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:P8.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:P8.toString(q)})}multipleOf(q,_){return this._addCheck({kind:"multipleOf",value:q,message:P8.toString(_)})}get minValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}};xq.create=(q)=>{return new xq({checks:[],typeName:z8.ZodBigInt,coerce:q?.coerce??!1,...Z8(q)})};c_=class c_ extends k8{_parse(q){if(this._def.coerce)q.data=Boolean(q.data);if(this._getType(q)!==Q.boolean){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.boolean,received:j.parsedType}),O8}return D6(q.data)}};c_.create=(q)=>{return new c_({typeName:z8.ZodBoolean,coerce:q?.coerce||!1,...Z8(q)})};P_=class P_ extends k8{_parse(q){if(this._def.coerce)q.data=new Date(q.data);if(this._getType(q)!==Q.date){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.date,received:Y.parsedType}),O8}if(Number.isNaN(q.data.getTime())){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_date}),O8}let j=new H6,K=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(q.data.getTime()<Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_small,message:Y.message,inclusive:!0,exact:!1,minimum:Y.value,type:"date"}),j.dirty()}else if(Y.kind==="max"){if(q.data.getTime()>Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_big,message:Y.message,inclusive:!0,exact:!1,maximum:Y.value,type:"date"}),j.dirty()}else u8.assertNever(Y);return{status:j.value,value:new Date(q.data.getTime())}}_addCheck(q){return new P_({...this._def,checks:[...this._def.checks,q]})}min(q,_){return this._addCheck({kind:"min",value:q.getTime(),message:P8.toString(_)})}max(q,_){return this._addCheck({kind:"max",value:q.getTime(),message:P8.toString(_)})}get minDate(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q!=null?new Date(q):null}get maxDate(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q!=null?new Date(q):null}};P_.create=(q)=>{return new P_({checks:[],coerce:q?.coerce||!1,typeName:z8.ZodDate,...Z8(q)})};yK=class yK extends k8{_parse(q){if(this._getType(q)!==Q.symbol){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.symbol,received:j.parsedType}),O8}return D6(q.data)}};yK.create=(q)=>{return new yK({typeName:z8.ZodSymbol,...Z8(q)})};r_=class r_ extends k8{_parse(q){if(this._getType(q)!==Q.undefined){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.undefined,received:j.parsedType}),O8}return D6(q.data)}};r_.create=(q)=>{return new r_({typeName:z8.ZodUndefined,...Z8(q)})};i_=class i_ extends k8{_parse(q){if(this._getType(q)!==Q.null){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.null,received:j.parsedType}),O8}return D6(q.data)}};i_.create=(q)=>{return new i_({typeName:z8.ZodNull,...Z8(q)})};Y_=class Y_ extends k8{constructor(){super(...arguments);this._any=!0}_parse(q){return D6(q.data)}};Y_.create=(q)=>{return new Y_({typeName:z8.ZodAny,...Z8(q)})};lq=class lq extends k8{constructor(){super(...arguments);this._unknown=!0}_parse(q){return D6(q.data)}};lq.create=(q)=>{return new lq({typeName:z8.ZodUnknown,...Z8(q)})};Zq=class Zq extends k8{_parse(q){let _=this._getOrReturnCtx(q);return F(_,{code:t.invalid_type,expected:Q.never,received:_.parsedType}),O8}};Zq.create=(q)=>{return new Zq({typeName:z8.ZodNever,...Z8(q)})};dK=class dK extends k8{_parse(q){if(this._getType(q)!==Q.undefined){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.void,received:j.parsedType}),O8}return D6(q.data)}};dK.create=(q)=>{return new dK({typeName:z8.ZodVoid,...Z8(q)})};Yq=class Yq extends k8{_parse(q){let{ctx:_,status:j}=this._processInputParams(q),K=this._def;if(_.parsedType!==Q.array)return F(_,{code:t.invalid_type,expected:Q.array,received:_.parsedType}),O8;if(K.exactLength!==null){let f=_.data.length>K.exactLength.value,P=_.data.length<K.exactLength.value;if(f||P)F(_,{code:f?t.too_big:t.too_small,minimum:P?K.exactLength.value:void 0,maximum:f?K.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:K.exactLength.message}),j.dirty()}if(K.minLength!==null){if(_.data.length<K.minLength.value)F(_,{code:t.too_small,minimum:K.minLength.value,type:"array",inclusive:!0,exact:!1,message:K.minLength.message}),j.dirty()}if(K.maxLength!==null){if(_.data.length>K.maxLength.value)F(_,{code:t.too_big,maximum:K.maxLength.value,type:"array",inclusive:!0,exact:!1,message:K.maxLength.message}),j.dirty()}if(_.common.async)return Promise.all([..._.data].map((f,P)=>{return K.type._parseAsync(new $q(_,f,_.path,P))})).then((f)=>{return H6.mergeArray(j,f)});let Y=[..._.data].map((f,P)=>{return K.type._parseSync(new $q(_,f,_.path,P))});return H6.mergeArray(j,Y)}get element(){return this._def.type}min(q,_){return new Yq({...this._def,minLength:{value:q,message:P8.toString(_)}})}max(q,_){return new Yq({...this._def,maxLength:{value:q,message:P8.toString(_)}})}length(q,_){return new Yq({...this._def,exactLength:{value:q,message:P8.toString(_)}})}nonempty(q){return this.min(1,q)}};Yq.create=(q,_)=>{return new Yq({type:q,minLength:null,maxLength:null,exactLength:null,typeName:z8.ZodArray,...Z8(_)})};i8=class i8 extends k8{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let q=this._def.shape(),_=u8.objectKeys(q);return this._cached={shape:q,keys:_},this._cached}_parse(q){if(this._getType(q)!==Q.object){let O=this._getOrReturnCtx(q);return F(O,{code:t.invalid_type,expected:Q.object,received:O.parsedType}),O8}let{status:j,ctx:K}=this._processInputParams(q),{shape:Y,keys:f}=this._getCached(),P=[];if(!(this._def.catchall instanceof Zq&&this._def.unknownKeys==="strip")){for(let O in K.data)if(!f.includes(O))P.push(O)}let $=[];for(let O of f){let w=Y[O],v=K.data[O];$.push({key:{status:"valid",value:O},value:w._parse(new $q(K,v,K.path,O)),alwaysSet:O in K.data})}if(this._def.catchall instanceof Zq){let O=this._def.unknownKeys;if(O==="passthrough")for(let w of P)$.push({key:{status:"valid",value:w},value:{status:"valid",value:K.data[w]}});else if(O==="strict"){if(P.length>0)F(K,{code:t.unrecognized_keys,keys:P}),j.dirty()}else if(O==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let O=this._def.catchall;for(let w of P){let v=K.data[w];$.push({key:{status:"valid",value:w},value:O._parse(new $q(K,v,K.path,w)),alwaysSet:w in K.data})}}if(K.common.async)return Promise.resolve().then(async()=>{let O=[];for(let w of $){let v=await w.key,z=await w.value;O.push({key:v,value:z,alwaysSet:w.alwaysSet})}return O}).then((O)=>{return H6.mergeObjectSync(j,O)});else return H6.mergeObjectSync(j,$)}get shape(){return this._def.shape()}strict(q){return P8.errToObj,new i8({...this._def,unknownKeys:"strict",...q!==void 0?{errorMap:(_,j)=>{let K=this._def.errorMap?.(_,j).message??j.defaultError;if(_.code==="unrecognized_keys")return{message:P8.errToObj(q).message??K};return{message:K}}}:{}})}strip(){return new i8({...this._def,unknownKeys:"strip"})}passthrough(){return new i8({...this._def,unknownKeys:"passthrough"})}extend(q){return new i8({...this._def,shape:()=>({...this._def.shape(),...q})})}merge(q){return new i8({unknownKeys:q._def.unknownKeys,catchall:q._def.catchall,shape:()=>({...this._def.shape(),...q._def.shape()}),typeName:z8.ZodObject})}setKey(q,_){return this.augment({[q]:_})}catchall(q){return new i8({...this._def,catchall:q})}pick(q){let _={};for(let j of u8.objectKeys(q))if(q[j]&&this.shape[j])_[j]=this.shape[j];return new i8({...this._def,shape:()=>_})}omit(q){let _={};for(let j of u8.objectKeys(this.shape))if(!q[j])_[j]=this.shape[j];return new i8({...this._def,shape:()=>_})}deepPartial(){return p_(this)}partial(q){let _={};for(let j of u8.objectKeys(this.shape)){let K=this.shape[j];if(q&&!q[j])_[j]=K;else _[j]=K.optional()}return new i8({...this._def,shape:()=>_})}required(q){let _={};for(let j of u8.objectKeys(this.shape))if(q&&!q[j])_[j]=this.shape[j];else{let Y=this.shape[j];while(Y instanceof fq)Y=Y._def.innerType;_[j]=Y}return new i8({...this._def,shape:()=>_})}keyof(){return t1(u8.objectKeys(this.shape))}};i8.create=(q,_)=>{return new i8({shape:()=>q,unknownKeys:"strip",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};i8.strictCreate=(q,_)=>{return new i8({shape:()=>q,unknownKeys:"strict",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};i8.lazycreate=(q,_)=>{return new i8({shape:q,unknownKeys:"strip",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};o_=class o_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=this._def.options;function K(Y){for(let P of Y)if(P.result.status==="valid")return P.result;for(let P of Y)if(P.result.status==="dirty")return _.common.issues.push(...P.ctx.common.issues),P.result;let f=Y.map((P)=>new g6(P.ctx.common.issues));return F(_,{code:t.invalid_union,unionErrors:f}),O8}if(_.common.async)return Promise.all(j.map(async(Y)=>{let f={..._,common:{..._.common,issues:[]},parent:null};return{result:await Y._parseAsync({data:_.data,path:_.path,parent:f}),ctx:f}})).then(K);else{let Y=void 0,f=[];for(let $ of j){let O={..._,common:{..._.common,issues:[]},parent:null},w=$._parseSync({data:_.data,path:_.path,parent:O});if(w.status==="valid")return w;else if(w.status==="dirty"&&!Y)Y={result:w,ctx:O};if(O.common.issues.length)f.push(O.common.issues)}if(Y)return _.common.issues.push(...Y.ctx.common.issues),Y.result;let P=f.map(($)=>new g6($));return F(_,{code:t.invalid_union,unionErrors:P}),O8}}get options(){return this._def.options}};o_.create=(q,_)=>{return new o_({options:q,typeName:z8.ZodUnion,...Z8(_)})};c3=class c3 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.object)return F(_,{code:t.invalid_type,expected:Q.object,received:_.parsedType}),O8;let j=this.discriminator,K=_.data[j],Y=this.optionsMap.get(K);if(!Y)return F(_,{code:t.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[j]}),O8;if(_.common.async)return Y._parseAsync({data:_.data,path:_.path,parent:_});else return Y._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(q,_,j){let K=new Map;for(let Y of _){let f=Eq(Y.shape[q]);if(!f.length)throw new Error(`A discriminator value for key \`${q}\` could not be extracted from all schema options`);for(let P of f){if(K.has(P))throw new Error(`Discriminator property ${String(q)} has duplicate value ${String(P)}`);K.set(P,Y)}}return new c3({typeName:z8.ZodDiscriminatedUnion,discriminator:q,options:_,optionsMap:K,...Z8(j)})}};a_=class a_ extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q),K=(Y,f)=>{if(o4(Y)||o4(f))return O8;let P=B4(Y.value,f.value);if(!P.valid)return F(j,{code:t.invalid_intersection_types}),O8;if(a4(Y)||a4(f))_.dirty();return{status:_.value,value:P.data}};if(j.common.async)return Promise.all([this._def.left._parseAsync({data:j.data,path:j.path,parent:j}),this._def.right._parseAsync({data:j.data,path:j.path,parent:j})]).then(([Y,f])=>K(Y,f));else return K(this._def.left._parseSync({data:j.data,path:j.path,parent:j}),this._def.right._parseSync({data:j.data,path:j.path,parent:j}))}};a_.create=(q,_,j)=>{return new a_({left:q,right:_,typeName:z8.ZodIntersection,...Z8(j)})};kq=class kq extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.array)return F(j,{code:t.invalid_type,expected:Q.array,received:j.parsedType}),O8;if(j.data.length<this._def.items.length)return F(j,{code:t.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),O8;if(!this._def.rest&&j.data.length>this._def.items.length)F(j,{code:t.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let Y=[...j.data].map((f,P)=>{let $=this._def.items[P]||this._def.rest;if(!$)return null;return $._parse(new $q(j,f,j.path,P))}).filter((f)=>!!f);if(j.common.async)return Promise.all(Y).then((f)=>{return H6.mergeArray(_,f)});else return H6.mergeArray(_,Y)}get items(){return this._def.items}rest(q){return new kq({...this._def,rest:q})}};kq.create=(q,_)=>{if(!Array.isArray(q))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new kq({items:q,typeName:z8.ZodTuple,rest:null,...Z8(_)})};pK=class pK extends k8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.object)return F(j,{code:t.invalid_type,expected:Q.object,received:j.parsedType}),O8;let K=[],Y=this._def.keyType,f=this._def.valueType;for(let P in j.data)K.push({key:Y._parse(new $q(j,P,j.path,P)),value:f._parse(new $q(j,j.data[P],j.path,P)),alwaysSet:P in j.data});if(j.common.async)return H6.mergeObjectAsync(_,K);else return H6.mergeObjectSync(_,K)}get element(){return this._def.valueType}static create(q,_,j){if(_ instanceof k8)return new pK({keyType:q,valueType:_,typeName:z8.ZodRecord,...Z8(j)});return new pK({keyType:Pq.create(),valueType:q,typeName:z8.ZodRecord,...Z8(_)})}};LK=class LK extends k8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.map)return F(j,{code:t.invalid_type,expected:Q.map,received:j.parsedType}),O8;let K=this._def.keyType,Y=this._def.valueType,f=[...j.data.entries()].map(([P,$],O)=>{return{key:K._parse(new $q(j,P,j.path,[O,"key"])),value:Y._parse(new $q(j,$,j.path,[O,"value"]))}});if(j.common.async){let P=new Map;return Promise.resolve().then(async()=>{for(let $ of f){let O=await $.key,w=await $.value;if(O.status==="aborted"||w.status==="aborted")return O8;if(O.status==="dirty"||w.status==="dirty")_.dirty();P.set(O.value,w.value)}return{status:_.value,value:P}})}else{let P=new Map;for(let $ of f){let{key:O,value:w}=$;if(O.status==="aborted"||w.status==="aborted")return O8;if(O.status==="dirty"||w.status==="dirty")_.dirty();P.set(O.value,w.value)}return{status:_.value,value:P}}}};LK.create=(q,_,j)=>{return new LK({valueType:_,keyType:q,typeName:z8.ZodMap,...Z8(j)})};f_=class f_ extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.set)return F(j,{code:t.invalid_type,expected:Q.set,received:j.parsedType}),O8;let K=this._def;if(K.minSize!==null){if(j.data.size<K.minSize.value)F(j,{code:t.too_small,minimum:K.minSize.value,type:"set",inclusive:!0,exact:!1,message:K.minSize.message}),_.dirty()}if(K.maxSize!==null){if(j.data.size>K.maxSize.value)F(j,{code:t.too_big,maximum:K.maxSize.value,type:"set",inclusive:!0,exact:!1,message:K.maxSize.message}),_.dirty()}let Y=this._def.valueType;function f($){let O=new Set;for(let w of $){if(w.status==="aborted")return O8;if(w.status==="dirty")_.dirty();O.add(w.value)}return{status:_.value,value:O}}let P=[...j.data.values()].map(($,O)=>Y._parse(new $q(j,$,j.path,O)));if(j.common.async)return Promise.all(P).then(($)=>f($));else return f(P)}min(q,_){return new f_({...this._def,minSize:{value:q,message:P8.toString(_)}})}max(q,_){return new f_({...this._def,maxSize:{value:q,message:P8.toString(_)}})}size(q,_){return this.min(q,_).max(q,_)}nonempty(q){return this.min(1,q)}};f_.create=(q,_)=>{return new f_({valueType:q,minSize:null,maxSize:null,typeName:z8.ZodSet,...Z8(_)})};n_=class n_ extends k8{constructor(){super(...arguments);this.validate=this.implement}_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.function)return F(_,{code:t.invalid_type,expected:Q.function,received:_.parsedType}),O8;function j(P,$){return x3({data:P,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,n3(),x_].filter((O)=>!!O),issueData:{code:t.invalid_arguments,argumentsError:$}})}function K(P,$){return x3({data:P,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,n3(),x_].filter((O)=>!!O),issueData:{code:t.invalid_return_type,returnTypeError:$}})}let Y={errorMap:_.common.contextualErrorMap},f=_.data;if(this._def.returns instanceof $_){let P=this;return D6(async function(...$){let O=new g6([]),w=await P._def.args.parseAsync($,Y).catch((W)=>{throw O.addIssue(j($,W)),O}),v=await Reflect.apply(f,this,w);return await P._def.returns._def.type.parseAsync(v,Y).catch((W)=>{throw O.addIssue(K(v,W)),O})})}else{let P=this;return D6(function(...$){let O=P._def.args.safeParse($,Y);if(!O.success)throw new g6([j($,O.error)]);let w=Reflect.apply(f,this,O.data),v=P._def.returns.safeParse(w,Y);if(!v.success)throw new g6([K(w,v.error)]);return v.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...q){return new n_({...this._def,args:kq.create(q).rest(lq.create())})}returns(q){return new n_({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,_,j){return new n_({args:q?q:kq.create([]).rest(lq.create()),returns:_||lq.create(),typeName:z8.ZodFunction,...Z8(j)})}};B_=class B_ extends k8{get schema(){return this._def.getter()}_parse(q){let{ctx:_}=this._processInputParams(q);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}};B_.create=(q,_)=>{return new B_({getter:q,typeName:z8.ZodLazy,...Z8(_)})};t_=class t_ extends k8{_parse(q){if(q.data!==this._def.value){let _=this._getOrReturnCtx(q);return F(_,{received:_.data,code:t.invalid_literal,expected:this._def.value}),O8}return{status:"valid",value:q.data}}get value(){return this._def.value}};t_.create=(q,_)=>{return new t_({value:q,typeName:z8.ZodLiteral,...Z8(_)})};cq=class cq extends k8{_parse(q){if(typeof q.data!=="string"){let _=this._getOrReturnCtx(q),j=this._def.values;return F(_,{expected:u8.joinValues(j),received:_.parsedType,code:t.invalid_type}),O8}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(q.data)){let _=this._getOrReturnCtx(q),j=this._def.values;return F(_,{received:_.data,code:t.invalid_enum_value,options:j}),O8}return D6(q.data)}get options(){return this._def.values}get enum(){let q={};for(let _ of this._def.values)q[_]=_;return q}get Values(){let q={};for(let _ of this._def.values)q[_]=_;return q}get Enum(){let q={};for(let _ of this._def.values)q[_]=_;return q}extract(q,_=this._def){return cq.create(q,{...this._def,..._})}exclude(q,_=this._def){return cq.create(this.options.filter((j)=>!q.includes(j)),{...this._def,..._})}};cq.create=t1;e_=class e_ extends k8{_parse(q){let _=u8.getValidEnumValues(this._def.values),j=this._getOrReturnCtx(q);if(j.parsedType!==Q.string&&j.parsedType!==Q.number){let K=u8.objectValues(_);return F(j,{expected:u8.joinValues(K),received:j.parsedType,code:t.invalid_type}),O8}if(!this._cache)this._cache=new Set(u8.getValidEnumValues(this._def.values));if(!this._cache.has(q.data)){let K=u8.objectValues(_);return F(j,{received:j.data,code:t.invalid_enum_value,options:K}),O8}return D6(q.data)}get enum(){return this._def.values}};e_.create=(q,_)=>{return new e_({values:q,typeName:z8.ZodNativeEnum,...Z8(_)})};$_=class $_ extends k8{unwrap(){return this._def.type}_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.promise&&_.common.async===!1)return F(_,{code:t.invalid_type,expected:Q.promise,received:_.parsedType}),O8;let j=_.parsedType===Q.promise?_.data:Promise.resolve(_.data);return D6(j.then((K)=>{return this._def.type.parseAsync(K,{path:_.path,errorMap:_.common.contextualErrorMap})}))}};$_.create=(q,_)=>{return new $_({type:q,typeName:z8.ZodPromise,...Z8(_)})};t6=class t6 extends k8{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z8.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(q){let{status:_,ctx:j}=this._processInputParams(q),K=this._def.effect||null,Y={addIssue:(f)=>{if(F(j,f),f.fatal)_.abort();else _.dirty()},get path(){return j.path}};if(Y.addIssue=Y.addIssue.bind(Y),K.type==="preprocess"){let f=K.transform(j.data,Y);if(j.common.async)return Promise.resolve(f).then(async(P)=>{if(_.value==="aborted")return O8;let $=await this._def.schema._parseAsync({data:P,path:j.path,parent:j});if($.status==="aborted")return O8;if($.status==="dirty")return l_($.value);if(_.value==="dirty")return l_($.value);return $});else{if(_.value==="aborted")return O8;let P=this._def.schema._parseSync({data:f,path:j.path,parent:j});if(P.status==="aborted")return O8;if(P.status==="dirty")return l_(P.value);if(_.value==="dirty")return l_(P.value);return P}}if(K.type==="refinement"){let f=(P)=>{let $=K.refinement(P,Y);if(j.common.async)return Promise.resolve($);if($ instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return P};if(j.common.async===!1){let P=this._def.schema._parseSync({data:j.data,path:j.path,parent:j});if(P.status==="aborted")return O8;if(P.status==="dirty")_.dirty();return f(P.value),{status:_.value,value:P.value}}else return this._def.schema._parseAsync({data:j.data,path:j.path,parent:j}).then((P)=>{if(P.status==="aborted")return O8;if(P.status==="dirty")_.dirty();return f(P.value).then(()=>{return{status:_.value,value:P.value}})})}if(K.type==="transform")if(j.common.async===!1){let f=this._def.schema._parseSync({data:j.data,path:j.path,parent:j});if(!j_(f))return O8;let P=K.transform(f.value,Y);if(P instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:P}}else return this._def.schema._parseAsync({data:j.data,path:j.path,parent:j}).then((f)=>{if(!j_(f))return O8;return Promise.resolve(K.transform(f.value,Y)).then((P)=>({status:_.value,value:P}))});u8.assertNever(K)}};t6.create=(q,_,j)=>{return new t6({schema:q,typeName:z8.ZodEffects,effect:_,...Z8(j)})};t6.createWithPreprocess=(q,_,j)=>{return new t6({schema:_,effect:{type:"preprocess",transform:q},typeName:z8.ZodEffects,...Z8(j)})};fq=class fq extends k8{_parse(q){if(this._getType(q)===Q.undefined)return D6(void 0);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}};fq.create=(q,_)=>{return new fq({innerType:q,typeName:z8.ZodOptional,...Z8(_)})};mq=class mq extends k8{_parse(q){if(this._getType(q)===Q.null)return D6(null);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}};mq.create=(q,_)=>{return new mq({innerType:q,typeName:z8.ZodNullable,...Z8(_)})};F_=class F_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;if(_.parsedType===Q.undefined)j=this._def.defaultValue();return this._def.innerType._parse({data:j,path:_.path,parent:_})}removeDefault(){return this._def.innerType}};F_.create=(q,_)=>{return new F_({innerType:q,typeName:z8.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...Z8(_)})};U_=class U_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j={..._,common:{..._.common,issues:[]}},K=this._def.innerType._parse({data:j.data,path:j.path,parent:{...j}});if(gK(K))return K.then((Y)=>{return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new g6(j.common.issues)},input:j.data})}});else return{status:"valid",value:K.status==="valid"?K.value:this._def.catchValue({get error(){return new g6(j.common.issues)},input:j.data})}}removeCatch(){return this._def.innerType}};U_.create=(q,_)=>{return new U_({innerType:q,typeName:z8.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...Z8(_)})};lK=class lK extends k8{_parse(q){if(this._getType(q)!==Q.nan){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.nan,received:j.parsedType}),O8}return{status:"valid",value:q.data}}};lK.create=(q)=>{return new lK({typeName:z8.ZodNaN,...Z8(q)})};jZ=Symbol("zod_brand");r3=class r3 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;return this._def.type._parse({data:j,path:_.path,parent:_})}unwrap(){return this._def.type}};nK=class nK extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.common.async)return(async()=>{let Y=await this._def.in._parseAsync({data:j.data,path:j.path,parent:j});if(Y.status==="aborted")return O8;if(Y.status==="dirty")return _.dirty(),l_(Y.value);else return this._def.out._parseAsync({data:Y.value,path:j.path,parent:j})})();else{let K=this._def.in._parseSync({data:j.data,path:j.path,parent:j});if(K.status==="aborted")return O8;if(K.status==="dirty")return _.dirty(),{status:"dirty",value:K.value};else return this._def.out._parseSync({data:K.value,path:j.path,parent:j})}}static create(q,_){return new nK({in:q,out:_,typeName:z8.ZodPipeline})}};s_=class s_ extends k8{_parse(q){let _=this._def.innerType._parse(q),j=(K)=>{if(j_(K))K.value=Object.freeze(K.value);return K};return gK(_)?_.then((K)=>j(K)):j(_)}unwrap(){return this._def.innerType}};s_.create=(q,_)=>{return new s_({innerType:q,typeName:z8.ZodReadonly,...Z8(_)})};PZ={object:i8.lazycreate};(function(q){q.ZodString="ZodString",q.ZodNumber="ZodNumber",q.ZodNaN="ZodNaN",q.ZodBigInt="ZodBigInt",q.ZodBoolean="ZodBoolean",q.ZodDate="ZodDate",q.ZodSymbol="ZodSymbol",q.ZodUndefined="ZodUndefined",q.ZodNull="ZodNull",q.ZodAny="ZodAny",q.ZodUnknown="ZodUnknown",q.ZodNever="ZodNever",q.ZodVoid="ZodVoid",q.ZodArray="ZodArray",q.ZodObject="ZodObject",q.ZodUnion="ZodUnion",q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",q.ZodIntersection="ZodIntersection",q.ZodTuple="ZodTuple",q.ZodRecord="ZodRecord",q.ZodMap="ZodMap",q.ZodSet="ZodSet",q.ZodFunction="ZodFunction",q.ZodLazy="ZodLazy",q.ZodLiteral="ZodLiteral",q.ZodEnum="ZodEnum",q.ZodEffects="ZodEffects",q.ZodNativeEnum="ZodNativeEnum",q.ZodOptional="ZodOptional",q.ZodNullable="ZodNullable",q.ZodDefault="ZodDefault",q.ZodCatch="ZodCatch",q.ZodPromise="ZodPromise",q.ZodBranded="ZodBranded",q.ZodPipeline="ZodPipeline",q.ZodReadonly="ZodReadonly"})(z8||(z8={}));F1=Pq.create,U1=nq.create,fZ=lK.create,$Z=xq.create,s1=c_.create,wZ=P_.create,OZ=yK.create,vZ=r_.create,zZ=i_.create,WZ=Y_.create,JZ=lq.create,HZ=Zq.create,TZ=dK.create,ZZ=Yq.create,kZ=i8.create,XZ=i8.strictCreate,AZ=o_.create,GZ=c3.create,uZ=a_.create,hZ=kq.create,DZ=pK.create,CZ=LK.create,VZ=f_.create,MZ=n_.create,NZ=B_.create,bZ=t_.create,SZ=cq.create,EZ=e_.create,RZ=$_.create,I1=t6.create,mZ=fq.create,IZ=mq.create,gZ=t6.createWithPreprocess,yZ=nK.create,lZ={string:(q)=>Pq.create({...q,coerce:!0}),number:(q)=>nq.create({...q,coerce:!0}),boolean:(q)=>c_.create({...q,coerce:!0}),bigint:(q)=>xq.create({...q,coerce:!0}),date:(q)=>P_.create({...q,coerce:!0})},nZ=O8,Q1=Z.union([Z.string(),Z.number().int()]),qP=Z.string(),xZ=Z.object({progressToken:Z.optional(Q1)}).passthrough(),e6=Z.object({_meta:Z.optional(xZ)}).passthrough(),S6=Z.object({method:Z.string(),params:Z.optional(e6)}),xK=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Xq=Z.object({method:Z.string(),params:Z.optional(xK)}),F6=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),o3=Z.union([Z.string(),Z.number().int()]),cZ=Z.object({jsonrpc:Z.literal(i3),id:o3}).merge(S6).strict(),rZ=Z.object({jsonrpc:Z.literal(i3)}).merge(Xq).strict(),iZ=Z.object({jsonrpc:Z.literal(i3),id:o3,result:F6}).strict();(function(q){q[q.ConnectionClosed=-32000]="ConnectionClosed",q[q.RequestTimeout=-32001]="RequestTimeout",q[q.ParseError=-32700]="ParseError",q[q.InvalidRequest=-32600]="InvalidRequest",q[q.MethodNotFound=-32601]="MethodNotFound",q[q.InvalidParams=-32602]="InvalidParams",q[q.InternalError=-32603]="InternalError"})(g1||(g1={}));oZ=Z.object({jsonrpc:Z.literal(i3),id:o3,error:Z.object({code:Z.number().int(),message:Z.string(),data:Z.optional(Z.unknown())})}).strict(),hC=Z.union([cZ,rZ,iZ,oZ]),_P=F6.strict(),KP=Xq.extend({method:Z.literal("notifications/cancelled"),params:xK.extend({requestId:o3,reason:Z.string().optional()})}),cK=Z.object({name:Z.string(),title:Z.optional(Z.string())}).passthrough(),jP=cK.extend({version:Z.string()}),aZ=Z.object({experimental:Z.optional(Z.object({}).passthrough()),sampling:Z.optional(Z.object({}).passthrough()),elicitation:Z.optional(Z.object({}).passthrough()),roots:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),BZ=S6.extend({method:Z.literal("initialize"),params:e6.extend({protocolVersion:Z.string(),capabilities:aZ,clientInfo:jP})}),tZ=Z.object({experimental:Z.optional(Z.object({}).passthrough()),logging:Z.optional(Z.object({}).passthrough()),completions:Z.optional(Z.object({}).passthrough()),prompts:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough()),resources:Z.optional(Z.object({subscribe:Z.optional(Z.boolean()),listChanged:Z.optional(Z.boolean())}).passthrough()),tools:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),eZ=F6.extend({protocolVersion:Z.string(),capabilities:tZ,serverInfo:jP,instructions:Z.optional(Z.string())}),FZ=Xq.extend({method:Z.literal("notifications/initialized")}),PP=S6.extend({method:Z.literal("ping")}),UZ=Z.object({progress:Z.number(),total:Z.optional(Z.number()),message:Z.optional(Z.string())}).passthrough(),YP=Xq.extend({method:Z.literal("notifications/progress"),params:xK.merge(UZ).extend({progressToken:Q1})}),a3=S6.extend({params:e6.extend({cursor:Z.optional(qP)}).optional()}),B3=F6.extend({nextCursor:Z.optional(qP)}),fP=Z.object({uri:Z.string(),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),$P=fP.extend({text:Z.string()}),Q4=Z.string().refine((q)=>{try{return atob(q),!0}catch(_){return!1}},{message:"Invalid Base64 string"}),wP=fP.extend({blob:Q4}),OP=cK.extend({uri:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),sZ=cK.extend({uriTemplate:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),QZ=a3.extend({method:Z.literal("resources/list")}),qk=B3.extend({resources:Z.array(OP)}),_k=a3.extend({method:Z.literal("resources/templates/list")}),Kk=B3.extend({resourceTemplates:Z.array(sZ)}),jk=S6.extend({method:Z.literal("resources/read"),params:e6.extend({uri:Z.string()})}),Pk=F6.extend({contents:Z.array(Z.union([$P,wP]))}),Yk=Xq.extend({method:Z.literal("notifications/resources/list_changed")}),fk=S6.extend({method:Z.literal("resources/subscribe"),params:e6.extend({uri:Z.string()})}),$k=S6.extend({method:Z.literal("resources/unsubscribe"),params:e6.extend({uri:Z.string()})}),wk=Xq.extend({method:Z.literal("notifications/resources/updated"),params:xK.extend({uri:Z.string()})}),Ok=Z.object({name:Z.string(),description:Z.optional(Z.string()),required:Z.optional(Z.boolean())}).passthrough(),vk=cK.extend({description:Z.optional(Z.string()),arguments:Z.optional(Z.array(Ok)),_meta:Z.optional(Z.object({}).passthrough())}),zk=a3.extend({method:Z.literal("prompts/list")}),Wk=B3.extend({prompts:Z.array(vk)}),Jk=S6.extend({method:Z.literal("prompts/get"),params:e6.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.string()))})}),q2=Z.object({type:Z.literal("text"),text:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),_2=Z.object({type:Z.literal("image"),data:Q4,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),K2=Z.object({type:Z.literal("audio"),data:Q4,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Hk=Z.object({type:Z.literal("resource"),resource:Z.union([$P,wP]),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Tk=OP.extend({type:Z.literal("resource_link")}),vP=Z.union([q2,_2,K2,Tk,Hk]),Zk=Z.object({role:Z.enum(["user","assistant"]),content:vP}).passthrough(),kk=F6.extend({description:Z.optional(Z.string()),messages:Z.array(Zk)}),Xk=Xq.extend({method:Z.literal("notifications/prompts/list_changed")}),Ak=Z.object({title:Z.optional(Z.string()),readOnlyHint:Z.optional(Z.boolean()),destructiveHint:Z.optional(Z.boolean()),idempotentHint:Z.optional(Z.boolean()),openWorldHint:Z.optional(Z.boolean())}).passthrough(),Gk=cK.extend({description:Z.optional(Z.string()),inputSchema:Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough(),outputSchema:Z.optional(Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough()),annotations:Z.optional(Ak),_meta:Z.optional(Z.object({}).passthrough())}),uk=a3.extend({method:Z.literal("tools/list")}),hk=B3.extend({tools:Z.array(Gk)}),zP=F6.extend({content:Z.array(vP).default([]),structuredContent:Z.object({}).passthrough().optional(),isError:Z.optional(Z.boolean())}),DC=zP.or(F6.extend({toolResult:Z.unknown()})),Dk=S6.extend({method:Z.literal("tools/call"),params:e6.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.unknown()))})}),Ck=Xq.extend({method:Z.literal("notifications/tools/list_changed")}),WP=Z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Vk=S6.extend({method:Z.literal("logging/setLevel"),params:e6.extend({level:WP})}),Mk=Xq.extend({method:Z.literal("notifications/message"),params:xK.extend({level:WP,logger:Z.optional(Z.string()),data:Z.unknown()})}),Nk=Z.object({name:Z.string().optional()}).passthrough(),bk=Z.object({hints:Z.optional(Z.array(Nk)),costPriority:Z.optional(Z.number().min(0).max(1)),speedPriority:Z.optional(Z.number().min(0).max(1)),intelligencePriority:Z.optional(Z.number().min(0).max(1))}).passthrough(),Sk=Z.object({role:Z.enum(["user","assistant"]),content:Z.union([q2,_2,K2])}).passthrough(),Ek=S6.extend({method:Z.literal("sampling/createMessage"),params:e6.extend({messages:Z.array(Sk),systemPrompt:Z.optional(Z.string()),includeContext:Z.optional(Z.enum(["none","thisServer","allServers"])),temperature:Z.optional(Z.number()),maxTokens:Z.number().int(),stopSequences:Z.optional(Z.array(Z.string())),metadata:Z.optional(Z.object({}).passthrough()),modelPreferences:Z.optional(bk)})}),Rk=F6.extend({model:Z.string(),stopReason:Z.optional(Z.enum(["endTurn","stopSequence","maxTokens"]).or(Z.string())),role:Z.enum(["user","assistant"]),content:Z.discriminatedUnion("type",[q2,_2,K2])}),mk=Z.object({type:Z.literal("boolean"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),default:Z.optional(Z.boolean())}).passthrough(),Ik=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minLength:Z.optional(Z.number()),maxLength:Z.optional(Z.number()),format:Z.optional(Z.enum(["email","uri","date","date-time"]))}).passthrough(),gk=Z.object({type:Z.enum(["number","integer"]),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minimum:Z.optional(Z.number()),maximum:Z.optional(Z.number())}).passthrough(),yk=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),enum:Z.array(Z.string()),enumNames:Z.optional(Z.array(Z.string()))}).passthrough(),dk=Z.union([mk,Ik,gk,yk]),pk=S6.extend({method:Z.literal("elicitation/create"),params:e6.extend({message:Z.string(),requestedSchema:Z.object({type:Z.literal("object"),properties:Z.record(Z.string(),dk),required:Z.optional(Z.array(Z.string()))}).passthrough()})}),Lk=F6.extend({action:Z.enum(["accept","decline","cancel"]),content:Z.optional(Z.record(Z.string(),Z.unknown()))}),lk=Z.object({type:Z.literal("ref/resource"),uri:Z.string()}).passthrough(),nk=Z.object({type:Z.literal("ref/prompt"),name:Z.string()}).passthrough(),xk=S6.extend({method:Z.literal("completion/complete"),params:e6.extend({ref:Z.union([nk,lk]),argument:Z.object({name:Z.string(),value:Z.string()}).passthrough(),context:Z.optional(Z.object({arguments:Z.optional(Z.record(Z.string(),Z.string()))}))})}),ck=F6.extend({completion:Z.object({values:Z.array(Z.string()).max(100),total:Z.optional(Z.number().int()),hasMore:Z.optional(Z.boolean())}).passthrough()}),rk=Z.object({uri:Z.string().startsWith("file://"),name:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),ik=S6.extend({method:Z.literal("roots/list")}),ok=F6.extend({roots:Z.array(rk)}),ak=Xq.extend({method:Z.literal("notifications/roots/list_changed")}),CC=Z.union([PP,BZ,xk,Vk,Jk,zk,QZ,_k,jk,fk,$k,Dk,uk]),VC=Z.union([KP,YP,FZ,ak]),MC=Z.union([_P,Rk,Lk,ok]),NC=Z.union([PP,Ek,pk,ik]),bC=Z.union([KP,YP,Mk,wk,Yk,Ck,Xk]),SC=Z.union([_P,eZ,ck,kk,Wk,qk,Kk,Pk,zP,hk]),EC=xH(hT(),1),RC=Symbol("Let zodToJsonSchema decide on which parser to use"),mC=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");(function(q){q.Completable="McpCompletable"})(t4||(t4={}));e4=class e4 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;return this._def.type._parse({data:j,path:_.path,parent:_})}unwrap(){return this._def.type}};e4.create=(q,_)=>{return new e4({type:q,typeName:t4.Completable,complete:_.complete,...Bk(_)})}});var HP={};uK(HP,{version:()=>Fk,type:()=>sk,scripts:()=>qX,repository:()=>PX,publishConfig:()=>$X,name:()=>ek,main:()=>Qk,license:()=>jX,keywords:()=>_X,homepage:()=>YX,files:()=>WX,engines:()=>vX,devDependencies:()=>OX,description:()=>Uk,dependencies:()=>wX,default:()=>JX,bugs:()=>fX,bin:()=>zX,author:()=>KX});var ek="claude-mem",Fk="3.5.5",Uk="Memory compression system for Claude Code - persist context across sessions",sk="module",Qk="claude-mem",qX,_X,KX="Alex Newman",jX="SEE LICENSE IN LICENSE",PX,YX="https://github.com/thedotmack/claude-mem#readme",fX,$X,wX,OX,vX,zX,WX,JX;var TP=Y6(()=>{qX={dev:"tsx src/bin/cli.ts","dev:install":"node dist/claude-mem.min.js install --force","dev:status":"node dist/claude-mem.min.js status","dev:compress":"node dist/claude-mem.min.js compress","dev:load":"node dist/claude-mem.min.js load-context","dev:uninstall":"node dist/claude-mem.min.js uninstall",build:"./scripts/build-minified.sh","test:watch":"npm test -- --watch",lint:"eslint 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'","lint:fix":"npm run lint -- --fix",format:"prettier --write 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'","build:npm":"./scripts/npm-publish.sh",publish:"./scripts/publish-all.sh","publish:latest":"npm version patch && ./scripts/publish-all.sh","publish:github":"./scripts/github-publish.sh"},_X=["claude","claude-code","mcp","memory","compression","knowledge-graph","transcript","cli","typescript","bun"],PX={type:"git",url:"https://github.com/thedotmack/claude-mem.git"},fX={url:"https://github.com/thedotmack/claude-mem/issues"},$X={access:"public",registry:"https://registry.npmjs.org/"},wX={"@anthropic-ai/claude-code":"^1.0.88","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^0.5.0",boxen:"^8.0.1",chalk:"^5.6.0",chromadb:"^3.0.14",commander:"^14.0.0",glob:"^11.0.3","gradient-string":"^3.0.0",handlebars:"^4.7.8","oh-my-logo":"^0.3.2"},OX={"@types/chai":"^4.3.0","@types/handlebars":"^4.0.40","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0",chai:"^4.3.0",eslint:"^8.0.0",prettier:"^3.0.0","ts-node":"^10.0.0",tsx:"^4.20.5",typescript:"^5.0.0"},vX={node:">=18.0.0",bun:">=1.0.0"},zX={"claude-mem":"dist/claude-mem.min.js"},WX=["dist","hooks","commands","docs"],JX={name:ek,version:Fk,description:Uk,type:sk,main:Qk,scripts:qX,keywords:_X,author:KX,license:jX,repository:PX,homepage:YX,bugs:fX,publishConfig:$X,dependencies:wX,devDependencies:OX,engines:vX,bin:zX,files:WX}});import{join as B8,dirname as t3,sep as HX}from"path";import{homedir as P2}from"os";import{existsSync as rK,statSync as TX}from"fs";import{execSync as ZX}from"child_process";import{fileURLToPath as kX}from"url";class _8{static instance=null;_dataDirectory=null;_packageRoot=null;_claudeConfigDirectory=null;static getInstance(){if(!_8.instance)_8.instance=new _8;return _8.instance}getDataDirectory(){if(this._dataDirectory)return this._dataDirectory;return this._dataDirectory=process.env.CLAUDE_MEM_DATA_DIR||B8(P2(),".claude-mem"),this._dataDirectory}getArchivesDirectory(){return B8(this.getDataDirectory(),"archives")}getHooksDirectory(){return B8(this.getDataDirectory(),"hooks")}getLogsDirectory(){return B8(this.getDataDirectory(),"logs")}getIndexDirectory(){return this.getDataDirectory()}getIndexPath(){return B8(this.getIndexDirectory(),"claude-mem-index.jsonl")}getTrashDirectory(){return B8(this.getDataDirectory(),"trash")}getBackupsDirectory(){return B8(this.getDataDirectory(),"backups")}getChromaDirectory(){return B8(this.getDataDirectory(),"chroma")}getProjectArchiveDirectory(q){return B8(this.getArchivesDirectory(),q)}getUserSettingsPath(){return B8(this.getDataDirectory(),"settings.json")}getClaudeConfigDirectory(){if(this._claudeConfigDirectory)return this._claudeConfigDirectory;return this._claudeConfigDirectory=process.env.CLAUDE_CONFIG_DIR||B8(P2(),".claude"),this._claudeConfigDirectory}getClaudeSettingsPath(){return B8(this.getClaudeConfigDirectory(),"settings.json")}getClaudeCommandsDirectory(){return B8(this.getClaudeConfigDirectory(),"commands")}getClaudeMdPath(){return B8(this.getClaudeConfigDirectory(),"CLAUDE.md")}getMcpConfigPath(){return B8(P2(),".claude.json")}getProjectMcpConfigPath(){return B8(process.cwd(),".mcp.json")}getPackageRoot(){if(this._packageRoot)return this._packageRoot;try{let j=u6.resolve("/Users/alexnewman/Scripts/claude-mem-source/package.json");return this._packageRoot=t3(j),this._packageRoot}catch{}let q=kX(import.meta.url),_=t3(q);for(let j=0;j<10;j++){let K=B8(_,"package.json");if(rK(K))try{if(u6(K).name==="claude-mem")return this._packageRoot=_,this._packageRoot}catch{}let Y=t3(_);if(Y===_)break;_=Y}try{let j=ZX("npm list -g claude-mem --json 2>/dev/null || npm list claude-mem --json 2>/dev/null",{encoding:"utf8"}),K=JSON.parse(j);if(K.dependencies?.["claude-mem"]?.resolved)return this._packageRoot=t3(K.dependencies["claude-mem"].resolved),this._packageRoot}catch{}throw new Error("Cannot locate claude-mem package root. Ensure claude-mem is properly installed.")}findPackageHooksDirectory(){let q=this.getPackageRoot(),_=B8(q,"hooks"),j=["pre-compact.js","session-start.js"];for(let K of j)if(!rK(B8(_,K)))throw new Error(`Package hooks directory missing required file: ${K}`);return _}findPackageCommandsDirectory(){let q=this.getPackageRoot(),_=B8(q,"commands"),j=["save.md"];for(let K of j)if(!rK(B8(_,K)))throw new Error(`Package commands directory missing required file: ${K}`);return _}ensureDirectory(q){if(!rK(q))u6("fs").mkdirSync(q,{recursive:!0})}ensureDirectories(q){q.forEach((_)=>this.ensureDirectory(_))}ensureAllDataDirectories(){this.ensureDirectories([this.getDataDirectory(),this.getArchivesDirectory(),this.getHooksDirectory(),this.getLogsDirectory(),this.getTrashDirectory(),this.getBackupsDirectory(),this.getChromaDirectory()])}ensureAllClaudeDirectories(){this.ensureDirectories([this.getClaudeConfigDirectory(),this.getClaudeCommandsDirectory()])}static extractProjectName(q){let _=q.split(HX),j=["src","lib","app","project","workspace"];for(let K=_.length-1;K>=0;K--)if(j.includes(_[K])&&K>0)return _[K-1];if(_.length>1)return _[_.length-2];return"unknown-project"}static getCurrentProjectName(){return u6("path").basename(process.cwd())}static createBackupFilename(q){let _=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${q}.backup.${_}`}static isPathAccessible(q){try{return rK(q)&&TX(q).isDirectory()}catch{return!1}}static getDataDirectory(){return _8.getInstance().getDataDirectory()}static getArchivesDirectory(){return _8.getInstance().getArchivesDirectory()}static getHooksDirectory(){return _8.getInstance().getHooksDirectory()}static getLogsDirectory(){return _8.getInstance().getLogsDirectory()}static getClaudeSettingsPath(){return _8.getInstance().getClaudeSettingsPath()}static getClaudeMdPath(){return _8.getInstance().getClaudeMdPath()}static findPackageHooksDirectory(){return _8.getInstance().findPackageHooksDirectory()}static findPackageCommandsDirectory(){return _8.getInstance().findPackageCommandsDirectory()}}var lC;var C6=Y6(()=>{lC=_8.getInstance()});class Iq{pathDiscovery;constructor(){this.pathDiscovery=_8.getInstance()}getConfigDir(){return this.pathDiscovery.getDataDirectory()}getIndexDir(){return this.pathDiscovery.getIndexDirectory()}getIndexPath(){return this.pathDiscovery.getIndexPath()}getArchiveDir(){return this.pathDiscovery.getArchivesDirectory()}getProjectArchiveDir(q){return this.pathDiscovery.getProjectArchiveDirectory(q)}getLogsDir(){return this.pathDiscovery.getLogsDirectory()}static ensureDirectory(q){_8.getInstance().ensureDirectory(q)}static ensureDirectories(q){_8.getInstance().ensureDirectories(q)}static extractProjectName(q){return _8.extractProjectName(q)}static getCurrentProjectPrefix(){return _8.getCurrentProjectName()}static getCurrentProjectName(){return _8.getCurrentProjectName()}}var Y2=Y6(()=>{C6()});function GX(q,_,j,K){let Y={projectPrefix:q,sessionId:_,timestamp:j||new Date().toISOString(),archiveFilename:K||`${_}.jsonl.archive`};return AX(Y)}function kP(q,_,j,K){let Y=GX(j,_,K),f=`
110
+ `))}this.transport.endInput()}catch(_){if(!(_ instanceof L_))throw _}}handleHookCallbacks(q,_,j,K){let Y=this.hookCallbacks.get(q);if(!Y)throw new Error(`No hook callback found for ID: ${q}`);return Y(_,j,{signal:K})}sendMcpServerMessageToCli(q,_){if("id"in _&&_.id!==null&&_.id!==void 0){let j=`${q}:${_.id}`,K=this.pendingMcpResponses.get(j);if(K){K.resolve(_),this.pendingMcpResponses.delete(j);return}}throw new Error("No pending request found")}handleMcpControlRequest(q,_,j){let K="id"in _.message?_.message.id:null,Y=`${q}:${K}`;return new Promise((f,P)=>{let $=null,O=()=>{if($)clearTimeout($);this.pendingMcpResponses.delete(Y)},w=(z)=>{O(),f(z)},v=(z)=>{O(),P(z)};if(this.pendingMcpResponses.set(Y,{resolve:w,reject:v}),j.onmessage)j.onmessage(_.message);else{O(),P(new Error("No message handler registered"));return}$=setTimeout(()=>{if(this.pendingMcpResponses.has(Y))O(),P(new Error("Request timeout"))},30000)})}};Z={};cH(Z,{void:()=>TZ,util:()=>u8,unknown:()=>JZ,union:()=>AZ,undefined:()=>vZ,tuple:()=>hZ,transformer:()=>I1,symbol:()=>OZ,string:()=>F1,strictObject:()=>XZ,setErrorMap:()=>gT,set:()=>VZ,record:()=>DZ,quotelessJson:()=>mT,promise:()=>RZ,preprocess:()=>gZ,pipeline:()=>yZ,ostring:()=>dZ,optional:()=>mZ,onumber:()=>pZ,oboolean:()=>LZ,objectUtil:()=>i4,object:()=>kZ,number:()=>U1,nullable:()=>IZ,null:()=>zZ,never:()=>HZ,nativeEnum:()=>EZ,nan:()=>fZ,map:()=>CZ,makeIssue:()=>x3,literal:()=>bZ,lazy:()=>NZ,late:()=>PZ,isValid:()=>j_,isDirty:()=>a4,isAsync:()=>gK,isAborted:()=>o4,intersection:()=>uZ,instanceof:()=>YZ,getParsedType:()=>Rq,getErrorMap:()=>n3,function:()=>MZ,enum:()=>SZ,effect:()=>I1,discriminatedUnion:()=>GZ,defaultErrorMap:()=>x_,datetimeRegex:()=>B1,date:()=>wZ,custom:()=>e1,coerce:()=>lZ,boolean:()=>s1,bigint:()=>$Z,array:()=>ZZ,any:()=>WZ,addIssueToContext:()=>F,ZodVoid:()=>dK,ZodUnknown:()=>lq,ZodUnion:()=>o_,ZodUndefined:()=>r_,ZodType:()=>k8,ZodTuple:()=>kq,ZodTransformer:()=>t6,ZodSymbol:()=>yK,ZodString:()=>Pq,ZodSet:()=>f_,ZodSchema:()=>k8,ZodRecord:()=>pK,ZodReadonly:()=>s_,ZodPromise:()=>$_,ZodPipeline:()=>nK,ZodParsedType:()=>Q,ZodOptional:()=>fq,ZodObject:()=>i8,ZodNumber:()=>nq,ZodNullable:()=>mq,ZodNull:()=>i_,ZodNever:()=>Zq,ZodNativeEnum:()=>e_,ZodNaN:()=>lK,ZodMap:()=>LK,ZodLiteral:()=>t_,ZodLazy:()=>B_,ZodIssueCode:()=>t,ZodIntersection:()=>a_,ZodFunction:()=>n_,ZodFirstPartyTypeKind:()=>z8,ZodError:()=>g6,ZodEnum:()=>cq,ZodEffects:()=>t6,ZodDiscriminatedUnion:()=>c3,ZodDefault:()=>F_,ZodDate:()=>P_,ZodCatch:()=>U_,ZodBranded:()=>r3,ZodBoolean:()=>c_,ZodBigInt:()=>xq,ZodArray:()=>Yq,ZodAny:()=>Y_,Schema:()=>k8,ParseStatus:()=>H6,OK:()=>D6,NEVER:()=>nZ,INVALID:()=>O8,EMPTY_PATH:()=>yT,DIRTY:()=>l_,BRAND:()=>jZ});(function(q){q.assertEqual=(Y)=>{};function _(Y){}q.assertIs=_;function j(Y){throw new Error}q.assertNever=j,q.arrayToEnum=(Y)=>{let f={};for(let P of Y)f[P]=P;return f},q.getValidEnumValues=(Y)=>{let f=q.objectKeys(Y).filter(($)=>typeof Y[Y[$]]!=="number"),P={};for(let $ of f)P[$]=Y[$];return q.objectValues(P)},q.objectValues=(Y)=>{return q.objectKeys(Y).map(function(f){return Y[f]})},q.objectKeys=typeof Object.keys==="function"?(Y)=>Object.keys(Y):(Y)=>{let f=[];for(let P in Y)if(Object.prototype.hasOwnProperty.call(Y,P))f.push(P);return f},q.find=(Y,f)=>{for(let P of Y)if(f(P))return P;return},q.isInteger=typeof Number.isInteger==="function"?(Y)=>Number.isInteger(Y):(Y)=>typeof Y==="number"&&Number.isFinite(Y)&&Math.floor(Y)===Y;function K(Y,f=" | "){return Y.map((P)=>typeof P==="string"?`'${P}'`:P).join(f)}q.joinValues=K,q.jsonStringifyReplacer=(Y,f)=>{if(typeof f==="bigint")return f.toString();return f}})(u8||(u8={}));(function(q){q.mergeShapes=(_,j)=>{return{..._,...j}}})(i4||(i4={}));Q=u8.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),t=u8.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"]);g6=class g6 extends Error{get errors(){return this.issues}constructor(q){super();this.issues=[],this.addIssue=(j)=>{this.issues=[...this.issues,j]},this.addIssues=(j=[])=>{this.issues=[...this.issues,...j]};let _=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,_);else this.__proto__=_;this.name="ZodError",this.issues=q}format(q){let _=q||function(Y){return Y.message},j={_errors:[]},K=(Y)=>{for(let f of Y.issues)if(f.code==="invalid_union")f.unionErrors.map(K);else if(f.code==="invalid_return_type")K(f.returnTypeError);else if(f.code==="invalid_arguments")K(f.argumentsError);else if(f.path.length===0)j._errors.push(_(f));else{let P=j,$=0;while($<f.path.length){let O=f.path[$];if($!==f.path.length-1)P[O]=P[O]||{_errors:[]};else P[O]=P[O]||{_errors:[]},P[O]._errors.push(_(f));P=P[O],$++}}};return K(this),j}static assert(q){if(!(q instanceof g6))throw new Error(`Not a ZodError: ${q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,u8.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(q=(_)=>_.message){let _={},j=[];for(let K of this.issues)if(K.path.length>0){let Y=K.path[0];_[Y]=_[Y]||[],_[Y].push(q(K))}else j.push(q(K));return{formErrors:j,fieldErrors:_}}get formErrors(){return this.flatten()}};g6.create=(q)=>{return new g6(q)};x_=IT,i1=x_;yT=[];O8=Object.freeze({status:"aborted"});(function(q){q.errToObj=(_)=>typeof _==="string"?{message:_}:_||{},q.toString=(_)=>typeof _==="string"?_:_?.message})(P8||(P8={}));dT=/^c[^\s-]{8,}$/i,pT=/^[0-9a-z]+$/,LT=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lT=/^[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,nT=/^[a-z0-9_-]{21}$/i,xT=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,cT=/^[-+]?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)?)??$/,rT=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,oT=/^(?:(?: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])$/,aT=/^(?:(?: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])$/,BT=/^(([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]))$/,tT=/^(([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])$/,eT=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,FT=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,UT=new RegExp(`^${o1}$`);Pq=class Pq extends k8{_parse(q){if(this._def.coerce)q.data=String(q.data);if(this._getType(q)!==Q.string){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.string,received:Y.parsedType}),O8}let j=new H6,K=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(q.data.length<Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),j.dirty()}else if(Y.kind==="max"){if(q.data.length>Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),j.dirty()}else if(Y.kind==="length"){let f=q.data.length>Y.value,P=q.data.length<Y.value;if(f||P){if(K=this._getOrReturnCtx(q,K),f)F(K,{code:t.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});else if(P)F(K,{code:t.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});j.dirty()}}else if(Y.kind==="email"){if(!rT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"email",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="emoji"){if(!c4)c4=new RegExp(iT,"u");if(!c4.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"emoji",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="uuid"){if(!lT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"uuid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="nanoid"){if(!nT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"nanoid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cuid"){if(!dT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"cuid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cuid2"){if(!pT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"cuid2",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="ulid"){if(!LT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"ulid",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="url")try{new URL(q.data)}catch{K=this._getOrReturnCtx(q,K),F(K,{validation:"url",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="regex"){if(Y.regex.lastIndex=0,!Y.regex.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"regex",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="trim")q.data=q.data.trim();else if(Y.kind==="includes"){if(!q.data.includes(Y.value,Y.position))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{includes:Y.value,position:Y.position},message:Y.message}),j.dirty()}else if(Y.kind==="toLowerCase")q.data=q.data.toLowerCase();else if(Y.kind==="toUpperCase")q.data=q.data.toUpperCase();else if(Y.kind==="startsWith"){if(!q.data.startsWith(Y.value))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{startsWith:Y.value},message:Y.message}),j.dirty()}else if(Y.kind==="endsWith"){if(!q.data.endsWith(Y.value))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:{endsWith:Y.value},message:Y.message}),j.dirty()}else if(Y.kind==="datetime"){if(!B1(Y).test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"datetime",message:Y.message}),j.dirty()}else if(Y.kind==="date"){if(!UT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"date",message:Y.message}),j.dirty()}else if(Y.kind==="time"){if(!sT(Y).test(q.data))K=this._getOrReturnCtx(q,K),F(K,{code:t.invalid_string,validation:"time",message:Y.message}),j.dirty()}else if(Y.kind==="duration"){if(!cT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"duration",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="ip"){if(!QT(q.data,Y.version))K=this._getOrReturnCtx(q,K),F(K,{validation:"ip",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="jwt"){if(!qZ(q.data,Y.alg))K=this._getOrReturnCtx(q,K),F(K,{validation:"jwt",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="cidr"){if(!_Z(q.data,Y.version))K=this._getOrReturnCtx(q,K),F(K,{validation:"cidr",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="base64"){if(!eT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"base64",code:t.invalid_string,message:Y.message}),j.dirty()}else if(Y.kind==="base64url"){if(!FT.test(q.data))K=this._getOrReturnCtx(q,K),F(K,{validation:"base64url",code:t.invalid_string,message:Y.message}),j.dirty()}else u8.assertNever(Y);return{status:j.value,value:q.data}}_regex(q,_,j){return this.refinement((K)=>q.test(K),{validation:_,code:t.invalid_string,...P8.errToObj(j)})}_addCheck(q){return new Pq({...this._def,checks:[...this._def.checks,q]})}email(q){return this._addCheck({kind:"email",...P8.errToObj(q)})}url(q){return this._addCheck({kind:"url",...P8.errToObj(q)})}emoji(q){return this._addCheck({kind:"emoji",...P8.errToObj(q)})}uuid(q){return this._addCheck({kind:"uuid",...P8.errToObj(q)})}nanoid(q){return this._addCheck({kind:"nanoid",...P8.errToObj(q)})}cuid(q){return this._addCheck({kind:"cuid",...P8.errToObj(q)})}cuid2(q){return this._addCheck({kind:"cuid2",...P8.errToObj(q)})}ulid(q){return this._addCheck({kind:"ulid",...P8.errToObj(q)})}base64(q){return this._addCheck({kind:"base64",...P8.errToObj(q)})}base64url(q){return this._addCheck({kind:"base64url",...P8.errToObj(q)})}jwt(q){return this._addCheck({kind:"jwt",...P8.errToObj(q)})}ip(q){return this._addCheck({kind:"ip",...P8.errToObj(q)})}cidr(q){return this._addCheck({kind:"cidr",...P8.errToObj(q)})}datetime(q){if(typeof q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:q});return this._addCheck({kind:"datetime",precision:typeof q?.precision==="undefined"?null:q?.precision,offset:q?.offset??!1,local:q?.local??!1,...P8.errToObj(q?.message)})}date(q){return this._addCheck({kind:"date",message:q})}time(q){if(typeof q==="string")return this._addCheck({kind:"time",precision:null,message:q});return this._addCheck({kind:"time",precision:typeof q?.precision==="undefined"?null:q?.precision,...P8.errToObj(q?.message)})}duration(q){return this._addCheck({kind:"duration",...P8.errToObj(q)})}regex(q,_){return this._addCheck({kind:"regex",regex:q,...P8.errToObj(_)})}includes(q,_){return this._addCheck({kind:"includes",value:q,position:_?.position,...P8.errToObj(_?.message)})}startsWith(q,_){return this._addCheck({kind:"startsWith",value:q,...P8.errToObj(_)})}endsWith(q,_){return this._addCheck({kind:"endsWith",value:q,...P8.errToObj(_)})}min(q,_){return this._addCheck({kind:"min",value:q,...P8.errToObj(_)})}max(q,_){return this._addCheck({kind:"max",value:q,...P8.errToObj(_)})}length(q,_){return this._addCheck({kind:"length",value:q,...P8.errToObj(_)})}nonempty(q){return this.min(1,P8.errToObj(q))}trim(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Pq({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((q)=>q.kind==="datetime")}get isDate(){return!!this._def.checks.find((q)=>q.kind==="date")}get isTime(){return!!this._def.checks.find((q)=>q.kind==="time")}get isDuration(){return!!this._def.checks.find((q)=>q.kind==="duration")}get isEmail(){return!!this._def.checks.find((q)=>q.kind==="email")}get isURL(){return!!this._def.checks.find((q)=>q.kind==="url")}get isEmoji(){return!!this._def.checks.find((q)=>q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((q)=>q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((q)=>q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((q)=>q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((q)=>q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((q)=>q.kind==="ulid")}get isIP(){return!!this._def.checks.find((q)=>q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((q)=>q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((q)=>q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((q)=>q.kind==="base64url")}get minLength(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxLength(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}};Pq.create=(q)=>{return new Pq({checks:[],typeName:z8.ZodString,coerce:q?.coerce??!1,...Z8(q)})};nq=class nq extends k8{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(q){if(this._def.coerce)q.data=Number(q.data);if(this._getType(q)!==Q.number){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.number,received:Y.parsedType}),O8}let j=void 0,K=new H6;for(let Y of this._def.checks)if(Y.kind==="int"){if(!u8.isInteger(q.data))j=this._getOrReturnCtx(q,j),F(j,{code:t.invalid_type,expected:"integer",received:"float",message:Y.message}),K.dirty()}else if(Y.kind==="min"){if(Y.inclusive?q.data<Y.value:q.data<=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_small,minimum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),K.dirty()}else if(Y.kind==="max"){if(Y.inclusive?q.data>Y.value:q.data>=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_big,maximum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),K.dirty()}else if(Y.kind==="multipleOf"){if(KZ(q.data,Y.value)!==0)j=this._getOrReturnCtx(q,j),F(j,{code:t.not_multiple_of,multipleOf:Y.value,message:Y.message}),K.dirty()}else if(Y.kind==="finite"){if(!Number.isFinite(q.data))j=this._getOrReturnCtx(q,j),F(j,{code:t.not_finite,message:Y.message}),K.dirty()}else u8.assertNever(Y);return{status:K.value,value:q.data}}gte(q,_){return this.setLimit("min",q,!0,P8.toString(_))}gt(q,_){return this.setLimit("min",q,!1,P8.toString(_))}lte(q,_){return this.setLimit("max",q,!0,P8.toString(_))}lt(q,_){return this.setLimit("max",q,!1,P8.toString(_))}setLimit(q,_,j,K){return new nq({...this._def,checks:[...this._def.checks,{kind:q,value:_,inclusive:j,message:P8.toString(K)}]})}_addCheck(q){return new nq({...this._def,checks:[...this._def.checks,q]})}int(q){return this._addCheck({kind:"int",message:P8.toString(q)})}positive(q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:P8.toString(q)})}negative(q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:P8.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:P8.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:P8.toString(q)})}multipleOf(q,_){return this._addCheck({kind:"multipleOf",value:q,message:P8.toString(_)})}finite(q){return this._addCheck({kind:"finite",message:P8.toString(q)})}safe(q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:P8.toString(q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:P8.toString(q)})}get minValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}get isInt(){return!!this._def.checks.find((q)=>q.kind==="int"||q.kind==="multipleOf"&&u8.isInteger(q.value))}get isFinite(){let q=null,_=null;for(let j of this._def.checks)if(j.kind==="finite"||j.kind==="int"||j.kind==="multipleOf")return!0;else if(j.kind==="min"){if(_===null||j.value>_)_=j.value}else if(j.kind==="max"){if(q===null||j.value<q)q=j.value}return Number.isFinite(_)&&Number.isFinite(q)}};nq.create=(q)=>{return new nq({checks:[],typeName:z8.ZodNumber,coerce:q?.coerce||!1,...Z8(q)})};xq=class xq extends k8{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(q){if(this._def.coerce)try{q.data=BigInt(q.data)}catch{return this._getInvalidInput(q)}if(this._getType(q)!==Q.bigint)return this._getInvalidInput(q);let j=void 0,K=new H6;for(let Y of this._def.checks)if(Y.kind==="min"){if(Y.inclusive?q.data<Y.value:q.data<=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_small,type:"bigint",minimum:Y.value,inclusive:Y.inclusive,message:Y.message}),K.dirty()}else if(Y.kind==="max"){if(Y.inclusive?q.data>Y.value:q.data>=Y.value)j=this._getOrReturnCtx(q,j),F(j,{code:t.too_big,type:"bigint",maximum:Y.value,inclusive:Y.inclusive,message:Y.message}),K.dirty()}else if(Y.kind==="multipleOf"){if(q.data%Y.value!==BigInt(0))j=this._getOrReturnCtx(q,j),F(j,{code:t.not_multiple_of,multipleOf:Y.value,message:Y.message}),K.dirty()}else u8.assertNever(Y);return{status:K.value,value:q.data}}_getInvalidInput(q){let _=this._getOrReturnCtx(q);return F(_,{code:t.invalid_type,expected:Q.bigint,received:_.parsedType}),O8}gte(q,_){return this.setLimit("min",q,!0,P8.toString(_))}gt(q,_){return this.setLimit("min",q,!1,P8.toString(_))}lte(q,_){return this.setLimit("max",q,!0,P8.toString(_))}lt(q,_){return this.setLimit("max",q,!1,P8.toString(_))}setLimit(q,_,j,K){return new xq({...this._def,checks:[...this._def.checks,{kind:q,value:_,inclusive:j,message:P8.toString(K)}]})}_addCheck(q){return new xq({...this._def,checks:[...this._def.checks,q]})}positive(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:P8.toString(q)})}negative(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:P8.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:P8.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:P8.toString(q)})}multipleOf(q,_){return this._addCheck({kind:"multipleOf",value:q,message:P8.toString(_)})}get minValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q}get maxValue(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q}};xq.create=(q)=>{return new xq({checks:[],typeName:z8.ZodBigInt,coerce:q?.coerce??!1,...Z8(q)})};c_=class c_ extends k8{_parse(q){if(this._def.coerce)q.data=Boolean(q.data);if(this._getType(q)!==Q.boolean){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.boolean,received:j.parsedType}),O8}return D6(q.data)}};c_.create=(q)=>{return new c_({typeName:z8.ZodBoolean,coerce:q?.coerce||!1,...Z8(q)})};P_=class P_ extends k8{_parse(q){if(this._def.coerce)q.data=new Date(q.data);if(this._getType(q)!==Q.date){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_type,expected:Q.date,received:Y.parsedType}),O8}if(Number.isNaN(q.data.getTime())){let Y=this._getOrReturnCtx(q);return F(Y,{code:t.invalid_date}),O8}let j=new H6,K=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if(q.data.getTime()<Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_small,message:Y.message,inclusive:!0,exact:!1,minimum:Y.value,type:"date"}),j.dirty()}else if(Y.kind==="max"){if(q.data.getTime()>Y.value)K=this._getOrReturnCtx(q,K),F(K,{code:t.too_big,message:Y.message,inclusive:!0,exact:!1,maximum:Y.value,type:"date"}),j.dirty()}else u8.assertNever(Y);return{status:j.value,value:new Date(q.data.getTime())}}_addCheck(q){return new P_({...this._def,checks:[...this._def.checks,q]})}min(q,_){return this._addCheck({kind:"min",value:q.getTime(),message:P8.toString(_)})}max(q,_){return this._addCheck({kind:"max",value:q.getTime(),message:P8.toString(_)})}get minDate(){let q=null;for(let _ of this._def.checks)if(_.kind==="min"){if(q===null||_.value>q)q=_.value}return q!=null?new Date(q):null}get maxDate(){let q=null;for(let _ of this._def.checks)if(_.kind==="max"){if(q===null||_.value<q)q=_.value}return q!=null?new Date(q):null}};P_.create=(q)=>{return new P_({checks:[],coerce:q?.coerce||!1,typeName:z8.ZodDate,...Z8(q)})};yK=class yK extends k8{_parse(q){if(this._getType(q)!==Q.symbol){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.symbol,received:j.parsedType}),O8}return D6(q.data)}};yK.create=(q)=>{return new yK({typeName:z8.ZodSymbol,...Z8(q)})};r_=class r_ extends k8{_parse(q){if(this._getType(q)!==Q.undefined){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.undefined,received:j.parsedType}),O8}return D6(q.data)}};r_.create=(q)=>{return new r_({typeName:z8.ZodUndefined,...Z8(q)})};i_=class i_ extends k8{_parse(q){if(this._getType(q)!==Q.null){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.null,received:j.parsedType}),O8}return D6(q.data)}};i_.create=(q)=>{return new i_({typeName:z8.ZodNull,...Z8(q)})};Y_=class Y_ extends k8{constructor(){super(...arguments);this._any=!0}_parse(q){return D6(q.data)}};Y_.create=(q)=>{return new Y_({typeName:z8.ZodAny,...Z8(q)})};lq=class lq extends k8{constructor(){super(...arguments);this._unknown=!0}_parse(q){return D6(q.data)}};lq.create=(q)=>{return new lq({typeName:z8.ZodUnknown,...Z8(q)})};Zq=class Zq extends k8{_parse(q){let _=this._getOrReturnCtx(q);return F(_,{code:t.invalid_type,expected:Q.never,received:_.parsedType}),O8}};Zq.create=(q)=>{return new Zq({typeName:z8.ZodNever,...Z8(q)})};dK=class dK extends k8{_parse(q){if(this._getType(q)!==Q.undefined){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.void,received:j.parsedType}),O8}return D6(q.data)}};dK.create=(q)=>{return new dK({typeName:z8.ZodVoid,...Z8(q)})};Yq=class Yq extends k8{_parse(q){let{ctx:_,status:j}=this._processInputParams(q),K=this._def;if(_.parsedType!==Q.array)return F(_,{code:t.invalid_type,expected:Q.array,received:_.parsedType}),O8;if(K.exactLength!==null){let f=_.data.length>K.exactLength.value,P=_.data.length<K.exactLength.value;if(f||P)F(_,{code:f?t.too_big:t.too_small,minimum:P?K.exactLength.value:void 0,maximum:f?K.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:K.exactLength.message}),j.dirty()}if(K.minLength!==null){if(_.data.length<K.minLength.value)F(_,{code:t.too_small,minimum:K.minLength.value,type:"array",inclusive:!0,exact:!1,message:K.minLength.message}),j.dirty()}if(K.maxLength!==null){if(_.data.length>K.maxLength.value)F(_,{code:t.too_big,maximum:K.maxLength.value,type:"array",inclusive:!0,exact:!1,message:K.maxLength.message}),j.dirty()}if(_.common.async)return Promise.all([..._.data].map((f,P)=>{return K.type._parseAsync(new $q(_,f,_.path,P))})).then((f)=>{return H6.mergeArray(j,f)});let Y=[..._.data].map((f,P)=>{return K.type._parseSync(new $q(_,f,_.path,P))});return H6.mergeArray(j,Y)}get element(){return this._def.type}min(q,_){return new Yq({...this._def,minLength:{value:q,message:P8.toString(_)}})}max(q,_){return new Yq({...this._def,maxLength:{value:q,message:P8.toString(_)}})}length(q,_){return new Yq({...this._def,exactLength:{value:q,message:P8.toString(_)}})}nonempty(q){return this.min(1,q)}};Yq.create=(q,_)=>{return new Yq({type:q,minLength:null,maxLength:null,exactLength:null,typeName:z8.ZodArray,...Z8(_)})};i8=class i8 extends k8{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let q=this._def.shape(),_=u8.objectKeys(q);return this._cached={shape:q,keys:_},this._cached}_parse(q){if(this._getType(q)!==Q.object){let O=this._getOrReturnCtx(q);return F(O,{code:t.invalid_type,expected:Q.object,received:O.parsedType}),O8}let{status:j,ctx:K}=this._processInputParams(q),{shape:Y,keys:f}=this._getCached(),P=[];if(!(this._def.catchall instanceof Zq&&this._def.unknownKeys==="strip")){for(let O in K.data)if(!f.includes(O))P.push(O)}let $=[];for(let O of f){let w=Y[O],v=K.data[O];$.push({key:{status:"valid",value:O},value:w._parse(new $q(K,v,K.path,O)),alwaysSet:O in K.data})}if(this._def.catchall instanceof Zq){let O=this._def.unknownKeys;if(O==="passthrough")for(let w of P)$.push({key:{status:"valid",value:w},value:{status:"valid",value:K.data[w]}});else if(O==="strict"){if(P.length>0)F(K,{code:t.unrecognized_keys,keys:P}),j.dirty()}else if(O==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let O=this._def.catchall;for(let w of P){let v=K.data[w];$.push({key:{status:"valid",value:w},value:O._parse(new $q(K,v,K.path,w)),alwaysSet:w in K.data})}}if(K.common.async)return Promise.resolve().then(async()=>{let O=[];for(let w of $){let v=await w.key,z=await w.value;O.push({key:v,value:z,alwaysSet:w.alwaysSet})}return O}).then((O)=>{return H6.mergeObjectSync(j,O)});else return H6.mergeObjectSync(j,$)}get shape(){return this._def.shape()}strict(q){return P8.errToObj,new i8({...this._def,unknownKeys:"strict",...q!==void 0?{errorMap:(_,j)=>{let K=this._def.errorMap?.(_,j).message??j.defaultError;if(_.code==="unrecognized_keys")return{message:P8.errToObj(q).message??K};return{message:K}}}:{}})}strip(){return new i8({...this._def,unknownKeys:"strip"})}passthrough(){return new i8({...this._def,unknownKeys:"passthrough"})}extend(q){return new i8({...this._def,shape:()=>({...this._def.shape(),...q})})}merge(q){return new i8({unknownKeys:q._def.unknownKeys,catchall:q._def.catchall,shape:()=>({...this._def.shape(),...q._def.shape()}),typeName:z8.ZodObject})}setKey(q,_){return this.augment({[q]:_})}catchall(q){return new i8({...this._def,catchall:q})}pick(q){let _={};for(let j of u8.objectKeys(q))if(q[j]&&this.shape[j])_[j]=this.shape[j];return new i8({...this._def,shape:()=>_})}omit(q){let _={};for(let j of u8.objectKeys(this.shape))if(!q[j])_[j]=this.shape[j];return new i8({...this._def,shape:()=>_})}deepPartial(){return p_(this)}partial(q){let _={};for(let j of u8.objectKeys(this.shape)){let K=this.shape[j];if(q&&!q[j])_[j]=K;else _[j]=K.optional()}return new i8({...this._def,shape:()=>_})}required(q){let _={};for(let j of u8.objectKeys(this.shape))if(q&&!q[j])_[j]=this.shape[j];else{let Y=this.shape[j];while(Y instanceof fq)Y=Y._def.innerType;_[j]=Y}return new i8({...this._def,shape:()=>_})}keyof(){return t1(u8.objectKeys(this.shape))}};i8.create=(q,_)=>{return new i8({shape:()=>q,unknownKeys:"strip",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};i8.strictCreate=(q,_)=>{return new i8({shape:()=>q,unknownKeys:"strict",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};i8.lazycreate=(q,_)=>{return new i8({shape:q,unknownKeys:"strip",catchall:Zq.create(),typeName:z8.ZodObject,...Z8(_)})};o_=class o_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=this._def.options;function K(Y){for(let P of Y)if(P.result.status==="valid")return P.result;for(let P of Y)if(P.result.status==="dirty")return _.common.issues.push(...P.ctx.common.issues),P.result;let f=Y.map((P)=>new g6(P.ctx.common.issues));return F(_,{code:t.invalid_union,unionErrors:f}),O8}if(_.common.async)return Promise.all(j.map(async(Y)=>{let f={..._,common:{..._.common,issues:[]},parent:null};return{result:await Y._parseAsync({data:_.data,path:_.path,parent:f}),ctx:f}})).then(K);else{let Y=void 0,f=[];for(let $ of j){let O={..._,common:{..._.common,issues:[]},parent:null},w=$._parseSync({data:_.data,path:_.path,parent:O});if(w.status==="valid")return w;else if(w.status==="dirty"&&!Y)Y={result:w,ctx:O};if(O.common.issues.length)f.push(O.common.issues)}if(Y)return _.common.issues.push(...Y.ctx.common.issues),Y.result;let P=f.map(($)=>new g6($));return F(_,{code:t.invalid_union,unionErrors:P}),O8}}get options(){return this._def.options}};o_.create=(q,_)=>{return new o_({options:q,typeName:z8.ZodUnion,...Z8(_)})};c3=class c3 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.object)return F(_,{code:t.invalid_type,expected:Q.object,received:_.parsedType}),O8;let j=this.discriminator,K=_.data[j],Y=this.optionsMap.get(K);if(!Y)return F(_,{code:t.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[j]}),O8;if(_.common.async)return Y._parseAsync({data:_.data,path:_.path,parent:_});else return Y._parseSync({data:_.data,path:_.path,parent:_})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(q,_,j){let K=new Map;for(let Y of _){let f=Eq(Y.shape[q]);if(!f.length)throw new Error(`A discriminator value for key \`${q}\` could not be extracted from all schema options`);for(let P of f){if(K.has(P))throw new Error(`Discriminator property ${String(q)} has duplicate value ${String(P)}`);K.set(P,Y)}}return new c3({typeName:z8.ZodDiscriminatedUnion,discriminator:q,options:_,optionsMap:K,...Z8(j)})}};a_=class a_ extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q),K=(Y,f)=>{if(o4(Y)||o4(f))return O8;let P=B4(Y.value,f.value);if(!P.valid)return F(j,{code:t.invalid_intersection_types}),O8;if(a4(Y)||a4(f))_.dirty();return{status:_.value,value:P.data}};if(j.common.async)return Promise.all([this._def.left._parseAsync({data:j.data,path:j.path,parent:j}),this._def.right._parseAsync({data:j.data,path:j.path,parent:j})]).then(([Y,f])=>K(Y,f));else return K(this._def.left._parseSync({data:j.data,path:j.path,parent:j}),this._def.right._parseSync({data:j.data,path:j.path,parent:j}))}};a_.create=(q,_,j)=>{return new a_({left:q,right:_,typeName:z8.ZodIntersection,...Z8(j)})};kq=class kq extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.array)return F(j,{code:t.invalid_type,expected:Q.array,received:j.parsedType}),O8;if(j.data.length<this._def.items.length)return F(j,{code:t.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),O8;if(!this._def.rest&&j.data.length>this._def.items.length)F(j,{code:t.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),_.dirty();let Y=[...j.data].map((f,P)=>{let $=this._def.items[P]||this._def.rest;if(!$)return null;return $._parse(new $q(j,f,j.path,P))}).filter((f)=>!!f);if(j.common.async)return Promise.all(Y).then((f)=>{return H6.mergeArray(_,f)});else return H6.mergeArray(_,Y)}get items(){return this._def.items}rest(q){return new kq({...this._def,rest:q})}};kq.create=(q,_)=>{if(!Array.isArray(q))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new kq({items:q,typeName:z8.ZodTuple,rest:null,...Z8(_)})};pK=class pK extends k8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.object)return F(j,{code:t.invalid_type,expected:Q.object,received:j.parsedType}),O8;let K=[],Y=this._def.keyType,f=this._def.valueType;for(let P in j.data)K.push({key:Y._parse(new $q(j,P,j.path,P)),value:f._parse(new $q(j,j.data[P],j.path,P)),alwaysSet:P in j.data});if(j.common.async)return H6.mergeObjectAsync(_,K);else return H6.mergeObjectSync(_,K)}get element(){return this._def.valueType}static create(q,_,j){if(_ instanceof k8)return new pK({keyType:q,valueType:_,typeName:z8.ZodRecord,...Z8(j)});return new pK({keyType:Pq.create(),valueType:q,typeName:z8.ZodRecord,...Z8(_)})}};LK=class LK extends k8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.map)return F(j,{code:t.invalid_type,expected:Q.map,received:j.parsedType}),O8;let K=this._def.keyType,Y=this._def.valueType,f=[...j.data.entries()].map(([P,$],O)=>{return{key:K._parse(new $q(j,P,j.path,[O,"key"])),value:Y._parse(new $q(j,$,j.path,[O,"value"]))}});if(j.common.async){let P=new Map;return Promise.resolve().then(async()=>{for(let $ of f){let O=await $.key,w=await $.value;if(O.status==="aborted"||w.status==="aborted")return O8;if(O.status==="dirty"||w.status==="dirty")_.dirty();P.set(O.value,w.value)}return{status:_.value,value:P}})}else{let P=new Map;for(let $ of f){let{key:O,value:w}=$;if(O.status==="aborted"||w.status==="aborted")return O8;if(O.status==="dirty"||w.status==="dirty")_.dirty();P.set(O.value,w.value)}return{status:_.value,value:P}}}};LK.create=(q,_,j)=>{return new LK({valueType:_,keyType:q,typeName:z8.ZodMap,...Z8(j)})};f_=class f_ extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.parsedType!==Q.set)return F(j,{code:t.invalid_type,expected:Q.set,received:j.parsedType}),O8;let K=this._def;if(K.minSize!==null){if(j.data.size<K.minSize.value)F(j,{code:t.too_small,minimum:K.minSize.value,type:"set",inclusive:!0,exact:!1,message:K.minSize.message}),_.dirty()}if(K.maxSize!==null){if(j.data.size>K.maxSize.value)F(j,{code:t.too_big,maximum:K.maxSize.value,type:"set",inclusive:!0,exact:!1,message:K.maxSize.message}),_.dirty()}let Y=this._def.valueType;function f($){let O=new Set;for(let w of $){if(w.status==="aborted")return O8;if(w.status==="dirty")_.dirty();O.add(w.value)}return{status:_.value,value:O}}let P=[...j.data.values()].map(($,O)=>Y._parse(new $q(j,$,j.path,O)));if(j.common.async)return Promise.all(P).then(($)=>f($));else return f(P)}min(q,_){return new f_({...this._def,minSize:{value:q,message:P8.toString(_)}})}max(q,_){return new f_({...this._def,maxSize:{value:q,message:P8.toString(_)}})}size(q,_){return this.min(q,_).max(q,_)}nonempty(q){return this.min(1,q)}};f_.create=(q,_)=>{return new f_({valueType:q,minSize:null,maxSize:null,typeName:z8.ZodSet,...Z8(_)})};n_=class n_ extends k8{constructor(){super(...arguments);this.validate=this.implement}_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.function)return F(_,{code:t.invalid_type,expected:Q.function,received:_.parsedType}),O8;function j(P,$){return x3({data:P,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,n3(),x_].filter((O)=>!!O),issueData:{code:t.invalid_arguments,argumentsError:$}})}function K(P,$){return x3({data:P,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,n3(),x_].filter((O)=>!!O),issueData:{code:t.invalid_return_type,returnTypeError:$}})}let Y={errorMap:_.common.contextualErrorMap},f=_.data;if(this._def.returns instanceof $_){let P=this;return D6(async function(...$){let O=new g6([]),w=await P._def.args.parseAsync($,Y).catch((W)=>{throw O.addIssue(j($,W)),O}),v=await Reflect.apply(f,this,w);return await P._def.returns._def.type.parseAsync(v,Y).catch((W)=>{throw O.addIssue(K(v,W)),O})})}else{let P=this;return D6(function(...$){let O=P._def.args.safeParse($,Y);if(!O.success)throw new g6([j($,O.error)]);let w=Reflect.apply(f,this,O.data),v=P._def.returns.safeParse(w,Y);if(!v.success)throw new g6([K(w,v.error)]);return v.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...q){return new n_({...this._def,args:kq.create(q).rest(lq.create())})}returns(q){return new n_({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,_,j){return new n_({args:q?q:kq.create([]).rest(lq.create()),returns:_||lq.create(),typeName:z8.ZodFunction,...Z8(j)})}};B_=class B_ extends k8{get schema(){return this._def.getter()}_parse(q){let{ctx:_}=this._processInputParams(q);return this._def.getter()._parse({data:_.data,path:_.path,parent:_})}};B_.create=(q,_)=>{return new B_({getter:q,typeName:z8.ZodLazy,...Z8(_)})};t_=class t_ extends k8{_parse(q){if(q.data!==this._def.value){let _=this._getOrReturnCtx(q);return F(_,{received:_.data,code:t.invalid_literal,expected:this._def.value}),O8}return{status:"valid",value:q.data}}get value(){return this._def.value}};t_.create=(q,_)=>{return new t_({value:q,typeName:z8.ZodLiteral,...Z8(_)})};cq=class cq extends k8{_parse(q){if(typeof q.data!=="string"){let _=this._getOrReturnCtx(q),j=this._def.values;return F(_,{expected:u8.joinValues(j),received:_.parsedType,code:t.invalid_type}),O8}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(q.data)){let _=this._getOrReturnCtx(q),j=this._def.values;return F(_,{received:_.data,code:t.invalid_enum_value,options:j}),O8}return D6(q.data)}get options(){return this._def.values}get enum(){let q={};for(let _ of this._def.values)q[_]=_;return q}get Values(){let q={};for(let _ of this._def.values)q[_]=_;return q}get Enum(){let q={};for(let _ of this._def.values)q[_]=_;return q}extract(q,_=this._def){return cq.create(q,{...this._def,..._})}exclude(q,_=this._def){return cq.create(this.options.filter((j)=>!q.includes(j)),{...this._def,..._})}};cq.create=t1;e_=class e_ extends k8{_parse(q){let _=u8.getValidEnumValues(this._def.values),j=this._getOrReturnCtx(q);if(j.parsedType!==Q.string&&j.parsedType!==Q.number){let K=u8.objectValues(_);return F(j,{expected:u8.joinValues(K),received:j.parsedType,code:t.invalid_type}),O8}if(!this._cache)this._cache=new Set(u8.getValidEnumValues(this._def.values));if(!this._cache.has(q.data)){let K=u8.objectValues(_);return F(j,{received:j.data,code:t.invalid_enum_value,options:K}),O8}return D6(q.data)}get enum(){return this._def.values}};e_.create=(q,_)=>{return new e_({values:q,typeName:z8.ZodNativeEnum,...Z8(_)})};$_=class $_ extends k8{unwrap(){return this._def.type}_parse(q){let{ctx:_}=this._processInputParams(q);if(_.parsedType!==Q.promise&&_.common.async===!1)return F(_,{code:t.invalid_type,expected:Q.promise,received:_.parsedType}),O8;let j=_.parsedType===Q.promise?_.data:Promise.resolve(_.data);return D6(j.then((K)=>{return this._def.type.parseAsync(K,{path:_.path,errorMap:_.common.contextualErrorMap})}))}};$_.create=(q,_)=>{return new $_({type:q,typeName:z8.ZodPromise,...Z8(_)})};t6=class t6 extends k8{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z8.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(q){let{status:_,ctx:j}=this._processInputParams(q),K=this._def.effect||null,Y={addIssue:(f)=>{if(F(j,f),f.fatal)_.abort();else _.dirty()},get path(){return j.path}};if(Y.addIssue=Y.addIssue.bind(Y),K.type==="preprocess"){let f=K.transform(j.data,Y);if(j.common.async)return Promise.resolve(f).then(async(P)=>{if(_.value==="aborted")return O8;let $=await this._def.schema._parseAsync({data:P,path:j.path,parent:j});if($.status==="aborted")return O8;if($.status==="dirty")return l_($.value);if(_.value==="dirty")return l_($.value);return $});else{if(_.value==="aborted")return O8;let P=this._def.schema._parseSync({data:f,path:j.path,parent:j});if(P.status==="aborted")return O8;if(P.status==="dirty")return l_(P.value);if(_.value==="dirty")return l_(P.value);return P}}if(K.type==="refinement"){let f=(P)=>{let $=K.refinement(P,Y);if(j.common.async)return Promise.resolve($);if($ instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return P};if(j.common.async===!1){let P=this._def.schema._parseSync({data:j.data,path:j.path,parent:j});if(P.status==="aborted")return O8;if(P.status==="dirty")_.dirty();return f(P.value),{status:_.value,value:P.value}}else return this._def.schema._parseAsync({data:j.data,path:j.path,parent:j}).then((P)=>{if(P.status==="aborted")return O8;if(P.status==="dirty")_.dirty();return f(P.value).then(()=>{return{status:_.value,value:P.value}})})}if(K.type==="transform")if(j.common.async===!1){let f=this._def.schema._parseSync({data:j.data,path:j.path,parent:j});if(!j_(f))return O8;let P=K.transform(f.value,Y);if(P instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:_.value,value:P}}else return this._def.schema._parseAsync({data:j.data,path:j.path,parent:j}).then((f)=>{if(!j_(f))return O8;return Promise.resolve(K.transform(f.value,Y)).then((P)=>({status:_.value,value:P}))});u8.assertNever(K)}};t6.create=(q,_,j)=>{return new t6({schema:q,typeName:z8.ZodEffects,effect:_,...Z8(j)})};t6.createWithPreprocess=(q,_,j)=>{return new t6({schema:_,effect:{type:"preprocess",transform:q},typeName:z8.ZodEffects,...Z8(j)})};fq=class fq extends k8{_parse(q){if(this._getType(q)===Q.undefined)return D6(void 0);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}};fq.create=(q,_)=>{return new fq({innerType:q,typeName:z8.ZodOptional,...Z8(_)})};mq=class mq extends k8{_parse(q){if(this._getType(q)===Q.null)return D6(null);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}};mq.create=(q,_)=>{return new mq({innerType:q,typeName:z8.ZodNullable,...Z8(_)})};F_=class F_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;if(_.parsedType===Q.undefined)j=this._def.defaultValue();return this._def.innerType._parse({data:j,path:_.path,parent:_})}removeDefault(){return this._def.innerType}};F_.create=(q,_)=>{return new F_({innerType:q,typeName:z8.ZodDefault,defaultValue:typeof _.default==="function"?_.default:()=>_.default,...Z8(_)})};U_=class U_ extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j={..._,common:{..._.common,issues:[]}},K=this._def.innerType._parse({data:j.data,path:j.path,parent:{...j}});if(gK(K))return K.then((Y)=>{return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new g6(j.common.issues)},input:j.data})}});else return{status:"valid",value:K.status==="valid"?K.value:this._def.catchValue({get error(){return new g6(j.common.issues)},input:j.data})}}removeCatch(){return this._def.innerType}};U_.create=(q,_)=>{return new U_({innerType:q,typeName:z8.ZodCatch,catchValue:typeof _.catch==="function"?_.catch:()=>_.catch,...Z8(_)})};lK=class lK extends k8{_parse(q){if(this._getType(q)!==Q.nan){let j=this._getOrReturnCtx(q);return F(j,{code:t.invalid_type,expected:Q.nan,received:j.parsedType}),O8}return{status:"valid",value:q.data}}};lK.create=(q)=>{return new lK({typeName:z8.ZodNaN,...Z8(q)})};jZ=Symbol("zod_brand");r3=class r3 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;return this._def.type._parse({data:j,path:_.path,parent:_})}unwrap(){return this._def.type}};nK=class nK extends k8{_parse(q){let{status:_,ctx:j}=this._processInputParams(q);if(j.common.async)return(async()=>{let Y=await this._def.in._parseAsync({data:j.data,path:j.path,parent:j});if(Y.status==="aborted")return O8;if(Y.status==="dirty")return _.dirty(),l_(Y.value);else return this._def.out._parseAsync({data:Y.value,path:j.path,parent:j})})();else{let K=this._def.in._parseSync({data:j.data,path:j.path,parent:j});if(K.status==="aborted")return O8;if(K.status==="dirty")return _.dirty(),{status:"dirty",value:K.value};else return this._def.out._parseSync({data:K.value,path:j.path,parent:j})}}static create(q,_){return new nK({in:q,out:_,typeName:z8.ZodPipeline})}};s_=class s_ extends k8{_parse(q){let _=this._def.innerType._parse(q),j=(K)=>{if(j_(K))K.value=Object.freeze(K.value);return K};return gK(_)?_.then((K)=>j(K)):j(_)}unwrap(){return this._def.innerType}};s_.create=(q,_)=>{return new s_({innerType:q,typeName:z8.ZodReadonly,...Z8(_)})};PZ={object:i8.lazycreate};(function(q){q.ZodString="ZodString",q.ZodNumber="ZodNumber",q.ZodNaN="ZodNaN",q.ZodBigInt="ZodBigInt",q.ZodBoolean="ZodBoolean",q.ZodDate="ZodDate",q.ZodSymbol="ZodSymbol",q.ZodUndefined="ZodUndefined",q.ZodNull="ZodNull",q.ZodAny="ZodAny",q.ZodUnknown="ZodUnknown",q.ZodNever="ZodNever",q.ZodVoid="ZodVoid",q.ZodArray="ZodArray",q.ZodObject="ZodObject",q.ZodUnion="ZodUnion",q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",q.ZodIntersection="ZodIntersection",q.ZodTuple="ZodTuple",q.ZodRecord="ZodRecord",q.ZodMap="ZodMap",q.ZodSet="ZodSet",q.ZodFunction="ZodFunction",q.ZodLazy="ZodLazy",q.ZodLiteral="ZodLiteral",q.ZodEnum="ZodEnum",q.ZodEffects="ZodEffects",q.ZodNativeEnum="ZodNativeEnum",q.ZodOptional="ZodOptional",q.ZodNullable="ZodNullable",q.ZodDefault="ZodDefault",q.ZodCatch="ZodCatch",q.ZodPromise="ZodPromise",q.ZodBranded="ZodBranded",q.ZodPipeline="ZodPipeline",q.ZodReadonly="ZodReadonly"})(z8||(z8={}));F1=Pq.create,U1=nq.create,fZ=lK.create,$Z=xq.create,s1=c_.create,wZ=P_.create,OZ=yK.create,vZ=r_.create,zZ=i_.create,WZ=Y_.create,JZ=lq.create,HZ=Zq.create,TZ=dK.create,ZZ=Yq.create,kZ=i8.create,XZ=i8.strictCreate,AZ=o_.create,GZ=c3.create,uZ=a_.create,hZ=kq.create,DZ=pK.create,CZ=LK.create,VZ=f_.create,MZ=n_.create,NZ=B_.create,bZ=t_.create,SZ=cq.create,EZ=e_.create,RZ=$_.create,I1=t6.create,mZ=fq.create,IZ=mq.create,gZ=t6.createWithPreprocess,yZ=nK.create,lZ={string:(q)=>Pq.create({...q,coerce:!0}),number:(q)=>nq.create({...q,coerce:!0}),boolean:(q)=>c_.create({...q,coerce:!0}),bigint:(q)=>xq.create({...q,coerce:!0}),date:(q)=>P_.create({...q,coerce:!0})},nZ=O8,Q1=Z.union([Z.string(),Z.number().int()]),qP=Z.string(),xZ=Z.object({progressToken:Z.optional(Q1)}).passthrough(),e6=Z.object({_meta:Z.optional(xZ)}).passthrough(),S6=Z.object({method:Z.string(),params:Z.optional(e6)}),xK=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Xq=Z.object({method:Z.string(),params:Z.optional(xK)}),F6=Z.object({_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),o3=Z.union([Z.string(),Z.number().int()]),cZ=Z.object({jsonrpc:Z.literal(i3),id:o3}).merge(S6).strict(),rZ=Z.object({jsonrpc:Z.literal(i3)}).merge(Xq).strict(),iZ=Z.object({jsonrpc:Z.literal(i3),id:o3,result:F6}).strict();(function(q){q[q.ConnectionClosed=-32000]="ConnectionClosed",q[q.RequestTimeout=-32001]="RequestTimeout",q[q.ParseError=-32700]="ParseError",q[q.InvalidRequest=-32600]="InvalidRequest",q[q.MethodNotFound=-32601]="MethodNotFound",q[q.InvalidParams=-32602]="InvalidParams",q[q.InternalError=-32603]="InternalError"})(g1||(g1={}));oZ=Z.object({jsonrpc:Z.literal(i3),id:o3,error:Z.object({code:Z.number().int(),message:Z.string(),data:Z.optional(Z.unknown())})}).strict(),hC=Z.union([cZ,rZ,iZ,oZ]),_P=F6.strict(),KP=Xq.extend({method:Z.literal("notifications/cancelled"),params:xK.extend({requestId:o3,reason:Z.string().optional()})}),cK=Z.object({name:Z.string(),title:Z.optional(Z.string())}).passthrough(),jP=cK.extend({version:Z.string()}),aZ=Z.object({experimental:Z.optional(Z.object({}).passthrough()),sampling:Z.optional(Z.object({}).passthrough()),elicitation:Z.optional(Z.object({}).passthrough()),roots:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),BZ=S6.extend({method:Z.literal("initialize"),params:e6.extend({protocolVersion:Z.string(),capabilities:aZ,clientInfo:jP})}),tZ=Z.object({experimental:Z.optional(Z.object({}).passthrough()),logging:Z.optional(Z.object({}).passthrough()),completions:Z.optional(Z.object({}).passthrough()),prompts:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough()),resources:Z.optional(Z.object({subscribe:Z.optional(Z.boolean()),listChanged:Z.optional(Z.boolean())}).passthrough()),tools:Z.optional(Z.object({listChanged:Z.optional(Z.boolean())}).passthrough())}).passthrough(),eZ=F6.extend({protocolVersion:Z.string(),capabilities:tZ,serverInfo:jP,instructions:Z.optional(Z.string())}),FZ=Xq.extend({method:Z.literal("notifications/initialized")}),PP=S6.extend({method:Z.literal("ping")}),UZ=Z.object({progress:Z.number(),total:Z.optional(Z.number()),message:Z.optional(Z.string())}).passthrough(),YP=Xq.extend({method:Z.literal("notifications/progress"),params:xK.merge(UZ).extend({progressToken:Q1})}),a3=S6.extend({params:e6.extend({cursor:Z.optional(qP)}).optional()}),B3=F6.extend({nextCursor:Z.optional(qP)}),fP=Z.object({uri:Z.string(),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),$P=fP.extend({text:Z.string()}),Q4=Z.string().refine((q)=>{try{return atob(q),!0}catch(_){return!1}},{message:"Invalid Base64 string"}),wP=fP.extend({blob:Q4}),OP=cK.extend({uri:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),sZ=cK.extend({uriTemplate:Z.string(),description:Z.optional(Z.string()),mimeType:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}),QZ=a3.extend({method:Z.literal("resources/list")}),qk=B3.extend({resources:Z.array(OP)}),_k=a3.extend({method:Z.literal("resources/templates/list")}),Kk=B3.extend({resourceTemplates:Z.array(sZ)}),jk=S6.extend({method:Z.literal("resources/read"),params:e6.extend({uri:Z.string()})}),Pk=F6.extend({contents:Z.array(Z.union([$P,wP]))}),Yk=Xq.extend({method:Z.literal("notifications/resources/list_changed")}),fk=S6.extend({method:Z.literal("resources/subscribe"),params:e6.extend({uri:Z.string()})}),$k=S6.extend({method:Z.literal("resources/unsubscribe"),params:e6.extend({uri:Z.string()})}),wk=Xq.extend({method:Z.literal("notifications/resources/updated"),params:xK.extend({uri:Z.string()})}),Ok=Z.object({name:Z.string(),description:Z.optional(Z.string()),required:Z.optional(Z.boolean())}).passthrough(),vk=cK.extend({description:Z.optional(Z.string()),arguments:Z.optional(Z.array(Ok)),_meta:Z.optional(Z.object({}).passthrough())}),zk=a3.extend({method:Z.literal("prompts/list")}),Wk=B3.extend({prompts:Z.array(vk)}),Jk=S6.extend({method:Z.literal("prompts/get"),params:e6.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.string()))})}),q2=Z.object({type:Z.literal("text"),text:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),_2=Z.object({type:Z.literal("image"),data:Q4,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),K2=Z.object({type:Z.literal("audio"),data:Q4,mimeType:Z.string(),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Hk=Z.object({type:Z.literal("resource"),resource:Z.union([$P,wP]),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),Tk=OP.extend({type:Z.literal("resource_link")}),vP=Z.union([q2,_2,K2,Tk,Hk]),Zk=Z.object({role:Z.enum(["user","assistant"]),content:vP}).passthrough(),kk=F6.extend({description:Z.optional(Z.string()),messages:Z.array(Zk)}),Xk=Xq.extend({method:Z.literal("notifications/prompts/list_changed")}),Ak=Z.object({title:Z.optional(Z.string()),readOnlyHint:Z.optional(Z.boolean()),destructiveHint:Z.optional(Z.boolean()),idempotentHint:Z.optional(Z.boolean()),openWorldHint:Z.optional(Z.boolean())}).passthrough(),Gk=cK.extend({description:Z.optional(Z.string()),inputSchema:Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough(),outputSchema:Z.optional(Z.object({type:Z.literal("object"),properties:Z.optional(Z.object({}).passthrough()),required:Z.optional(Z.array(Z.string()))}).passthrough()),annotations:Z.optional(Ak),_meta:Z.optional(Z.object({}).passthrough())}),uk=a3.extend({method:Z.literal("tools/list")}),hk=B3.extend({tools:Z.array(Gk)}),zP=F6.extend({content:Z.array(vP).default([]),structuredContent:Z.object({}).passthrough().optional(),isError:Z.optional(Z.boolean())}),DC=zP.or(F6.extend({toolResult:Z.unknown()})),Dk=S6.extend({method:Z.literal("tools/call"),params:e6.extend({name:Z.string(),arguments:Z.optional(Z.record(Z.unknown()))})}),Ck=Xq.extend({method:Z.literal("notifications/tools/list_changed")}),WP=Z.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Vk=S6.extend({method:Z.literal("logging/setLevel"),params:e6.extend({level:WP})}),Mk=Xq.extend({method:Z.literal("notifications/message"),params:xK.extend({level:WP,logger:Z.optional(Z.string()),data:Z.unknown()})}),Nk=Z.object({name:Z.string().optional()}).passthrough(),bk=Z.object({hints:Z.optional(Z.array(Nk)),costPriority:Z.optional(Z.number().min(0).max(1)),speedPriority:Z.optional(Z.number().min(0).max(1)),intelligencePriority:Z.optional(Z.number().min(0).max(1))}).passthrough(),Sk=Z.object({role:Z.enum(["user","assistant"]),content:Z.union([q2,_2,K2])}).passthrough(),Ek=S6.extend({method:Z.literal("sampling/createMessage"),params:e6.extend({messages:Z.array(Sk),systemPrompt:Z.optional(Z.string()),includeContext:Z.optional(Z.enum(["none","thisServer","allServers"])),temperature:Z.optional(Z.number()),maxTokens:Z.number().int(),stopSequences:Z.optional(Z.array(Z.string())),metadata:Z.optional(Z.object({}).passthrough()),modelPreferences:Z.optional(bk)})}),Rk=F6.extend({model:Z.string(),stopReason:Z.optional(Z.enum(["endTurn","stopSequence","maxTokens"]).or(Z.string())),role:Z.enum(["user","assistant"]),content:Z.discriminatedUnion("type",[q2,_2,K2])}),mk=Z.object({type:Z.literal("boolean"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),default:Z.optional(Z.boolean())}).passthrough(),Ik=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minLength:Z.optional(Z.number()),maxLength:Z.optional(Z.number()),format:Z.optional(Z.enum(["email","uri","date","date-time"]))}).passthrough(),gk=Z.object({type:Z.enum(["number","integer"]),title:Z.optional(Z.string()),description:Z.optional(Z.string()),minimum:Z.optional(Z.number()),maximum:Z.optional(Z.number())}).passthrough(),yk=Z.object({type:Z.literal("string"),title:Z.optional(Z.string()),description:Z.optional(Z.string()),enum:Z.array(Z.string()),enumNames:Z.optional(Z.array(Z.string()))}).passthrough(),dk=Z.union([mk,Ik,gk,yk]),pk=S6.extend({method:Z.literal("elicitation/create"),params:e6.extend({message:Z.string(),requestedSchema:Z.object({type:Z.literal("object"),properties:Z.record(Z.string(),dk),required:Z.optional(Z.array(Z.string()))}).passthrough()})}),Lk=F6.extend({action:Z.enum(["accept","decline","cancel"]),content:Z.optional(Z.record(Z.string(),Z.unknown()))}),lk=Z.object({type:Z.literal("ref/resource"),uri:Z.string()}).passthrough(),nk=Z.object({type:Z.literal("ref/prompt"),name:Z.string()}).passthrough(),xk=S6.extend({method:Z.literal("completion/complete"),params:e6.extend({ref:Z.union([nk,lk]),argument:Z.object({name:Z.string(),value:Z.string()}).passthrough(),context:Z.optional(Z.object({arguments:Z.optional(Z.record(Z.string(),Z.string()))}))})}),ck=F6.extend({completion:Z.object({values:Z.array(Z.string()).max(100),total:Z.optional(Z.number().int()),hasMore:Z.optional(Z.boolean())}).passthrough()}),rk=Z.object({uri:Z.string().startsWith("file://"),name:Z.optional(Z.string()),_meta:Z.optional(Z.object({}).passthrough())}).passthrough(),ik=S6.extend({method:Z.literal("roots/list")}),ok=F6.extend({roots:Z.array(rk)}),ak=Xq.extend({method:Z.literal("notifications/roots/list_changed")}),CC=Z.union([PP,BZ,xk,Vk,Jk,zk,QZ,_k,jk,fk,$k,Dk,uk]),VC=Z.union([KP,YP,FZ,ak]),MC=Z.union([_P,Rk,Lk,ok]),NC=Z.union([PP,Ek,pk,ik]),bC=Z.union([KP,YP,Mk,wk,Yk,Ck,Xk]),SC=Z.union([_P,eZ,ck,kk,Wk,qk,Kk,Pk,zP,hk]),EC=xH(hT(),1),RC=Symbol("Let zodToJsonSchema decide on which parser to use"),mC=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");(function(q){q.Completable="McpCompletable"})(t4||(t4={}));e4=class e4 extends k8{_parse(q){let{ctx:_}=this._processInputParams(q),j=_.data;return this._def.type._parse({data:j,path:_.path,parent:_})}unwrap(){return this._def.type}};e4.create=(q,_)=>{return new e4({type:q,typeName:t4.Completable,complete:_.complete,...Bk(_)})}});var HP={};uK(HP,{version:()=>Fk,type:()=>sk,scripts:()=>qX,repository:()=>PX,publishConfig:()=>$X,name:()=>ek,main:()=>Qk,license:()=>jX,keywords:()=>_X,homepage:()=>YX,files:()=>WX,engines:()=>vX,devDependencies:()=>OX,description:()=>Uk,dependencies:()=>wX,default:()=>JX,bugs:()=>fX,bin:()=>zX,author:()=>KX});var ek="claude-mem",Fk="3.5.6",Uk="Memory compression system for Claude Code - persist context across sessions",sk="module",Qk="claude-mem",qX,_X,KX="Alex Newman",jX="SEE LICENSE IN LICENSE",PX,YX="https://github.com/thedotmack/claude-mem#readme",fX,$X,wX,OX,vX,zX,WX,JX;var TP=Y6(()=>{qX={dev:"tsx src/bin/cli.ts","dev:install":"node dist/claude-mem.min.js install --force","dev:status":"node dist/claude-mem.min.js status","dev:compress":"node dist/claude-mem.min.js compress","dev:load":"node dist/claude-mem.min.js load-context","dev:uninstall":"node dist/claude-mem.min.js uninstall",build:"./scripts/build-minified.sh","test:watch":"npm test -- --watch",lint:"eslint 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'","lint:fix":"npm run lint -- --fix",format:"prettier --write 'src/**/*.ts' 'hooks/**/*.ts' 'test/**/*.ts'","build:npm":"./scripts/npm-publish.sh",publish:"./scripts/publish-all.sh","publish:latest":"npm version patch && ./scripts/publish-all.sh","publish:github":"./scripts/github-publish.sh"},_X=["claude","claude-code","mcp","memory","compression","knowledge-graph","transcript","cli","typescript","bun"],PX={type:"git",url:"https://github.com/thedotmack/claude-mem.git"},fX={url:"https://github.com/thedotmack/claude-mem/issues"},$X={access:"public",registry:"https://registry.npmjs.org/"},wX={"@anthropic-ai/claude-code":"^1.0.88","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^0.5.0",boxen:"^8.0.1",chalk:"^5.6.0",chromadb:"^3.0.14",commander:"^14.0.0",glob:"^11.0.3","gradient-string":"^3.0.0",handlebars:"^4.7.8","oh-my-logo":"^0.3.2"},OX={"@types/chai":"^4.3.0","@types/handlebars":"^4.0.40","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0",chai:"^4.3.0",eslint:"^8.0.0",prettier:"^3.0.0","ts-node":"^10.0.0",tsx:"^4.20.5",typescript:"^5.0.0"},vX={node:">=18.0.0",bun:">=1.0.0"},zX={"claude-mem":"dist/claude-mem.min.js"},WX=["dist","hooks","commands","docs"],JX={name:ek,version:Fk,description:Uk,type:sk,main:Qk,scripts:qX,keywords:_X,author:KX,license:jX,repository:PX,homepage:YX,bugs:fX,publishConfig:$X,dependencies:wX,devDependencies:OX,engines:vX,bin:zX,files:WX}});import{join as B8,dirname as t3,sep as HX}from"path";import{homedir as P2}from"os";import{existsSync as rK,statSync as TX}from"fs";import{execSync as ZX}from"child_process";import{fileURLToPath as kX}from"url";class _8{static instance=null;_dataDirectory=null;_packageRoot=null;_claudeConfigDirectory=null;static getInstance(){if(!_8.instance)_8.instance=new _8;return _8.instance}getDataDirectory(){if(this._dataDirectory)return this._dataDirectory;return this._dataDirectory=process.env.CLAUDE_MEM_DATA_DIR||B8(P2(),".claude-mem"),this._dataDirectory}getArchivesDirectory(){return B8(this.getDataDirectory(),"archives")}getHooksDirectory(){return B8(this.getDataDirectory(),"hooks")}getLogsDirectory(){return B8(this.getDataDirectory(),"logs")}getIndexDirectory(){return this.getDataDirectory()}getIndexPath(){return B8(this.getIndexDirectory(),"claude-mem-index.jsonl")}getTrashDirectory(){return B8(this.getDataDirectory(),"trash")}getBackupsDirectory(){return B8(this.getDataDirectory(),"backups")}getChromaDirectory(){return B8(this.getDataDirectory(),"chroma")}getProjectArchiveDirectory(q){return B8(this.getArchivesDirectory(),q)}getUserSettingsPath(){return B8(this.getDataDirectory(),"settings.json")}getClaudeConfigDirectory(){if(this._claudeConfigDirectory)return this._claudeConfigDirectory;return this._claudeConfigDirectory=process.env.CLAUDE_CONFIG_DIR||B8(P2(),".claude"),this._claudeConfigDirectory}getClaudeSettingsPath(){return B8(this.getClaudeConfigDirectory(),"settings.json")}getClaudeCommandsDirectory(){return B8(this.getClaudeConfigDirectory(),"commands")}getClaudeMdPath(){return B8(this.getClaudeConfigDirectory(),"CLAUDE.md")}getMcpConfigPath(){return B8(P2(),".claude.json")}getProjectMcpConfigPath(){return B8(process.cwd(),".mcp.json")}getPackageRoot(){if(this._packageRoot)return this._packageRoot;try{let j=u6.resolve("/Users/alexnewman/Scripts/claude-mem-source/package.json");return this._packageRoot=t3(j),this._packageRoot}catch{}let q=kX(import.meta.url),_=t3(q);for(let j=0;j<10;j++){let K=B8(_,"package.json");if(rK(K))try{if(u6(K).name==="claude-mem")return this._packageRoot=_,this._packageRoot}catch{}let Y=t3(_);if(Y===_)break;_=Y}try{let j=ZX("npm list -g claude-mem --json 2>/dev/null || npm list claude-mem --json 2>/dev/null",{encoding:"utf8"}),K=JSON.parse(j);if(K.dependencies?.["claude-mem"]?.resolved)return this._packageRoot=t3(K.dependencies["claude-mem"].resolved),this._packageRoot}catch{}throw new Error("Cannot locate claude-mem package root. Ensure claude-mem is properly installed.")}findPackageHooksDirectory(){let q=this.getPackageRoot(),_=B8(q,"hooks"),j=["pre-compact.js","session-start.js"];for(let K of j)if(!rK(B8(_,K)))throw new Error(`Package hooks directory missing required file: ${K}`);return _}findPackageCommandsDirectory(){let q=this.getPackageRoot(),_=B8(q,"commands"),j=["save.md"];for(let K of j)if(!rK(B8(_,K)))throw new Error(`Package commands directory missing required file: ${K}`);return _}ensureDirectory(q){if(!rK(q))u6("fs").mkdirSync(q,{recursive:!0})}ensureDirectories(q){q.forEach((_)=>this.ensureDirectory(_))}ensureAllDataDirectories(){this.ensureDirectories([this.getDataDirectory(),this.getArchivesDirectory(),this.getHooksDirectory(),this.getLogsDirectory(),this.getTrashDirectory(),this.getBackupsDirectory(),this.getChromaDirectory()])}ensureAllClaudeDirectories(){this.ensureDirectories([this.getClaudeConfigDirectory(),this.getClaudeCommandsDirectory()])}static extractProjectName(q){let _=q.split(HX),j=["src","lib","app","project","workspace"];for(let K=_.length-1;K>=0;K--)if(j.includes(_[K])&&K>0)return _[K-1];if(_.length>1)return _[_.length-2];return"unknown-project"}static getCurrentProjectName(){return u6("path").basename(process.cwd())}static createBackupFilename(q){let _=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${q}.backup.${_}`}static isPathAccessible(q){try{return rK(q)&&TX(q).isDirectory()}catch{return!1}}static getDataDirectory(){return _8.getInstance().getDataDirectory()}static getArchivesDirectory(){return _8.getInstance().getArchivesDirectory()}static getHooksDirectory(){return _8.getInstance().getHooksDirectory()}static getLogsDirectory(){return _8.getInstance().getLogsDirectory()}static getClaudeSettingsPath(){return _8.getInstance().getClaudeSettingsPath()}static getClaudeMdPath(){return _8.getInstance().getClaudeMdPath()}static findPackageHooksDirectory(){return _8.getInstance().findPackageHooksDirectory()}static findPackageCommandsDirectory(){return _8.getInstance().findPackageCommandsDirectory()}}var lC;var C6=Y6(()=>{lC=_8.getInstance()});class Iq{pathDiscovery;constructor(){this.pathDiscovery=_8.getInstance()}getConfigDir(){return this.pathDiscovery.getDataDirectory()}getIndexDir(){return this.pathDiscovery.getIndexDirectory()}getIndexPath(){return this.pathDiscovery.getIndexPath()}getArchiveDir(){return this.pathDiscovery.getArchivesDirectory()}getProjectArchiveDir(q){return this.pathDiscovery.getProjectArchiveDirectory(q)}getLogsDir(){return this.pathDiscovery.getLogsDirectory()}static ensureDirectory(q){_8.getInstance().ensureDirectory(q)}static ensureDirectories(q){_8.getInstance().ensureDirectories(q)}static extractProjectName(q){return _8.extractProjectName(q)}static getCurrentProjectPrefix(){return _8.getCurrentProjectName()}static getCurrentProjectName(){return _8.getCurrentProjectName()}}var Y2=Y6(()=>{C6()});function GX(q,_,j,K){let Y={projectPrefix:q,sessionId:_,timestamp:j||new Date().toISOString(),archiveFilename:K||`${_}.jsonl.archive`};return AX(Y)}function kP(q,_,j,K){let Y=GX(j,_,K),f=`
111
111
 
112
112
  RESPONSE FORMAT:
113
113
  After storing memories in Chroma, return EXACTLY this JSON structure wrapped in tags:
@@ -283,7 +283,7 @@ ${a.default.gray(iq)} ${q}
283
283
  `).filter((w)=>w.trim());if(Y.length===0){if(q.format==="session-start")console.log(IK("NO_MEMORIES",q.project||"this project"));return}let f=[];for(let w of Y)try{if(!w.trim().startsWith("{"))continue;let v=JSON.parse(w);f.push(v)}catch(v){continue}if(f.length===0){if(q.format==="session-start")console.log(IK("NO_MEMORIES",q.project||"this project"));return}let P=f;if(q.project)P=f.filter((w)=>w.project===q.project);let $=q.format==="session-start"?30:10,O=P.slice(-$);if(q.format==="session-start"){let w="recently",v=O.map((z)=>{return z.timestamp?new Date(z.timestamp):null}).filter((z)=>z!==null).sort((z,W)=>W.getTime()-z.getTime());if(v.length>0)w=h1(v[0]);C1({projectName:q.project||"your project",memoryCount:O.length,lastSessionTime:w,recentObjects:O})}else if(q.format==="json")console.log(JSON.stringify(O));else console.log(l3("Context loading",O.length,"recent memories found")),O.forEach((w)=>{if(w.type==="memory")console.log(`${w.text} | ${w.document_id} | ${w.keywords}`);else if(w.type==="overview")console.log(`**Overview:** ${w.content}`);else if(w.type==="session")console.log(`# Session: ${w.session_id} [${w.timestamp}]`);else console.log(JSON.stringify(w))});if(q.format!=="json"){let w=sG();if(!w.isEmpty){let v=UG(w.totalSize);console.log(`\uD83D\uDDD1️ Trash – ${w.folderCount} folders | ${w.fileCount} files | ${v} – use \`$ claude-mem restore\` for more options.`)}}}catch(K){let Y=K instanceof Error?K.message:String(K);if(q.format==="session-start")console.log(IK("CONNECTION_FAILED",Y));else console.log(d_("Context loading",Y,"Check file permissions and try again"))}}var j9=Y6(()=>{C6();x4()});var h$={};uK(h$,{viewTrash:()=>Qh});import{readdirSync as X$,statSync as A$}from"fs";import{join as G$}from"path";function sh(q){let _=q.lastIndexOf(".");if(_===-1)return{name:q,timestamp:0};let j=parseInt(q.substring(_+1));if(isNaN(j))return{name:q,timestamp:0};return{name:q.substring(0,_),timestamp:j}}function k$(q){if(q===0)return"0 B";let _=1024,j=["B","KB","MB","GB"],K=Math.floor(Math.log(q)/Math.log(_));return parseFloat((q/Math.pow(_,K)).toFixed(2))+" "+j[K]}function u$(q){let _=0,j=X$(q);for(let K of j){let Y=G$(q,K),f=A$(Y);if(f.isDirectory())_+=u$(Y);else _+=f.size}return _}async function Qh(){let q=_8.getInstance().getTrashDirectory();try{let _=X$(q);if(_.length===0){Q8.info("\uD83D\uDDD1️ Trash is empty");return}let j=_.map((P)=>{let $=G$(q,P),O=A$($),{name:w,timestamp:v}=sh(P),z=O.isDirectory()?u$($):O.size;return{originalName:w,trashedName:P,size:z,trashedAt:new Date(v),isDirectory:O.isDirectory()}});j.sort((P,$)=>$.trashedAt.getTime()-P.trashedAt.getTime()),console.log(`
284
284
  \uD83D\uDDD1️ Trash Contents
285
285
  `),console.log("─".repeat(80));let K=0,Y=0,f=0;for(let P of j){if(K+=P.size,P.isDirectory)Y++;else f++;let $=P.isDirectory?"\uD83D\uDCC1":"\uD83D\uDCC4",O=P.trashedAt.toLocaleString(),w=k$(P.size);console.log(`${$} ${P.originalName}`),console.log(` Size: ${w} | Trashed: ${O}`),console.log(` ID: ${P.trashedName}`),console.log()}console.log("─".repeat(80)),console.log(`Total: ${Y} folders, ${f} files (${k$(K)})`),console.log(`
286
- To restore files: claude-mem restore`),console.log("To empty trash: claude-mem trash empty")}catch(_){if(_.code==="ENOENT")Q8.info("\uD83D\uDDD1️ Trash is empty");else Q8.error("Failed to read trash directory"),console.error(_)}}var D$=Y6(()=>{KK();C6()});var V$={};uK(V$,{emptyTrash:()=>PD});import{rmSync as qD,readdirSync as _D,existsSync as KD,statSync as jD}from"fs";import{join as C$}from"path";async function PD(q={}){let _=_8.getInstance().getTrashDirectory();if(!KD(_)){Q8.info("\uD83D\uDDD1️ Trash is already empty");return}try{let j=_D(_);if(j.length===0){Q8.info("\uD83D\uDDD1️ Trash is already empty");return}let K=0,Y=0;for(let P of j){let $=C$(_,P);if(jD($).isDirectory())K++;else Y++}if(!q.force){let P=await gq({message:`Permanently delete ${K} folders and ${Y} files from trash?`,initialValue:!1});if(K6(P)||!P){Q8.info("Cancelled - trash not emptied");return}}let f=Y7();f.start("Emptying trash...");for(let P of j){let $=C$(_,P);qD($,{recursive:!0,force:!0})}f.stop(`\uD83D\uDDD1️ Trash emptied - permanently deleted ${K} folders and ${Y} files`)}catch(j){Q8.error("Failed to empty trash"),console.error(j),process.exit(1)}}var M$=Y6(()=>{KK();C6()});var y7={};uK(y7,{sessionStartHook:()=>fD,sessionEndHook:()=>$D,preCompactHook:()=>YD});import{basename as N$}from"path";async function YD(){try{let q="";process.stdin.setEncoding("utf8");for await(let j of process.stdin)q+=j;let _;if(q)try{_=JSON.parse(q).transcript_path}catch(j){_=q.trim()}if(!_)_=process.env.TRANSCRIPT_PATH||process.argv[2];if(!_){console.log("\uD83D\uDDDC️ Compressing session transcript..."),console.log("❌ No transcript path provided to pre-compact hook"),console.log("Hook data received:",q||"none"),console.log("Environment TRANSCRIPT_PATH:",process.env.TRANSCRIPT_PATH||"not set"),console.log("Command line args:",process.argv.slice(2));return}await oK(_,{dryRun:!1})}catch(q){console.error("Pre-compact hook failed:",q.message),process.exit(1)}}async function fD(){try{let q="";process.stdin.setEncoding("utf8");for await(let j of process.stdin)q+=j;let _;if(q)try{let j=JSON.parse(q);if(j.cwd)_=N$(j.cwd)}catch(j){console.error("Failed to parse session-start hook data:",j)}if(!_)_=N$(process.cwd());await T7({format:"session-start",count:"10",project:_})}catch(q){console.error("Session-start hook failed:",q.message),process.exit(1)}}async function $D(){try{let q="";process.stdin.setEncoding("utf8");for await(let _ of process.stdin)q+=_;if(q)try{let _=JSON.parse(q);if(_.reason==="clear"&&_.transcript_path)console.log("\uD83D\uDDDC️ Compressing current session before /clear..."),await oK(_.transcript_path,{dryRun:!1})}catch(_){console.error("Failed to parse hook data:",_)}console.log("Session ended successfully")}catch(q){console.error("Session-end hook failed:",q.message),process.exit(1)}}var d7=Y6(()=>{w2();j9()});var P5=o6(j5(),1),{program:VD,createCommand:MD,createArgument:ND,createOption:bD,CommanderError:SD,InvalidArgumentError:ED,InvalidOptionArgumentError:RD,Command:Y5,Argument:mD,Option:ID,Help:gD}=P5.default;import{readFileSync as cw,existsSync as rw}from"fs";import{join as iw,dirname as ow}from"path";import{fileURLToPath as aw}from"url";var f5="claude-mem",$5="3.5.5",w5="Memory compression system for Claude Code - persist context across sessions",O5=f5,v5=$5,z5=w5;try{let q=aw(import.meta.url),_=ow(q),j=iw(_,"..","..","package.json");if(rw(j)){let K=JSON.parse(cw(j,"utf-8"));O5=K.name||f5,v5=K.version||$5,z5=K.description||w5}}catch{}var pq=O5,W5=v5,J5=z5;w2();KK();import{readFileSync as YK,writeFileSync as H_,existsSync as R8,chmodSync as DG,mkdirSync as $K,copyFileSync as J_,statSync as CG,readdirSync as VG}from"fs";import{join as D8,dirname as fK}from"path";import{homedir as Q2}from"os";import{execSync as W_}from"child_process";import{fileURLToPath as ff}from"url";var _Y=(q=0)=>(_)=>`\x1B[${_+q}m`,KY=(q=0)=>(_)=>`\x1B[${38+q};5;${_}m`,jY=(q=0)=>(_,j,K)=>`\x1B[${38+q};2;${_};${j};${K}m`,l8={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},LV=Object.keys(l8.modifier),vA=Object.keys(l8.color),zA=Object.keys(l8.bgColor),lV=[...vA,...zA];function WA(){let q=new Map;for(let[_,j]of Object.entries(l8)){for(let[K,Y]of Object.entries(j))l8[K]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},j[K]=l8[K],q.set(Y[0],Y[1]);Object.defineProperty(l8,_,{value:j,enumerable:!1})}return Object.defineProperty(l8,"codes",{value:q,enumerable:!1}),l8.color.close="\x1B[39m",l8.bgColor.close="\x1B[49m",l8.color.ansi=_Y(),l8.color.ansi256=KY(),l8.color.ansi16m=jY(),l8.bgColor.ansi=_Y(10),l8.bgColor.ansi256=KY(10),l8.bgColor.ansi16m=jY(10),Object.defineProperties(l8,{rgbToAnsi256:{value(_,j,K){if(_===j&&j===K){if(_<8)return 16;if(_>248)return 231;return Math.round((_-8)/247*24)+232}return 16+36*Math.round(_/255*5)+6*Math.round(j/255*5)+Math.round(K/255*5)},enumerable:!1},hexToRgb:{value(_){let j=/[a-f\d]{6}|[a-f\d]{3}/i.exec(_.toString(16));if(!j)return[0,0,0];let[K]=j;if(K.length===3)K=[...K].map((f)=>f+f).join("");let Y=Number.parseInt(K,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(_)=>l8.rgbToAnsi256(...l8.hexToRgb(_)),enumerable:!1},ansi256ToAnsi:{value(_){if(_<8)return 30+_;if(_<16)return 90+(_-8);let j,K,Y;if(_>=232)j=((_-232)*10+8)/255,K=j,Y=j;else{_-=16;let $=_%36;j=Math.floor(_/36)/5,K=Math.floor($/6)/5,Y=$%6/5}let f=Math.max(j,K,Y)*2;if(f===0)return 30;let P=30+(Math.round(Y)<<2|Math.round(K)<<1|Math.round(j));if(f===2)P+=60;return P},enumerable:!1},rgbToAnsi:{value:(_,j,K)=>l8.ansi256ToAnsi(l8.rgbToAnsi256(_,j,K)),enumerable:!1},hexToAnsi:{value:(_)=>l8.ansi256ToAnsi(l8.hexToAnsi256(_)),enumerable:!1}}),l8}var JA=WA(),Oq=JA;import b2 from"node:process";import HA from"node:os";import PY from"node:tty";function U6(q,_=globalThis.Deno?globalThis.Deno.args:b2.argv){let j=q.startsWith("-")?"":q.length===1?"-":"--",K=_.indexOf(j+q),Y=_.indexOf("--");return K!==-1&&(Y===-1||K<Y)}var{env:n8}=b2,f7;if(U6("no-color")||U6("no-colors")||U6("color=false")||U6("color=never"))f7=0;else if(U6("color")||U6("colors")||U6("color=true")||U6("color=always"))f7=1;function TA(){if("FORCE_COLOR"in n8){if(n8.FORCE_COLOR==="true")return 1;if(n8.FORCE_COLOR==="false")return 0;return n8.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(n8.FORCE_COLOR,10),3)}}function ZA(q){if(q===0)return!1;return{level:q,hasBasic:!0,has256:q>=2,has16m:q>=3}}function kA(q,{streamIsTTY:_,sniffFlags:j=!0}={}){let K=TA();if(K!==void 0)f7=K;let Y=j?f7:K;if(Y===0)return 0;if(j){if(U6("color=16m")||U6("color=full")||U6("color=truecolor"))return 3;if(U6("color=256"))return 2}if("TF_BUILD"in n8&&"AGENT_NAME"in n8)return 1;if(q&&!_&&Y===void 0)return 0;let f=Y||0;if(n8.TERM==="dumb")return f;if(b2.platform==="win32"){let P=HA.release().split(".");if(Number(P[0])>=10&&Number(P[2])>=10586)return Number(P[2])>=14931?3:2;return 1}if("CI"in n8){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((P)=>(P in n8)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((P)=>(P in n8))||n8.CI_NAME==="codeship")return 1;return f}if("TEAMCITY_VERSION"in n8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(n8.TEAMCITY_VERSION)?1:0;if(n8.COLORTERM==="truecolor")return 3;if(n8.TERM==="xterm-kitty")return 3;if(n8.TERM==="xterm-ghostty")return 3;if(n8.TERM==="wezterm")return 3;if("TERM_PROGRAM"in n8){let P=Number.parseInt((n8.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(n8.TERM_PROGRAM){case"iTerm.app":return P>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(n8.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n8.TERM))return 1;if("COLORTERM"in n8)return 1;return f}function YY(q,_={}){let j=kA(q,{streamIsTTY:q&&q.isTTY,..._});return ZA(j)}var XA={stdout:YY({isTTY:PY.isatty(1)}),stderr:YY({isTTY:PY.isatty(2)})},fY=XA;function $Y(q,_,j){let K=q.indexOf(_);if(K===-1)return q;let Y=_.length,f=0,P="";do P+=q.slice(f,K)+_+j,f=K+Y,K=q.indexOf(_,f);while(K!==-1);return P+=q.slice(f),P}function wY(q,_,j,K){let Y=0,f="";do{let P=q[K-1]==="\r";f+=q.slice(Y,P?K-1:K)+_+(P?`\r
286
+ To restore files: claude-mem restore`),console.log("To empty trash: claude-mem trash empty")}catch(_){if(_.code==="ENOENT")Q8.info("\uD83D\uDDD1️ Trash is empty");else Q8.error("Failed to read trash directory"),console.error(_)}}var D$=Y6(()=>{KK();C6()});var V$={};uK(V$,{emptyTrash:()=>PD});import{rmSync as qD,readdirSync as _D,existsSync as KD,statSync as jD}from"fs";import{join as C$}from"path";async function PD(q={}){let _=_8.getInstance().getTrashDirectory();if(!KD(_)){Q8.info("\uD83D\uDDD1️ Trash is already empty");return}try{let j=_D(_);if(j.length===0){Q8.info("\uD83D\uDDD1️ Trash is already empty");return}let K=0,Y=0;for(let P of j){let $=C$(_,P);if(jD($).isDirectory())K++;else Y++}if(!q.force){let P=await gq({message:`Permanently delete ${K} folders and ${Y} files from trash?`,initialValue:!1});if(K6(P)||!P){Q8.info("Cancelled - trash not emptied");return}}let f=Y7();f.start("Emptying trash...");for(let P of j){let $=C$(_,P);qD($,{recursive:!0,force:!0})}f.stop(`\uD83D\uDDD1️ Trash emptied - permanently deleted ${K} folders and ${Y} files`)}catch(j){Q8.error("Failed to empty trash"),console.error(j),process.exit(1)}}var M$=Y6(()=>{KK();C6()});var y7={};uK(y7,{sessionStartHook:()=>fD,sessionEndHook:()=>$D,preCompactHook:()=>YD});import{basename as N$}from"path";async function YD(){try{let q="";process.stdin.setEncoding("utf8");for await(let j of process.stdin)q+=j;let _;if(q)try{_=JSON.parse(q).transcript_path}catch(j){_=q.trim()}if(!_)_=process.env.TRANSCRIPT_PATH||process.argv[2];if(!_){console.log("\uD83D\uDDDC️ Compressing session transcript..."),console.log("❌ No transcript path provided to pre-compact hook"),console.log("Hook data received:",q||"none"),console.log("Environment TRANSCRIPT_PATH:",process.env.TRANSCRIPT_PATH||"not set"),console.log("Command line args:",process.argv.slice(2));return}await oK(_,{dryRun:!1})}catch(q){console.error("Pre-compact hook failed:",q.message),process.exit(1)}}async function fD(){try{let q="";process.stdin.setEncoding("utf8");for await(let j of process.stdin)q+=j;let _;if(q)try{let j=JSON.parse(q);if(j.cwd)_=N$(j.cwd)}catch(j){console.error("Failed to parse session-start hook data:",j)}if(!_)_=N$(process.cwd());await T7({format:"session-start",count:"10",project:_})}catch(q){console.error("Session-start hook failed:",q.message),process.exit(1)}}async function $D(){try{let q="";process.stdin.setEncoding("utf8");for await(let _ of process.stdin)q+=_;if(q)try{let _=JSON.parse(q);if(_.reason==="clear"&&_.transcript_path)console.log("\uD83D\uDDDC️ Compressing current session before /clear..."),await oK(_.transcript_path,{dryRun:!1})}catch(_){console.error("Failed to parse hook data:",_)}console.log("Session ended successfully")}catch(q){console.error("Session-end hook failed:",q.message),process.exit(1)}}var d7=Y6(()=>{w2();j9()});var P5=o6(j5(),1),{program:VD,createCommand:MD,createArgument:ND,createOption:bD,CommanderError:SD,InvalidArgumentError:ED,InvalidOptionArgumentError:RD,Command:Y5,Argument:mD,Option:ID,Help:gD}=P5.default;import{readFileSync as cw,existsSync as rw}from"fs";import{join as iw,dirname as ow}from"path";import{fileURLToPath as aw}from"url";var f5="claude-mem",$5="3.5.6",w5="Memory compression system for Claude Code - persist context across sessions",O5=f5,v5=$5,z5=w5;try{let q=aw(import.meta.url),_=ow(q),j=iw(_,"..","..","package.json");if(rw(j)){let K=JSON.parse(cw(j,"utf-8"));O5=K.name||f5,v5=K.version||$5,z5=K.description||w5}}catch{}var pq=O5,W5=v5,J5=z5;w2();KK();import{readFileSync as YK,writeFileSync as H_,existsSync as R8,chmodSync as DG,mkdirSync as $K,copyFileSync as J_,statSync as CG,readdirSync as VG}from"fs";import{join as D8,dirname as fK}from"path";import{homedir as Q2}from"os";import{execSync as W_}from"child_process";import{fileURLToPath as ff}from"url";var _Y=(q=0)=>(_)=>`\x1B[${_+q}m`,KY=(q=0)=>(_)=>`\x1B[${38+q};5;${_}m`,jY=(q=0)=>(_,j,K)=>`\x1B[${38+q};2;${_};${j};${K}m`,l8={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},LV=Object.keys(l8.modifier),vA=Object.keys(l8.color),zA=Object.keys(l8.bgColor),lV=[...vA,...zA];function WA(){let q=new Map;for(let[_,j]of Object.entries(l8)){for(let[K,Y]of Object.entries(j))l8[K]={open:`\x1B[${Y[0]}m`,close:`\x1B[${Y[1]}m`},j[K]=l8[K],q.set(Y[0],Y[1]);Object.defineProperty(l8,_,{value:j,enumerable:!1})}return Object.defineProperty(l8,"codes",{value:q,enumerable:!1}),l8.color.close="\x1B[39m",l8.bgColor.close="\x1B[49m",l8.color.ansi=_Y(),l8.color.ansi256=KY(),l8.color.ansi16m=jY(),l8.bgColor.ansi=_Y(10),l8.bgColor.ansi256=KY(10),l8.bgColor.ansi16m=jY(10),Object.defineProperties(l8,{rgbToAnsi256:{value(_,j,K){if(_===j&&j===K){if(_<8)return 16;if(_>248)return 231;return Math.round((_-8)/247*24)+232}return 16+36*Math.round(_/255*5)+6*Math.round(j/255*5)+Math.round(K/255*5)},enumerable:!1},hexToRgb:{value(_){let j=/[a-f\d]{6}|[a-f\d]{3}/i.exec(_.toString(16));if(!j)return[0,0,0];let[K]=j;if(K.length===3)K=[...K].map((f)=>f+f).join("");let Y=Number.parseInt(K,16);return[Y>>16&255,Y>>8&255,Y&255]},enumerable:!1},hexToAnsi256:{value:(_)=>l8.rgbToAnsi256(...l8.hexToRgb(_)),enumerable:!1},ansi256ToAnsi:{value(_){if(_<8)return 30+_;if(_<16)return 90+(_-8);let j,K,Y;if(_>=232)j=((_-232)*10+8)/255,K=j,Y=j;else{_-=16;let $=_%36;j=Math.floor(_/36)/5,K=Math.floor($/6)/5,Y=$%6/5}let f=Math.max(j,K,Y)*2;if(f===0)return 30;let P=30+(Math.round(Y)<<2|Math.round(K)<<1|Math.round(j));if(f===2)P+=60;return P},enumerable:!1},rgbToAnsi:{value:(_,j,K)=>l8.ansi256ToAnsi(l8.rgbToAnsi256(_,j,K)),enumerable:!1},hexToAnsi:{value:(_)=>l8.ansi256ToAnsi(l8.hexToAnsi256(_)),enumerable:!1}}),l8}var JA=WA(),Oq=JA;import b2 from"node:process";import HA from"node:os";import PY from"node:tty";function U6(q,_=globalThis.Deno?globalThis.Deno.args:b2.argv){let j=q.startsWith("-")?"":q.length===1?"-":"--",K=_.indexOf(j+q),Y=_.indexOf("--");return K!==-1&&(Y===-1||K<Y)}var{env:n8}=b2,f7;if(U6("no-color")||U6("no-colors")||U6("color=false")||U6("color=never"))f7=0;else if(U6("color")||U6("colors")||U6("color=true")||U6("color=always"))f7=1;function TA(){if("FORCE_COLOR"in n8){if(n8.FORCE_COLOR==="true")return 1;if(n8.FORCE_COLOR==="false")return 0;return n8.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(n8.FORCE_COLOR,10),3)}}function ZA(q){if(q===0)return!1;return{level:q,hasBasic:!0,has256:q>=2,has16m:q>=3}}function kA(q,{streamIsTTY:_,sniffFlags:j=!0}={}){let K=TA();if(K!==void 0)f7=K;let Y=j?f7:K;if(Y===0)return 0;if(j){if(U6("color=16m")||U6("color=full")||U6("color=truecolor"))return 3;if(U6("color=256"))return 2}if("TF_BUILD"in n8&&"AGENT_NAME"in n8)return 1;if(q&&!_&&Y===void 0)return 0;let f=Y||0;if(n8.TERM==="dumb")return f;if(b2.platform==="win32"){let P=HA.release().split(".");if(Number(P[0])>=10&&Number(P[2])>=10586)return Number(P[2])>=14931?3:2;return 1}if("CI"in n8){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((P)=>(P in n8)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((P)=>(P in n8))||n8.CI_NAME==="codeship")return 1;return f}if("TEAMCITY_VERSION"in n8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(n8.TEAMCITY_VERSION)?1:0;if(n8.COLORTERM==="truecolor")return 3;if(n8.TERM==="xterm-kitty")return 3;if(n8.TERM==="xterm-ghostty")return 3;if(n8.TERM==="wezterm")return 3;if("TERM_PROGRAM"in n8){let P=Number.parseInt((n8.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(n8.TERM_PROGRAM){case"iTerm.app":return P>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(n8.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n8.TERM))return 1;if("COLORTERM"in n8)return 1;return f}function YY(q,_={}){let j=kA(q,{streamIsTTY:q&&q.isTTY,..._});return ZA(j)}var XA={stdout:YY({isTTY:PY.isatty(1)}),stderr:YY({isTTY:PY.isatty(2)})},fY=XA;function $Y(q,_,j){let K=q.indexOf(_);if(K===-1)return q;let Y=_.length,f=0,P="";do P+=q.slice(f,K)+_+j,f=K+Y,K=q.indexOf(_,f);while(K!==-1);return P+=q.slice(f),P}function wY(q,_,j,K){let Y=0,f="";do{let P=q[K-1]==="\r";f+=q.slice(Y,P?K-1:K)+_+(P?`\r
287
287
  `:`
288
288
  `)+j,Y=K+1,K=q.indexOf(`
289
289
  `,Y)}while(K!==-1);return f+=q.slice(Y),f}var{stdout:OY,stderr:vY}=fY,S2=Symbol("GENERATOR"),jK=Symbol("STYLER"),eK=Symbol("IS_EMPTY"),zY=["ansi","ansi","ansi256","ansi16m"],PK=Object.create(null),AA=(q,_={})=>{if(_.level&&!(Number.isInteger(_.level)&&_.level>=0&&_.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let j=OY?OY.level:0;q.level=_.level===void 0?j:_.level};var GA=(q)=>{let _=(...j)=>j.join(" ");return AA(_,q),Object.setPrototypeOf(_,FK.prototype),_};function FK(q){return GA(q)}Object.setPrototypeOf(FK.prototype,Function.prototype);for(let[q,_]of Object.entries(Oq))PK[q]={get(){let j=$7(this,R2(_.open,_.close,this[jK]),this[eK]);return Object.defineProperty(this,q,{value:j}),j}};PK.visible={get(){let q=$7(this,this[jK],!0);return Object.defineProperty(this,"visible",{value:q}),q}};var E2=(q,_,j,...K)=>{if(q==="rgb"){if(_==="ansi16m")return Oq[j].ansi16m(...K);if(_==="ansi256")return Oq[j].ansi256(Oq.rgbToAnsi256(...K));return Oq[j].ansi(Oq.rgbToAnsi(...K))}if(q==="hex")return E2("rgb",_,j,...Oq.hexToRgb(...K));return Oq[j][q](...K)},uA=["rgb","hex","ansi256"];for(let q of uA){PK[q]={get(){let{level:j}=this;return function(...K){let Y=R2(E2(q,zY[j],"color",...K),Oq.color.close,this[jK]);return $7(this,Y,this[eK])}}};let _="bg"+q[0].toUpperCase()+q.slice(1);PK[_]={get(){let{level:j}=this;return function(...K){let Y=R2(E2(q,zY[j],"bgColor",...K),Oq.bgColor.close,this[jK]);return $7(this,Y,this[eK])}}}}var hA=Object.defineProperties(()=>{},{...PK,level:{enumerable:!0,get(){return this[S2].level},set(q){this[S2].level=q}}}),R2=(q,_,j)=>{let K,Y;if(j===void 0)K=q,Y=_;else K=j.openAll+q,Y=_+j.closeAll;return{open:q,close:_,openAll:K,closeAll:Y,parent:j}},$7=(q,_,j)=>{let K=(...Y)=>DA(K,Y.length===1?""+Y[0]:Y.join(" "));return Object.setPrototypeOf(K,hA),K[S2]=q,K[jK]=_,K[eK]=j,K},DA=(q,_)=>{if(q.level<=0||!_)return q[eK]?"":_;let j=q[jK];if(j===void 0)return _;let{openAll:K,closeAll:Y}=j;if(_.includes("\x1B"))while(j!==void 0)_=$Y(_,j.close,j.open),j=j.parent;let f=_.indexOf(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "3.5.5",
3
+ "version": "3.5.6",
4
4
  "description": "Memory compression system for Claude Code - persist context across sessions",
5
5
  "keywords": [
6
6
  "claude",