zen-code 4.10.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +151 -2699
- package/dist/chunk-069q9hkz.js +1 -0
- package/dist/chunk-06trk066.js +1 -0
- package/dist/chunk-0kfw8bwn.js +2 -0
- package/dist/chunk-0mq8786q.js +281 -0
- package/dist/chunk-0qz8rr2k.js +1 -0
- package/dist/chunk-1d47g6nc.js +2 -0
- package/dist/chunk-1gssqf6g.js +88 -0
- package/dist/chunk-1rcc9xzn.js +79 -0
- package/dist/chunk-2bjeg40f.js +1 -0
- package/dist/chunk-2gd8vzrf.js +2 -0
- package/dist/chunk-2gprcgep.js +6 -0
- package/dist/chunk-3k3c686f.js +1 -0
- package/dist/chunk-43h0n2td.js +1 -0
- package/dist/chunk-492hjs9k.js +26 -0
- package/dist/chunk-4eaqmt3c.js +16 -0
- package/dist/chunk-4fs853nh.js +2 -0
- package/dist/chunk-5fe27s34.js +2 -0
- package/dist/chunk-5hqvapp1.js +7 -0
- package/dist/chunk-6b3vfr39.js +2 -0
- package/dist/chunk-6j695pam.js +5 -0
- package/dist/chunk-6saqxa3z.js +2 -0
- package/dist/chunk-78ksrp8v.js +41 -0
- package/dist/chunk-7cx9kda0.js +228 -0
- package/dist/chunk-7qba2raw.js +2 -0
- package/dist/chunk-81b2s97q.js +1 -0
- package/dist/chunk-88w3txtb.js +160 -0
- package/dist/chunk-8ygdre0g.js +1 -0
- package/dist/chunk-9011y634.js +6 -0
- package/dist/chunk-9zcr1qh6.js +1 -0
- package/dist/chunk-a0nr8jva.js +2 -0
- package/dist/chunk-agevsn2e.js +1 -0
- package/dist/chunk-akc3s5aw.js +6 -0
- package/dist/chunk-b0beqmg2.js +2 -0
- package/dist/chunk-b175s7dm.js +1 -0
- package/dist/chunk-bk32cwxa.js +5 -0
- package/dist/chunk-bn077sjq.js +213 -0
- package/dist/chunk-c9yrpb3g.js +18 -0
- package/dist/chunk-cb0f54ar.js +3 -0
- package/dist/chunk-ctqtahz4.js +1 -0
- package/dist/chunk-d2sr8fnm.js +3 -0
- package/dist/chunk-d5gzkkgg.js +1 -0
- package/dist/chunk-dh2f4xyb.js +3 -0
- package/dist/chunk-dr32dt9y.js +1 -0
- package/dist/chunk-dv1vt080.js +1 -0
- package/dist/chunk-dz9sqfph.js +2 -0
- package/dist/chunk-e7mbewmw.js +1 -0
- package/dist/chunk-em03xqy9.js +1 -0
- package/dist/chunk-fkt5b511.js +1 -0
- package/dist/chunk-gphssgy6.js +2 -0
- package/dist/chunk-h2hk7vx4.js +1 -0
- package/dist/chunk-h7ypcqp3.js +279 -0
- package/dist/chunk-j8tq0e8m.js +2 -0
- package/dist/chunk-jd1razfg.js +91 -0
- package/dist/chunk-jhxvctg5.js +8 -0
- package/dist/chunk-kada5fyh.js +1 -0
- package/dist/chunk-kgc6ws03.js +1 -0
- package/dist/chunk-mk8ggmt8.js +17 -0
- package/dist/chunk-mv5m8bf4.js +140 -0
- package/dist/chunk-mv8a5svx.js +1 -0
- package/dist/chunk-n61yv4t5.js +2 -0
- package/dist/chunk-nt2yp4jh.js +1 -0
- package/dist/chunk-p7ew4trx.js +1 -0
- package/dist/chunk-pgnhcznr.js +4 -0
- package/dist/chunk-q8cfxky4.js +8 -0
- package/dist/chunk-q8zsxwd8.js +81 -0
- package/dist/chunk-qfa5v4n5.js +1 -0
- package/dist/chunk-qhzztj83.js +1 -0
- package/dist/chunk-snmkgfbe.js +15 -0
- package/dist/chunk-ss4bh5wb.js +2 -0
- package/dist/chunk-sv0k2v66.js +1 -0
- package/dist/chunk-tbav8trq.js +23 -0
- package/dist/chunk-tmyzfvsy.js +1 -0
- package/dist/chunk-ts4jreym.js +7 -0
- package/dist/chunk-tws3wcnm.js +2 -0
- package/dist/chunk-v0e9bsvt.js +89 -0
- package/dist/chunk-vwj4n000.js +4 -0
- package/dist/chunk-wd6s7gg7.js +175 -0
- package/dist/chunk-y524zd2h.js +54 -0
- package/dist/chunk-yb71zqvt.js +2 -0
- package/dist/chunk-yejgw2hm.js +112 -0
- package/dist/chunk-yfjs6pf8.js +3 -0
- package/dist/chunk-zhqdp4ak.js +2 -0
- package/dist/chunk-zkd3m39v.js +1 -0
- package/dist/cli.js +1 -3116
- package/dist/nonInteractive.js +180 -1950
- package/dist/zen-core.js +644 -0
- package/dist/zen-keyboard.js +3 -358
- package/package.json +5 -3
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import"./chunk-y524zd2h.js";import"./chunk-4eaqmt3c.js";import"./chunk-88w3txtb.js";import{uk as t}from"./chunk-v0e9bsvt.js";import"./chunk-jhxvctg5.js";import"./chunk-bk32cwxa.js";import"./chunk-qfa5v4n5.js";import"./chunk-0kfw8bwn.js";import{Bl as e}from"./chunk-78ksrp8v.js";import"./chunk-yb71zqvt.js";import"./chunk-4fs853nh.js";var a=e.object({content:e.string().min(1),status:e.enum(["pending","in_progress","completed"]),id:e.string()}),o=e.object({todos:e.array(a).describe("The updated todo list")}),s=t(async()=>{return"todo saved successfully"},{name:"todo_write",description:`Use this tool to create and manage a structured task list for your current coding session. This helps you track progress, organize complex tasks, and demonstrate thoroughness to the user.
|
|
2
|
+
It also helps the user understand the progress of the task and overall progress of their requests.
|
|
3
|
+
## When to Use This Tool
|
|
4
|
+
Use this tool proactively in these scenarios:
|
|
5
|
+
|
|
6
|
+
1. Complex multi-step tasks - When a task requires 3 or more distinct steps or actions
|
|
7
|
+
2. Non-trivial and complex tasks - Tasks that require careful planning or multiple operations
|
|
8
|
+
3. User explicitly requests todo list - When the user directly asks you to use the todo list
|
|
9
|
+
4. User provides multiple tasks - When users provide a list of things to be done (numbered or comma-separated)
|
|
10
|
+
5. After receiving new instructions - Immediately capture user requirements as todos
|
|
11
|
+
6. When you start working on a task - Mark it as in_progress BEFORE beginning work. Ideally you should only have one todo as in_progress at a time
|
|
12
|
+
7. After completing a task - Mark it as completed and add any new follow-up tasks discovered during implementation
|
|
13
|
+
|
|
14
|
+
## When NOT to Use This Tool
|
|
15
|
+
|
|
16
|
+
Skip using this tool when:
|
|
17
|
+
1. There is only a single, straightforward task
|
|
18
|
+
2. The task is trivial and tracking it provides no organizational benefit
|
|
19
|
+
3. The task can be completed in less than 3 trivial steps
|
|
20
|
+
4. The task is purely conversational or informational
|
|
21
|
+
|
|
22
|
+
NOTE that you should not use this tool if there is only one trivial task to do. In this case you are better off just doing the task directly.
|
|
23
|
+
|
|
24
|
+
## Examples of When to Use the Todo List
|
|
25
|
+
|
|
26
|
+
<example>
|
|
27
|
+
User: I want to add a dark mode toggle to the application settings. Make sure you run the tests and build when you're done!
|
|
28
|
+
Assistant: I'll help add a dark mode toggle to your application settings. Let me create a todo list to track this implementation.
|
|
29
|
+
*Creates todo list with the following items:*
|
|
30
|
+
1. Create dark mode toggle component in Settings page
|
|
31
|
+
2. Add dark mode state management (context/store)
|
|
32
|
+
3. Implement CSS-in-JS styles for dark theme
|
|
33
|
+
4. Update existing components to support theme switching
|
|
34
|
+
5. Run tests and build process, addressing any failures or errors that occur
|
|
35
|
+
*Begins working on the first task*
|
|
36
|
+
|
|
37
|
+
<reasoning>
|
|
38
|
+
The assistant used the todo list because:
|
|
39
|
+
1. Adding dark mode is a multi-step feature requiring UI, state management, and styling changes
|
|
40
|
+
2. The user explicitly requested tests and build be run afterward
|
|
41
|
+
3. The assistant inferred that tests and build need to pass by adding "Ensure tests and build succeed" as the final task
|
|
42
|
+
</reasoning>
|
|
43
|
+
</example>
|
|
44
|
+
|
|
45
|
+
<example>
|
|
46
|
+
User: Help me rename the function getCwd to getCurrentWorkingDirectory across my project
|
|
47
|
+
Assistant: Let me first search through your codebase to find all occurrences of 'getCwd'.
|
|
48
|
+
*Uses grep or search tools to locate all instances of getCwd in the codebase*
|
|
49
|
+
Assistant: I've found 15 instances of 'getCwd' across 8 different files. Let me create a todo list to track these changes.
|
|
50
|
+
*Creates todo list with specific items for each file that needs updating*
|
|
51
|
+
|
|
52
|
+
<reasoning>
|
|
53
|
+
The assistant used the todo list because:
|
|
54
|
+
1. First, the assistant searched to understand the scope of the task
|
|
55
|
+
2. Upon finding multiple occurrences across different files, it determined this was a complex task with multiple steps
|
|
56
|
+
3. The todo list helps ensure every instance is tracked and updated systematically
|
|
57
|
+
4. This approach prevents missing any occurrences and maintains code consistency
|
|
58
|
+
</reasoning>
|
|
59
|
+
</example>
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
<example>
|
|
63
|
+
User: I need to implement these features for my e-commerce site: user registration, product catalog, shopping cart, and checkout flow.
|
|
64
|
+
Assistant: I'll help implement these features. First, let's add all the features to the todo list.
|
|
65
|
+
*Creates a todo list breaking down each feature into specific tasks based on the project architecture*
|
|
66
|
+
Assistant: Let's start with user registration. This will involve creating database models, API endpoints, and frontend forms that integrate with your existing authentication system.
|
|
67
|
+
|
|
68
|
+
<reasoning>
|
|
69
|
+
The assistant used the todo list because:
|
|
70
|
+
1. The user provided multiple complex features to implement in a comma separated list
|
|
71
|
+
2. The todo list helps organize these large features into manageable tasks
|
|
72
|
+
3. This approach allows for tracking progress across the entire implementation
|
|
73
|
+
</reasoning>
|
|
74
|
+
</example>
|
|
75
|
+
|
|
76
|
+
<example>
|
|
77
|
+
User: Can you help optimize my React application? It's rendering slowly and has performance issues.</user>
|
|
78
|
+
Assistant: I'll help optimize your React application. First, let me examine your codebase to identify potential performance bottlenecks.
|
|
79
|
+
*Reviews component structure, render patterns, state management, and data fetching*
|
|
80
|
+
Assistant: After analyzing your codebase, I've identified several performance issues. Let me create a todo list to track our optimization efforts.
|
|
81
|
+
*Creates todo list with items like: 1) Implement memoization for expensive calculations in ProductList, 2) Add virtualization for long lists in Dashboard, 3) Optimize image loading in Gallery component, 4) Fix state update loops in ShoppingCart, 5) Review bundle size and implement code splitting*
|
|
82
|
+
Let's start by implementing memoization for the expensive calculations in your ProductList component.</assistant>
|
|
83
|
+
|
|
84
|
+
<reasoning>
|
|
85
|
+
The assistant used the todo list because:
|
|
86
|
+
1. First, the assistant examined the codebase to identify specific performance issues
|
|
87
|
+
2. Based on this analysis, it identified multiple optimization opportunities
|
|
88
|
+
3. Performance optimization is a non-trivial task requiring multiple steps
|
|
89
|
+
4. The todo list helps methodically track improvements across different components
|
|
90
|
+
5. This systematic approach ensures all performance bottlenecks are addressed
|
|
91
|
+
</reasoning>
|
|
92
|
+
</example>
|
|
93
|
+
|
|
94
|
+
## Examples of When NOT to Use the Todo List
|
|
95
|
+
|
|
96
|
+
<example>
|
|
97
|
+
User: How do I print 'Hello World' in Python?
|
|
98
|
+
Assistant: In Python, you can print "Hello World" with this simple code:
|
|
99
|
+
|
|
100
|
+
python
|
|
101
|
+
print("Hello World")
|
|
102
|
+
|
|
103
|
+
This will output the text "Hello World" to the console when executed.</assistant>
|
|
104
|
+
|
|
105
|
+
<reasoning>
|
|
106
|
+
The assistant did not use the todo list because this is a single, trivial task that can be completed in one step. There's no need to track multiple tasks or steps for such a straightforward request.
|
|
107
|
+
</reasoning>
|
|
108
|
+
</example>
|
|
109
|
+
|
|
110
|
+
<example>
|
|
111
|
+
User: What does the git status command do?
|
|
112
|
+
Assistant: The git status command shows the current state of your working directory and staging area. It displays which changes have been staged, which haven't, and which files aren't being tracked by Git. This is a fundamental command for understanding the current state of your repository before making commits.
|
|
113
|
+
|
|
114
|
+
<reasoning>
|
|
115
|
+
The assistant did not use the todo list because this is an informational request with no actual coding task to complete. The user is simply asking for an explanation, not for the assistant to perform multiple steps or tasks.
|
|
116
|
+
</reasoning>
|
|
117
|
+
</example>
|
|
118
|
+
|
|
119
|
+
<example>
|
|
120
|
+
User: Can you add a comment to the calculateTotal function to explain what it does?
|
|
121
|
+
Assistant: Sure, let me add a comment to the calculateTotal function to explain what it does.
|
|
122
|
+
* Uses the Edit tool to add a comment to the calculateTotal function *
|
|
123
|
+
|
|
124
|
+
<reasoning>
|
|
125
|
+
The assistant did not use the todo list because this is a single, straightforward task confined to one location in the code. Adding a comment doesn't require tracking multiple steps or systematic organization.
|
|
126
|
+
</reasoning>
|
|
127
|
+
</example>
|
|
128
|
+
|
|
129
|
+
<example>
|
|
130
|
+
User: Run npm install for me and tell me what happens.
|
|
131
|
+
Assistant: I'll run the npm install command for you.
|
|
132
|
+
|
|
133
|
+
*Executes: npm install*
|
|
134
|
+
|
|
135
|
+
The command completed successfully. Here's the output:
|
|
136
|
+
[Output of npm install command]
|
|
137
|
+
|
|
138
|
+
All dependencies have been installed according to your package.json file.
|
|
139
|
+
|
|
140
|
+
<reasoning>
|
|
141
|
+
The assistant did not use the todo list because this is a single command execution with immediate results. There are no multiple steps to track or organize, making the todo list unnecessary for this straightforward task.
|
|
142
|
+
</reasoning>
|
|
143
|
+
</example>
|
|
144
|
+
|
|
145
|
+
## Task States and Management
|
|
146
|
+
|
|
147
|
+
1. **Task States**: Use these states to track progress:
|
|
148
|
+
- pending: Task not yet started
|
|
149
|
+
- in_progress: Currently working on (limit to ONE task at a time)
|
|
150
|
+
- completed: Task finished successfully
|
|
151
|
+
|
|
152
|
+
2. **Task Management**:
|
|
153
|
+
- Update task status in real-time as you work
|
|
154
|
+
- Mark tasks complete IMMEDIATELY after finishing (don't batch completions)
|
|
155
|
+
- Only have ONE task in_progress at any time
|
|
156
|
+
- Complete current tasks before starting new ones
|
|
157
|
+
- Remove tasks that are no longer relevant from the list entirely
|
|
158
|
+
|
|
159
|
+
3. **Task Completion Requirements**:
|
|
160
|
+
- ONLY mark a task as completed when you have FULLY accomplished it
|
|
161
|
+
- If you encounter errors, blockers, or cannot finish, keep the task as in_progress
|
|
162
|
+
- When blocked, create a new task describing what needs to be resolved
|
|
163
|
+
- Never mark a task as completed if:
|
|
164
|
+
- Tests are failing
|
|
165
|
+
- Implementation is partial
|
|
166
|
+
- You encountered unresolved errors
|
|
167
|
+
- You couldn't find necessary files or dependencies
|
|
168
|
+
|
|
169
|
+
4. **Task Breakdown**:
|
|
170
|
+
- Create specific, actionable items
|
|
171
|
+
- Break complex tasks into smaller, manageable steps
|
|
172
|
+
- Use clear, descriptive task names
|
|
173
|
+
|
|
174
|
+
When in doubt, use this tool. Being proactive with task management demonstrates attentiveness and ensures you complete all requirements successfully.
|
|
175
|
+
`,schema:o});var m={name:"task",tools:[s]};export{m as taskMiddleware};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import{$f as R0,Of as C8,Pf as k,Qf as M,Rf as T,Sf as p,Tf as e0,Uf as R8,Yf as e,Zf as f0,_f as h,ag as D0,bg as w0,cg as h8}from"./chunk-4eaqmt3c.js";import{rg as C0}from"./chunk-88w3txtb.js";import{Gj as T0,Ij as s0,Kh as P,Ni as d0,Qi as o,Ri as V0,Tj as P0,Ui as b8,Uj as i,Vi as I0,Xh as q,Xj as K0,Yi as b0,Zj as x0,_h as g0,aj as D8,dj as X0,eh as E8,ej as O8,kk as n0,mi as u,mj as a,mk as f8,nj as W8,pj as P8,sj as E0,uj as L8,xj as z0,yh as i0,zj as F0}from"./chunk-v0e9bsvt.js";import{Lk as h0}from"./chunk-bk32cwxa.js";import{Qk as $}from"./chunk-qfa5v4n5.js";import{$k as K8,Bl as c}from"./chunk-78ksrp8v.js";var _0={openai:{package:"@langchain/openai",className:"ChatOpenAI"},anthropic:{package:"@langchain/anthropic",className:"ChatAnthropic"},azure_openai:{package:"@langchain/openai",className:"AzureChatOpenAI"},cohere:{package:"@langchain/cohere",className:"ChatCohere"},"google-vertexai":{package:"@langchain/google-vertexai",className:"ChatVertexAI"},"google-vertexai-web":{package:"@langchain/google-vertexai-web",className:"ChatVertexAI"},"google-genai":{package:"@langchain/google-genai",className:"ChatGoogleGenerativeAI"},ollama:{package:"@langchain/ollama",className:"ChatOllama"},mistralai:{package:"@langchain/mistralai",className:"ChatMistralAI"},mistral:{package:"@langchain/mistralai",className:"ChatMistralAI"},groq:{package:"@langchain/groq",className:"ChatGroq"},cerebras:{package:"@langchain/cerebras",className:"ChatCerebras"},bedrock:{package:"@langchain/aws",className:"ChatBedrockConverse"},deepseek:{package:"@langchain/deepseek",className:"ChatDeepSeek"},xai:{package:"@langchain/xai",className:"ChatXAI"},fireworks:{package:"@langchain/community/chat_models/fireworks",className:"ChatFireworks",hasCircularDependency:!0},together:{package:"@langchain/community/chat_models/togetherai",className:"ChatTogetherAI",hasCircularDependency:!0},perplexity:{package:"@langchain/community/chat_models/perplexity",className:"ChatPerplexity",hasCircularDependency:!0}},t0=Object.keys(_0);async function c8(X,Q){let Z;if(Q)Z=_0[Q];else{let Y=Object.entries(_0).find(([,J])=>J.className===X);Z=Y?Y[1]:void 0}if(!Z)return;try{return(await import(Z.package))[Z.className]}catch(Y){let J=Y;if("code"in J&&J.code?.toString().includes("ERR_MODULE_NOT_FOUND")&&"message"in J&&typeof J.message==="string"){let K=(J.message.startsWith("Error: ")?J.message.slice(7):J.message).split("Cannot find package '")[1].split("'")[0];throw Error(`Unable to import ${K}. Please install with \`npm install ${K}\` or \`pnpm install ${K}\``)}throw Y}}async function g8(X,Q,Z={}){let Y=Q||m8(X);if(!Y)throw Error(`Unable to infer model provider for { model: ${X} }, please specify modelProvider directly.`);let J=_0[Y];if(!J){let V=t0.join(", ");throw Error(`Unsupported { modelProvider: ${Y} }.
|
|
2
|
+
|
|
3
|
+
Supported model providers are: ${V}`)}let{modelProvider:K,...G}=Z;return new(await c8(J.className,Y))({model:X,...G})}function m8(X){if(X.startsWith("gpt-3")||X.startsWith("gpt-4")||X.startsWith("gpt-5")||X.startsWith("o1")||X.startsWith("o3")||X.startsWith("o4"))return"openai";else if(X.startsWith("claude"))return"anthropic";else if(X.startsWith("command"))return"cohere";else if(X.startsWith("accounts/fireworks"))return"fireworks";else if(X.startsWith("gemini"))return"google-vertexai";else if(X.startsWith("amazon."))return"bedrock";else if(X.startsWith("mistral"))return"mistralai";else if(X.startsWith("sonar")||X.startsWith("pplx"))return"perplexity";else return}var o0=class X extends C0{_llmType(){return"chat_model"}lc_namespace=["langchain","chat_models"];_defaultConfig={};_configurableFields="any";_configPrefix;_queuedMethodOperations={};_modelInstanceCache=new Map;_profile;constructor(Q){super(Q);if(this._defaultConfig=Q.defaultConfig??{},Q.configurableFields==="any")this._configurableFields="any";else this._configurableFields=Q.configurableFields??["model","modelProvider"];if(Q.configPrefix)this._configPrefix=Q.configPrefix.endsWith("_")?Q.configPrefix:`${Q.configPrefix}_`;else this._configPrefix="";this._queuedMethodOperations=Q.queuedMethodOperations??this._queuedMethodOperations,this._profile=Q.profile??void 0}async _getModelInstance(Q){let Z=this._getCacheKey(Q),Y=this._modelInstanceCache.get(Z);if(Y)return Y;let J={...this._defaultConfig,...this._modelParams(Q)},K=await g8(J.model,J.modelProvider,J);for(let[G,V]of Object.entries(this._queuedMethodOperations))if(G in K&&typeof K[G]==="function")K=await K[G](...V);return this._modelInstanceCache.set(Z,K),K}async _generate(Q,Z,Y){return(await this._getModelInstance(Z))._generate(Q,Z??{},Y)}bindTools(Q,Z){let Y={...this._queuedMethodOperations};return Y.bindTools=[Q,Z],new X({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:Y})}withStructuredOutput=(Q,...Z)=>{let Y={...this._queuedMethodOperations};return Y.withStructuredOutput=[Q,...Z],new X({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:Y})};_modelParams(Q){let Z=Q?.configurable??{},Y={};for(let[J,K]of Object.entries(Z))if(J.startsWith(this._configPrefix)){let G=this._removePrefix(J,this._configPrefix);Y[G]=K}if(this._configurableFields!=="any")Y=Object.fromEntries(Object.entries(Y).filter(([J])=>this._configurableFields.includes(J)));return Y}_removePrefix(Q,Z){return Q.startsWith(Z)?Q.slice(Z.length):Q}withConfig(Q){let Z={...Q||{}},Y=this._modelParams(Z),J=Object.fromEntries(Object.entries(Z).filter(([K])=>K!=="configurable"));return J.configurable=Object.fromEntries(Object.entries(Z.configurable||{}).filter(([K])=>this._configPrefix&&!Object.keys(Y).includes(this._removePrefix(K,this._configPrefix)))),new i({config:Z,bound:new X({defaultConfig:{...this._defaultConfig,...Y},configurableFields:Array.isArray(this._configurableFields)?[...this._configurableFields]:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:this._queuedMethodOperations})})}async invoke(Q,Z){let Y=await this._getModelInstance(Z),J=V0(Z);return Y.invoke(Q,J)}async stream(Q,Z){let Y=new s0({generator:await(await this._getModelInstance(Z)).stream(Q,Z),config:Z});return await Y.setup,T0.fromAsyncGenerator(Y)}async batch(Q,Z,Y){return super.batch(Q,Z,Y)}async*transform(Q,Z){let Y=await this._getModelInstance(Z),J=V0(Z);yield*Y.transform(Q,J)}async*streamLog(Q,Z,Y){let J=await this._getModelInstance(Z),K=V0(Z);yield*J.streamLog(Q,K,{...Y,_schemaFormat:"original",includeNames:Y?.includeNames,includeTypes:Y?.includeTypes,includeTags:Y?.includeTags,excludeNames:Y?.excludeNames,excludeTypes:Y?.excludeTypes,excludeTags:Y?.excludeTags})}streamEvents(Q,Z,Y){let J=this;async function*K(){let G=await J._getModelInstance(Z),V=V0(Z),U=G.streamEvents(Q,V,Y);for await(let W of U)yield W}return T0.fromAsyncGenerator(K())}get profile(){if(this._profile)return this._profile;let Q=this._getCacheKey({});return this._modelInstanceCache.get(Q)?.profile??{}}_getCacheKey(Q){let Z=Q??{};if(Z.configurable){let{configurable:Y}=Z,J={};for(let[K,G]of Object.entries(Y))if(!K.startsWith("__pregel_"))J[K]=G;Z={...Z,configurable:J}}return JSON.stringify(Z)}};async function s(X,Q){let{configurableFields:Z,configPrefix:Y,modelProvider:J,profile:K,...G}={configPrefix:"",...Q??{}};if(J===void 0&&X?.includes(":")){let[z,...F]=X.split(":"),j=F.length===0?[z]:[z,F.join(":")];if(t0.includes(j[0]))[J,X]=j}let V=Array.isArray(Z)?[...Z]:Z;if(!X&&V===void 0)V=["model","modelProvider"];if(Y&&V===void 0)console.warn(`{ configPrefix: ${Y} } has been set but no fields are configurable. Set { configurableFields: [...] } to specify the model params that are configurable.`);let U={...G},W;if(V===void 0)W=new o0({defaultConfig:{...U,model:X,modelProvider:J},configPrefix:Y,profile:K});else{if(X)U.model=X;if(J)U.modelProvider=J;W=new o0({defaultConfig:U,configPrefix:Y,configurableFields:V,profile:K})}return await W._getModelInstance(),W}var H0=class extends Error{constructor(){super("The provided LLM already has bound tools. Please provide an LLM without bound tools to createAgent. The agent will bind the tools provided in the 'tools' parameter.")}},U0=class extends Error{toolNames;constructor(X){super(`The model has called multiple tools: ${X.join(", ")} to return a structured output. This is not supported. Please provide a single structured output.`);this.toolNames=X}},v0=class extends Error{toolName;errors;constructor(X,Q){super(`Failed to parse structured output for tool '${X}':${Q.map((Z)=>`
|
|
4
|
+
- ${Z}`).join("")}.`);this.toolName=X,this.errors=Q}},B0=class extends Error{toolCall;toolError;constructor(X,Q){let Z=X instanceof Error?X:Error(String(X)),Y=JSON.stringify(Q.args);super(`Error invoking tool '${Q.name}' with kwargs ${Y} with error: ${Z.stack}
|
|
5
|
+
Please fix the error and try again.`);this.toolCall=Q,this.toolError=Z}},Z0=class X extends Error{static "~brand"="MiddlewareError";constructor(Q,Z){let Y=Q instanceof Error?Q.message:String(Q);super(Y);if(this.name=Q instanceof Error?Q.name:`${Z[0].toUpperCase()+Z.slice(1)}Error`,Q instanceof Error)this.cause=Q}static wrap(Q,Z){if(e0(Q))return Q;return new X(Q,Z)}static isInstance(Q){return Q instanceof Error&&"~brand"in Q&&Q["~brand"]==="MiddlewareError"}};function j0(X){return"invoke"in X&&typeof X.invoke==="function"&&"_streamResponseChunks"in X}function J0(X){return typeof X==="object"&&X!=null&&"_queuedMethodOperations"in X&&"_getModelInstance"in X&&typeof X._getModelInstance==="function"}var X8=!0,d8=0,f=class X{constructor(Q,Z,Y){this.schema=Q,this.tool=Z,this.options=Y}get name(){return this.tool.function.name}static fromSchema(Q,Z){function Y(K){return K??`extract-${++d8}`}if(z0(Q)||b0(Q)){let K=F0(Q);return new X(K,{type:"function",function:{name:Y(K.title),strict:!1,description:K.description??"Tool for extracting structured output from the model's response.",parameters:K}},Z)}let J;if(typeof Q.name==="string"&&typeof Q.parameters==="object"&&Q.parameters!=null)J=Q;else J={name:Y(Q.title),description:Q.description??"",parameters:Q.schema||Q};return new X(F0(Q),{type:"function",function:J},Z)}parse(Q){let Z=new h0(this.schema).validate(Q);if(!Z.valid)throw new v0(this.name,Z.errors.map((Y)=>Y.error));return Q}},r=class X{_schemaType;schema;strict;constructor(Q,Z){if("schema"in Q&&typeof Q.schema==="object"&&Q.schema!==null&&!("type"in Q)){let Y=Q;this.schema=Y.schema,this.strict=Y.strict??X8}else this.schema=Q,this.strict=Z??X8}static fromSchema(Q,Z){return new X(F0(Q),Z)}parse(Q){let Z;if(typeof Q.content==="string")Z=Q.content;else if(Array.isArray(Q.content)){for(let Y of Q.content)if(typeof Y==="object"&&Y!==null&&"type"in Y&&Y.type==="text"&&"text"in Y&&typeof Y.text==="string"){Z=Y.text;break}}if(!Z||Z==="")return;try{let Y=JSON.parse(Z);if(!new h0(this.schema).validate(Y).valid)return;return Y}catch{}}};function Y8(X,Q,Z){if(!X)return[];if(typeof X==="object"&&X!==null&&"__responseFormatUndefined"in X)return[];if(Array.isArray(X)){if(X.every((J)=>J instanceof f||J instanceof r))return X;if(X.every((J)=>z0(J)))return X.map((J)=>f.fromSchema(J,Q));if(X.every((J)=>a(J)))return X.map((J)=>f.fromSchema(J,Q));if(X.every((J)=>typeof J==="object"&&J!==null&&!a(J)&&!z0(J)))return X.map((J)=>f.fromSchema(J,Q));throw Error(`Invalid response format: list contains mixed types.
|
|
6
|
+
All items must be either InteropZodObject, Standard Schema, or plain JSON schema objects.`)}if(X instanceof f||X instanceof r)return[X];let Y=Z8(Z);if(z0(X))return Y?[r.fromSchema(X)]:[f.fromSchema(X,Q)];if(a(X))return Y?[r.fromSchema(X)]:[f.fromSchema(X,Q)];if(typeof X==="object"&&X!==null&&"properties"in X)return Y?[r.fromSchema(X)]:[f.fromSchema(X,Q)];throw Error(`Invalid response format: ${String(X)}`)}var i8=["ChatOpenAI","ChatXAI"],Q8=["grok","gpt-5","gpt-4.1","gpt-4o","gpt-oss","o3-pro","o3-mini"];function Z8(X){if(!X)return!1;if(typeof X==="string"){let Z=X.split(":").pop();return Q8.some((Y)=>Z.includes(Y))}if(J0(X))return Z8(X._defaultConfig.model);if(!j0(X))return!1;let Q=X.getName();if(Q==="FakeToolCallingChatModel")return!0;if(i8.includes(Q)&&(("model"in X)&&Q8.some((Z)=>typeof X.model==="string"&&X.model.includes(Z))||Q==="FakeToolCallingModel"&&("structuredResponse"in X)))return!0;return!1}function n(X){if(!X||typeof X==="function")return;return X.canJumpTo}function t(X){if(typeof X==="function")return X;return X.hook}var O0=Symbol.for("AgentMiddleware");function S(X){return{[O0]:!0,name:X.name,stateSchema:X.stateSchema,contextSchema:X.contextSchema,wrapToolCall:X.wrapToolCall,wrapModelCall:X.wrapModelCall,beforeAgent:X.beforeAgent,beforeModel:X.beforeModel,afterModel:X.afterModel,afterAgent:X.afterAgent,tools:X.tools}}var M0=Symbol.for("langgraph-zod");if(!(M0 in globalThis))globalThis[M0]=new WeakSet;function J8(X){let Q=globalThis[M0];if(Q.has(X))return;Object.defineProperty(X,"langgraph",{get(){let Z=this;return{metadata(Y){return w0(Z,{jsonSchemaExtra:Y})},reducer(Y,J){return w0(Z,{default:E0(Z),reducer:{schema:J,fn:Y}})}}}}),Q.add(X)}try{J8($.ZodType.prototype),J8(c.ZodType.prototype)}catch(X){throw Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.",{cause:X})}var $8=class extends K8{constructor(X){super();this.parent=X,this._map=this.parent._map}add(X,...Q){let Z=Q[0];if(Z&&!Z?.default){let Y=E0(X);if(Y!=null)Z.default=Y}return super.add(X,...Q)}},l8=new $8(D0);function G8(X=!0,Q,Z=[]){let Y={jumpTo:new f0},J={},K={},G=(V)=>{if(h.isInstance(V)){for(let[W,z]of Object.entries(V.fields))if(!(W in Y)){if(Y[W]=z,W.startsWith("_"))continue;if(e.isInstance(z))J[W]=z.inputSchema||z.valueSchema,K[W]=z.valueSchema;else J[W]=z,K[W]=z}return}let U=W8(V);for(let[W,z]of Object.entries(U)){let F=W.startsWith("_");if(!(W in Y)){if(I0(z)){let j=D0.get(z);if(j?.reducer){if(j.reducer.schema){if(Y[W]=new e(z,{inputSchema:j.reducer.schema,reducer:j.reducer.fn}),!F)J[W]=j.reducer.schema,K[W]=z}else if(Y[W]=new e(z,{reducer:j.reducer.fn}),!F)J[W]=z,K[W]=z;continue}}if(Y[W]=z,!F)J[W]=z,K[W]=z}}};if(Q&&(h.isInstance(Q)||a(Q)))G(Q);for(let V of Z)if(V.stateSchema&&(h.isInstance(V.stateSchema)||a(V.stateSchema)))G(V.stateSchema);if(X)K.structuredResponse=new f0;return{state:new h({messages:R0,...Y}),input:new h({messages:R0,...J}),output:new h({messages:R0,...K})}}var u0=/<name>(.*?)<\/name>/s,p0=/<content>(.*?)<\/content>/s;function r8(X,Q){if(h.isInstance(X)){let Z={};for(let Y of Object.keys(X.fields))if(Y in Q)Z[Y]=Q[Y];return Z}if(b0(X))return X0(X,Q);throw Error(`Invalid state schema type: ${typeof X}`)}function H8(X){if(!q.isInstance(X)||g0.isInstance(X))return X;if(!X.name)return X;let{name:Q}=X;if(typeof X.content==="string")return new q({...X.lc_kwargs,content:`<name>${Q}</name><content>${X.content}</content>`,name:void 0});let Z=[],Y=0;for(let J of X.content)if(typeof J==="string")Y+=1,Z.push(`<name>${Q}</name><content>${J}</content>`);else if(typeof J==="object"&&"type"in J&&J.type==="text")Y+=1,Z.push({...J,text:`<name>${Q}</name><content>${J.text}</content>`});else Z.push(J);if(!Y)Z.unshift({type:"text",text:`<name>${Q}</name><content></content>`});return new q({...X.lc_kwargs,content:Z,name:void 0})}function U8(X){if(!q.isInstance(X)||!X.content)return X;let Q=[],Z;if(Array.isArray(X.content))Q=X.content.filter((Y)=>{if(Y.type==="text"&&typeof Y.text==="string"){let J=Y.text.match(u0),K=Y.text.match(p0);if(J&&(!K||K[1]===""))return Z=J[1],!1;return!0}return!0}).map((Y)=>{if(Y.type==="text"&&typeof Y.text==="string"){let J=Y.text.match(u0),K=Y.text.match(p0);if(!J||!K)return Y;return Z=J[1],{...Y,text:K[1]}}return Y});else{let Y=X.content,J=Y.match(u0),K=Y.match(p0);if(!J||!K)return X;Z=J[1],Q=K[1]}return new q({...Object.keys(X.lc_kwargs??{}).length>0?X.lc_kwargs:X,content:Q,name:Z})}function $0(X){return P0.isRunnable(X)}function V8(X){if(!j0(X))return!1;return"bindTools"in X&&typeof X.bindTools==="function"}var c0=(X,Q,Z={})=>{if(V8(X))return X.bindTools(Q,Z);if(i.isRunnableBinding(X)&&V8(X.bound)){let Y=X.bound.bindTools(Q,Z);if(i.isRunnableBinding(Y))return new i({bound:Y.bound,config:{...X.config,...Y.config},kwargs:{...X.kwargs,...Y.kwargs},configFactories:Y.configFactories??X.configFactories});return new i({bound:Y,config:X.config,kwargs:X.kwargs,configFactories:X.configFactories})}return null};function k0(X){if(typeof X==="function")return;let Q=X;if(K0.isRunnableSequence(Q))Q=Q.steps.find((Z)=>i.isRunnableBinding(Z))||Q;if(J0(Q))return;if(i.isRunnableBinding(Q)){let Z=Q.kwargs!=null&&typeof Q.kwargs==="object"&&"tools"in Q.kwargs&&Array.isArray(Q.kwargs.tools)&&Q.kwargs.tools.length>0,Y=Q.config!=null&&typeof Q.config==="object"&&"tools"in Q.config&&Array.isArray(Q.config.tools)&&Q.config.tools.length>0;if(Z||Y)throw new H0}if("tools"in Q&&Q.tools!==void 0&&Array.isArray(Q.tools)&&Q.tools.length>0)throw new H0}function m0(X){return Boolean(q.isInstance(X)&&X.tool_calls&&X.tool_calls.length>0)}function B8(X){if(X==null)return new u("");if(u.isInstance(X))return X;if(typeof X==="string")return new u({content:[{type:"text",text:X}]});throw Error(`Invalid systemPrompt type: expected string or SystemMessage, got ${typeof X}`)}async function j8(X,Q,Z={}){let Y=c0(X,Q,Z);if(Y)return Y;if(J0(X)){let J=c0(await X._getModelInstance(),Q,Z);if(J)return J}if(K0.isRunnableSequence(X)){let J=X.steps.findIndex((K)=>i.isRunnableBinding(K)||j0(K)||J0(K));if(J>=0){let K=c0(X.steps[J],Q,Z);if(K){let G=X.steps.slice();return G.splice(J,1,K),K0.from(G)}}}throw Error(`llm ${X} must define bindTools method.`)}function a8(X){if(X.length===0)return;if(X.length===1)return X[0];function Q(Y,J){return async(K,G)=>{return Y(K,async(U)=>{return J(U,G)})}}let Z=X[X.length-1];for(let Y=X.length-2;Y>=0;Y--)Z=Q(X[Y],Z);return Z}function z8(X){let Q=X.filter((Z)=>Z.wrapToolCall);if(Q.length===0)return;return a8(Q.map((Z)=>{let Y=Z.wrapToolCall;return async(K,G)=>{let V=K.state,U=async(W)=>{let z={...V,...W.state};return G({...W,state:z})};try{let W=await Y({...K,state:{messages:V.messages,...Z.stateSchema?r8(Z.stateSchema,{...V}):{}}},U);if(!P.isInstance(W)&&!p(W))throw Error(`Invalid response from "wrapToolCall" in middleware "${Z.name}": expected ToolMessage or Command, got ${typeof W}`);return W}catch(W){throw Z0.wrap(W,Z.name)}}}))}async function q8(X,Q){let Z={};for(let Y of X){if(!Y.stateSchema)continue;let J=Y.stateSchema;if(h.isInstance(Y.stateSchema)){let V={};for(let[U,W]of Object.entries(Y.stateSchema.fields))if(e.isInstance(W))V[U]=W.inputSchema||W.valueSchema;else V[U]=W;J=c.object(V)}let K=await D8(L8(J,(V)=>V.startsWith("_")),Q);if(K.success){Object.assign(Z,K.data);continue}let G=K.error.issues.filter((V)=>V.code==="invalid_type").map((V)=>` - ${V.path.join(".")}: Required`).join(`
|
|
7
|
+
`);throw Error(`Middleware "${Y.name}" has required state fields that must be initialized:
|
|
8
|
+
${G}
|
|
9
|
+
|
|
10
|
+
To fix this, either:
|
|
11
|
+
1. Provide default values in your middleware's state schema using .default():
|
|
12
|
+
stateSchema: z.object({
|
|
13
|
+
myField: z.string().default("default value")
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
2. Or make the fields optional using .optional():
|
|
17
|
+
stateSchema: z.object({
|
|
18
|
+
myField: z.string().optional()
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
3. Or ensure you pass these values when invoking the agent:
|
|
22
|
+
agent.invoke({
|
|
23
|
+
messages: [...],
|
|
24
|
+
${K.error.issues[0]?.path.join(".")}: "value"
|
|
25
|
+
})`)}return Z}function _8(X){let Q={messages:c.custom(()=>[]),structuredResponse:c.any().optional()};if(!X)return c.object(Q);let Z;if(h.isInstance(X)){Z={};for(let[J,K]of Object.entries(X.fields))if(e.isInstance(K))Z[J]=K.inputSchema||K.valueSchema;else Z[J]=K}else Z=X.shape;let Y={...Q};for(let[J,K]of Object.entries(Z))if(J.startsWith("_"))Y[J]=K.optional();else Y[J]=K;return c.object(Y)}function v8(X){if(a(X))return P8(X);if(h.isInstance(X)){let Q={};for(let[Z,Y]of Object.entries(X.fields)){let J;if(e.isInstance(Y))J=Y.inputSchema||Y.valueSchema;else J=Y;Q[Z]=I0(J)?J.optional():c.any().optional()}return c.object(Q)}return c.object({})}function g(X){if(!X)return;if(["model_request","tools",k].includes(X))return X;if(X==="model")return"model_request";if(X==="tools")return"tools";if(X==="end")return k;throw Error(`Invalid jump target: ${X}, must be "model", "tools" or "end".`)}function y0(...X){return AbortSignal.any(X.filter((Q)=>Q!==null&&Q!==void 0&&typeof Q==="object"&&("aborted"in Q)&&typeof Q.aborted==="boolean"))}var W0=class extends P0{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;#X;constructor(X){super();this.name=X.name??X.func.name,this.func=X.func,this.config=X.tags?{tags:X.tags}:void 0,this.recurse=X.recurse??this.recurse}getState(){return this.#X}setState(X){this.#X={...this.#X,...X}}async invoke(X,Q){let Z=o(this.config,Q),Y=await d0.runWithConfig(Z,async()=>this.func(X,Z));if(P0.isRunnable(Y)&&this.recurse)return await d0.runWithConfig(Z,async()=>Y.invoke(X,Z));return this.#X=Y,Y}};function F8(X,Q){let Z,Y;if(Q==="inline")Z=H8,Y=U8;else throw Error(`Invalid agent name mode: ${Q}. Needs to be one of: "inline"`);function J(K){return K.map(Z)}return K0.from([x0.from(J),X,x0.from(Y)])}function o8(X){return q.isInstance(X)||p(X)||typeof X==="object"&&X!==null&&"structuredResponse"in X&&"messages"in X}var y="model_request",x8=class extends W0{#X;#Z;constructor(X){super({name:X.name??"model",func:(Q,Z)=>this.#Q(Q,Z)});this.#X=X,this.#Z=X.systemMessage}#J(X){if(!this.#X.responseFormat)return;let Q=Y8(this.#X.responseFormat,void 0,X);if(!Q.every((Z)=>Z instanceof r))return{type:"tool",tools:Q.filter((Z)=>Z instanceof f).reduce((Z,Y)=>{return Z[Y.name]=Y,Z},{})};return{type:"native",strategy:Q[0]}}async#Q(X,Q){let Z=X.messages.at(-1);if(Z&&P.isInstance(Z)&&Z.name&&this.#X.shouldReturnDirect.has(Z.name))return[new T({update:{messages:[]}})];let{response:Y,lastAiMessage:J,collectedCommands:K}=await this.#$(X,Q);if(typeof Y==="object"&&Y!==null&&"structuredResponse"in Y&&"messages"in Y){let{structuredResponse:U,messages:W}=Y;return{messages:[...X.messages,...W],structuredResponse:U}}let G=[],V=q.isInstance(Y)?Y:J;if(V)if(V.name=this.name,V.lc_kwargs.name=this.name,this.#K(X,V))G.push(new T({update:{messages:[new q({content:"Sorry, need more steps to process this request.",name:this.name,id:V.id})]}}));else G.push(new T({update:{messages:[V]}}));if(p(Y)&&!K.includes(Y))G.push(Y);return G.push(...K),G}#Y(){if(typeof this.#X.model==="string")return s(this.#X.model);if(this.#X.model)return this.#X.model;throw Error("No model option was provided, either via `model` option.")}async#$(X,Q,Z={}){let Y=await this.#Y(),J=Q,K=this.#Z,G=null,V=[],U=async(j)=>{k0(j.model);let B=this.#J(j.model),A=await this.#H(j.model,j,B),E=[...K.text===""?[]:[K],...j.messages],_=y0(this.#X.signal,Q.signal),R=await b8(A.invoke(E,{...Q,signal:_}),_);if(G=R,B?.type==="native"){let C=B.strategy.parse(R);if(C)return{structuredResponse:C,messages:[R]};return R}if(!B||!R.tool_calls)return R;let O=R.tool_calls.filter((C)=>(C.name in B.tools));if(O.length===0)return R;if(O.length>1)return this.#G(R,O,B);let m=B.tools[O[0].name]?.options?.toolMessageContent;return this.#V(R,O[0],B,m??Z.lastMessage)},W=this.#X.wrapModelCallHookMiddleware??[],z=U;for(let j=W.length-1;j>=0;j--){let[B,A]=W[j];if(B.wrapModelCall){let E=z,_=B,R=A;z=async(O)=>{let m=K,C=_.contextSchema?X0(_.contextSchema,J?.context||{}):J?.context,d=Object.freeze({context:C,store:J.store,configurable:J.configurable,writer:J.writer,interrupt:J.interrupt,signal:J.signal}),N={...O,state:{...B.stateSchema?X0(v8(B.stateSchema),X):{},...R(),messages:X.messages},runtime:d},G0=async(H)=>{K=m;let L=H.tools??[],w=L.filter((l)=>$0(l)&&!this.#X.toolClasses.some((S0)=>S0.name===l.name));if(w.length>0)throw Error(`You have added a new tool in "wrapModelCall" hook of middleware "${_.name}": ${w.map((l)=>l.name).join(", ")}. This is not supported.`);let b=L.filter((l)=>$0(l)&&this.#X.toolClasses.every((S0)=>S0!==l));if(b.length>0)throw Error(`You have modified a tool in "wrapModelCall" hook of middleware "${_.name}": ${b.map((l)=>l.name).join(", ")}. This is not supported.`);let I=H,D=H.systemPrompt!==K.text,v=H.systemMessage!==K;if(D&&v)throw Error("Cannot change both systemPrompt and systemMessage in the same request.");if(D)K=new u({content:[{type:"text",text:H.systemPrompt}]}),I={...H,systemPrompt:K.text,systemMessage:K};if(v)K=new u({...H.systemMessage}),I={...H,systemPrompt:K.text,systemMessage:K};let q0=await E(I);if(p(q0)&&G){if(!V.includes(q0))V.push(q0);return G}return q0};if(!_.wrapModelCall)return G0(N);try{let H=await _.wrapModelCall(N,G0);if(!o8(H))throw Error(`Invalid response from "wrapModelCall" in middleware "${_.name}": expected AIMessage or Command, got ${typeof H}`);if(q.isInstance(H))G=H;else if(p(H))V.push(H);return H}catch(H){throw Z0.wrap(H,_.name)}}}}K=this.#Z;let F={model:Y,systemPrompt:K?.text,systemMessage:K,messages:X.messages,tools:this.#X.toolClasses,state:X,runtime:Object.freeze({context:J?.context,store:J.store,configurable:J.configurable,writer:J.writer,interrupt:J.interrupt,signal:J.signal})};return{response:await z(F),lastAiMessage:G,collectedCommands:V}}#G(X,Q,Z){let Y=new U0(Q.map((J)=>J.name));return this.#W(Y,X,Q[0],Z)}#V(X,Q,Z,Y){let J=Z.tools[Q.name];try{let K=J.parse(Q.args);return{structuredResponse:K,messages:[X,new P({tool_call_id:Q.id??"",content:JSON.stringify(K),name:Q.name}),new q(Y??`Returning structured response: ${JSON.stringify(K)}`)]}}catch(K){return this.#W(K,X,Q,Z)}}async#W(X,Q,Z,Y){let J=Object.values(Y.tools).at(0)?.options?.handleError,K=Z.id;if(!K)throw Error("Tool call ID is required to handle tool output errors. Please provide a tool call ID.");if(J===!1)throw X;if(J===void 0||typeof J==="boolean"&&J||Array.isArray(J)&&J.some((G)=>G instanceof U0))return new T({update:{messages:[Q,new P({content:X.message,tool_call_id:K})]},goto:y});if(typeof J==="string")return new T({update:{messages:[Q,new P({content:J,tool_call_id:K})]},goto:y});if(typeof J==="function"){let G=await J(X);if(typeof G!=="string")throw Error("Error handler must return a string.");return new T({update:{messages:[Q,new P({content:G,tool_call_id:K})]},goto:y})}return new T({update:{messages:[Q,new P({content:X.message,tool_call_id:K})]},goto:y})}#K(X,Q){let Z=q.isInstance(Q)&&Q.tool_calls?.every((J)=>this.#X.shouldReturnDirect.has(J.name)),Y="remainingSteps"in X?X.remainingSteps:void 0;return Boolean(Y&&(Y<1&&Z||Y<2&&m0(X.messages.at(-1))))}async#H(X,Q,Z){let Y={},J=Object.values(Z&&"tools"in Z?Z.tools:{}),K=[...Q?.tools??this.#X.toolClasses,...J.map((U)=>U.tool)],G=Q?.toolChoice||(J.length>0?"any":void 0);if(Z?.type==="native"){let U=Q?.modelSettings?.strict??Z?.strategy?.strict??!0,W={name:Z.strategy.schema?.name??"extract",description:O8(Z.strategy.schema),schema:Z.strategy.schema,strict:U};Object.assign(Y,{response_format:{type:"json_schema",json_schema:W},outputConfig:{format:{type:"json_schema",schema:Z.strategy.schema}},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:Z.strategy.schema},strict:U})}let V=await j8(X,K,{...Y,...Q?.modelSettings,tool_choice:G});return this.#X.includeAgentName==="inline"?F8(V,this.#X.includeAgentName):V}getState(){let X=super.getState();return{messages:[],...X&&!p(X)?X:{}}}};var w8=(X,Q)=>`Error: ${X} is not a valid tool, try one of [${Q.join(", ")}].`,x="tools",I8=(X)=>Array.isArray(X)&&X.every(i0.isInstance),s8=(X)=>typeof X==="object"&&X!=null&&("messages"in X)&&I8(X.messages),t8=(X)=>typeof X==="object"&&X!=null&&("lg_tool_call"in X);function e8(X,Q){if(X instanceof B0)return new P({content:X.message,tool_call_id:Q.id,name:Q.name});return new P({content:`${X}
|
|
26
|
+
Please fix your mistakes.`,tool_call_id:Q.id,name:Q.name})}var k8=class extends W0{tools;trace=!1;signal;handleToolErrors=e8;wrapToolCall;constructor(X,Q){let{name:Z,tags:Y,handleToolErrors:J,signal:K,wrapToolCall:G}=Q??{};super({name:Z,tags:Y,func:(V,U)=>this.run(V,U)});this.options=Q,this.tools=X,this.handleToolErrors=J??this.handleToolErrors,this.signal=K,this.wrapToolCall=G}#X(X,Q,Z){if(R8(X))throw X;if(this.signal?.aborted)throw X;if(Z&&this.handleToolErrors!==!0)throw X;if(!this.handleToolErrors)throw X;if(typeof this.handleToolErrors==="function"){let Y=this.handleToolErrors(X,Q);if(Y&&P.isInstance(Y))return Y;throw X}else if(this.handleToolErrors)return new P({name:Q.name,content:`${X}
|
|
27
|
+
Please fix your mistakes.`,tool_call_id:Q.id});throw X}async runTool(X,Q,Z){let Y=Q,J={context:Y?.context,writer:Y?.writer,interrupt:Y?.interrupt,signal:Y?.signal},K=this.tools.find((U)=>U.name===X.name),G=async(U)=>{let{toolCall:W,tool:z}=U,F=z??this.tools.find((B)=>B.name===W.name);if(F===void 0){let B=this.tools.map((A)=>A.name);return new P({content:w8(W.name,B),tool_call_id:W.id,name:W.name,status:"error"})}let j=F;try{let B=await j.invoke({...W,type:"tool_call"},{...Q,config:Q,toolCallId:W.id,state:Q.configurable?.__pregel_scratchpad?.currentTaskInput,signal:y0(this.signal,Q.signal)});if(P.isInstance(B)||p(B))return B;return new P({name:j.name,content:typeof B==="string"?B:JSON.stringify(B),tool_call_id:W.id})}catch(B){if(B instanceof E8)throw new B0(B,W);throw B}},V={toolCall:X,tool:K,state:Z,runtime:J};if(this.wrapToolCall)try{return await this.wrapToolCall(V,G)}catch(U){return this.#X(U,X,!0)}if(!K){let U=this.tools.map((W)=>W.name);return new P({content:w8(X.name,U),tool_call_id:X.id,name:X.name,status:"error"})}try{return await G(V)}catch(U){return this.#X(U,X,!1)}}async run(X,Q){let Z;if(t8(X)){let{lg_tool_call:K,jumpTo:G,...V}=X;Z=[await this.runTool(X.lg_tool_call,Q,V)]}else{let K;if(I8(X))K=X;else if(s8(X))K=X.messages;else throw Error("ToolNode only accepts BaseMessage[] or { messages: BaseMessage[] } as input.");let G=new Set(K.filter((U)=>U.getType()==="tool").map((U)=>U.tool_call_id)),V;for(let U=K.length-1;U>=0;U-=1){let W=K[U];if(q.isInstance(W)){V=W;break}}if(!q.isInstance(V))throw Error("ToolNode only accepts AIMessages as input.");Z=await Promise.all(V.tool_calls?.filter((U)=>U.id==null||!G.has(U.id)).map((U)=>this.runTool(U,Q,X))??[])}if(!Z.some(p))return Array.isArray(X)?Z:{messages:Z};let Y=[],J=null;for(let K of Z)if(p(K))if(K.graph===T.PARENT&&Array.isArray(K.goto)&&K.goto.every((G)=>X6(G)))if(J)J.goto.push(...K.goto);else J=new T({graph:T.PARENT,goto:K.goto});else Y.push(K);else Y.push(Array.isArray(X)?[K]:{messages:[K]});if(J)Y.push(J);return Y}};function X6(X){return X instanceof M}var Q6=class{},Y6=class{},Q0=class extends W0{#X;constructor(X,Q){super(X);this.#X=Q}async invokeMiddleware(X,Q){let Z={};if(this.middleware.contextSchema){let U=this.middleware.contextSchema?.shape;if(U){let W={},z=Q?.context||{};for(let F of Object.keys(U))if(F in z)W[F]=z[F];Z=X0(this.middleware.contextSchema,W)}}let Y={...this.#X.getState(),...X,messages:X.messages},J={context:Z,store:Q?.store,configurable:Q?.configurable,writer:Q?.writer,interrupt:Q?.interrupt,signal:Q?.signal},K=await this.runHook(Y,Object.freeze(Object.assign(new Y6,{...J,context:Object.freeze(Object.assign(new Q6,Z))})));if(!K)return{jumpTo:void 0};let G,V;if(this.name?.startsWith("BeforeAgentNode_"))G=n(this.middleware.beforeAgent),V="beforeAgent.canJumpTo";else if(this.name?.startsWith("BeforeModelNode_"))G=n(this.middleware.beforeModel),V="beforeModel.canJumpTo";else if(this.name?.startsWith("AfterAgentNode_"))G=n(this.middleware.afterAgent),V="afterAgent.canJumpTo";else if(this.name?.startsWith("AfterModelNode_"))G=n(this.middleware.afterModel),V="afterModel.canJumpTo";if(typeof K.jumpTo==="string"&&!G?.includes(K.jumpTo)){let U=G&&G.length>0?`must be one of: ${G?.join(", ")}.`:V?`no ${V} defined in middleware ${this.middleware.name}`:"";throw Error(`Invalid jump target: ${K.jumpTo}, ${U}.`)}if(typeof K==="object"&&"type"in K){if(K.type==="terminate"){if(K.error)throw K.error;return{...Y,...K.result||{},jumpTo:K.jumpTo}}throw Error(`Invalid control action: ${JSON.stringify(K)}`)}return{...Y,...K,jumpTo:K.jumpTo}}get nodeOptions(){return{input:_8(this.middleware.stateSchema)}}};var y8=class extends Q0{lc_namespace=["langchain","agents","beforeAgentNodes"];constructor(X,Q){super({name:`BeforeAgentNode_${X.name}`,func:async(Z,Y)=>this.invokeMiddleware(Z,Y)},Q);this.middleware=X}runHook(X,Q){return t(this.middleware.beforeAgent)(X,Q)}};var A8=class extends Q0{lc_namespace=["langchain","agents","beforeModelNodes"];constructor(X,Q){super({name:`BeforeModelNode_${X.name}`,func:async(Z,Y)=>this.invokeMiddleware(Z,Y)},Q);this.middleware=X}runHook(X,Q){return t(this.middleware.beforeModel)(X,Q)}};var N8=class extends Q0{lc_namespace=["langchain","agents","afterModelNodes"];constructor(X,Q){super({name:`AfterModelNode_${X.name}`,func:async(Z,Y)=>this.invokeMiddleware(Z,Y)},Q);this.middleware=X}runHook(X,Q){return t(this.middleware.afterModel)(X,Q)}};var S8=class extends Q0{lc_namespace=["langchain","agents","afterAgentNodes"];constructor(X,Q){super({name:`AfterAgentNode_${X.name}`,func:async(Z,Y)=>this.invokeMiddleware(Z,Y)},Q);this.middleware=X}runHook(X,Q){return t(this.middleware.afterAgent)(X,Q)}};var T8=class{#X=new Map;addNode(X,Q){this.#X.set(X.name,[...this.#X.get(X.name)??[],Q])}getState(X){let Q=(this.#X.get(X)??[]).reduce((Z,Y)=>{return{...Z,...Y.getState()??{}}},{});return delete Q.jumpTo,Q}};var M8=class X{#X;#Z="v2";#J;#Q=new T8;#Y;constructor(Q,Z){if(this.options=Q,this.#Y=Z??{},Q.name)this.#Y=o(this.#Y,{metadata:{lc_agent_name:Q.name}});if(this.#Z=Q.version??this.#Z,!Q.model)throw Error("`model` option is required to create an agent.");if(typeof Q.model!=="string")k0(Q.model);let Y=this.options.middleware?.filter((H)=>H.tools).flatMap((H)=>H.tools)??[],J=[...Q.tools??[],...Y],K=new Set(J.filter($0).filter((H)=>("returnDirect"in H)&&H.returnDirect).map((H)=>H.name)),{state:G,input:V,output:U}=G8(this.options.responseFormat!==void 0,this.options.stateSchema,this.options.middleware),W=new h8(G,{input:V,output:U,context:this.options.contextSchema}),z=[],F=[],j=[],B=[],A=[];this.#J=new x8({model:this.options.model,systemMessage:B8(this.options.systemPrompt),includeAgentName:this.options.includeAgentName,name:this.options.name,responseFormat:this.options.responseFormat,middleware:this.options.middleware,toolClasses:J,shouldReturnDirect:K,signal:this.options.signal,wrapModelCallHookMiddleware:A});let E=new Set,_=this.options.middleware??[];for(let H=0;H<_.length;H++){let L,w,b,I,D=_[H];if(E.has(D.name))throw Error(`Middleware ${D.name} is defined multiple times`);if(E.add(D.name),D.beforeAgent){L=new y8(D,{getState:()=>this.#Q.getState(D.name)}),this.#Q.addNode(D,L);let v=`${D.name}.before_agent`;z.push({index:H,name:v,allowed:n(D.beforeAgent)}),W.addNode(v,L,L.nodeOptions)}if(D.beforeModel){w=new A8(D,{getState:()=>this.#Q.getState(D.name)}),this.#Q.addNode(D,w);let v=`${D.name}.before_model`;F.push({index:H,name:v,allowed:n(D.beforeModel)}),W.addNode(v,w,w.nodeOptions)}if(D.afterModel){b=new N8(D,{getState:()=>this.#Q.getState(D.name)}),this.#Q.addNode(D,b);let v=`${D.name}.after_model`;j.push({index:H,name:v,allowed:n(D.afterModel)}),W.addNode(v,b,b.nodeOptions)}if(D.afterAgent){I=new S8(D,{getState:()=>this.#Q.getState(D.name)}),this.#Q.addNode(D,I);let v=`${D.name}.after_agent`;B.push({index:H,name:v,allowed:n(D.afterAgent)}),W.addNode(v,I,I.nodeOptions)}if(D.wrapModelCall)A.push([D,()=>this.#Q.getState(D.name)])}W.addNode(y,this.#J);let R=_.some((H)=>H.wrapToolCall),O=J.filter($0);if(O.length>0||R){let H=new k8(O,{signal:this.options.signal,wrapToolCall:z8(_)});W.addNode(x,H)}let m;if(z.length>0)m=z[0].name;else if(F.length>0)m=F[0].name;else m=y;let C=F.length>0?F[0].name:y,d=B.length>0?B[B.length-1].name:k;W.addEdge(C8,m);let N=O.length>0||R;for(let H=0;H<z.length;H++){let L=z[H],w=L.name,b=H===z.length-1?C:z[H+1].name;if(L.allowed&&L.allowed.length>0){let I=L.allowed.map((v)=>g(v)).filter((v)=>v!==x||N),D=Array.from(new Set([b,...I.map((v)=>v===k?d:v)]));W.addConditionalEdges(w,this.#H(O,b,d,N),D)}else W.addEdge(w,b)}for(let H=0;H<F.length;H++){let L=F[H],w=L.name,b=H===F.length-1?y:F[H+1].name;if(L.allowed&&L.allowed.length>0){let I=L.allowed.map((v)=>g(v)).filter((v)=>v!==x||N),D=Array.from(new Set([b,...I]));W.addConditionalEdges(w,this.#B(O,b,N),D)}else W.addEdge(w,b)}let G0=j.at(-1);if(j.length>0&&G0)W.addEdge(y,G0.name);else{let H=this.#$(O,!1,N).map((L)=>L===k?d:L);if(H.length===1)W.addEdge(y,H[0]);else W.addConditionalEdges(y,this.#V(d),H)}for(let H=j.length-1;H>0;H--){let L=j[H],w=L.name,b=j[H-1].name;if(L.allowed&&L.allowed.length>0){let I=L.allowed.map((v)=>g(v)).filter((v)=>v!==x||N),D=Array.from(new Set([b,...I]));W.addConditionalEdges(w,this.#K(O,L.allowed,b,N),D)}else W.addEdge(w,b)}if(j.length>0){let H=j[0],L=H.name,w=this.#$(O,!0,N).filter((D)=>D!==x||N),b=Boolean(H.allowed&&H.allowed.length>0),I=w.map((D)=>D===k?d:D);W.addConditionalEdges(L,this.#W(O,b,d,N),I)}for(let H=B.length-1;H>0;H--){let L=B[H],w=L.name,b=B[H-1].name;if(L.allowed&&L.allowed.length>0){let I=L.allowed.map((v)=>g(v)).filter((v)=>v!==x||N),D=Array.from(new Set([b,...I]));W.addConditionalEdges(w,this.#K(O,L.allowed,b,N),D)}else W.addEdge(w,b)}if(B.length>0){let H=B[0],L=H.name;if(H.allowed&&H.allowed.length>0){let w=H.allowed.map((I)=>g(I)).filter((I)=>I!==x||N),b=Array.from(new Set([k,...w]));W.addConditionalEdges(L,this.#K(O,H.allowed,k,N),b)}else W.addEdge(L,k)}if(N){let H=C;if(K.size>0)W.addConditionalEdges(x,this.#G(K,d),[H,d]);else W.addEdge(x,H)}this.#X=W.compile({checkpointer:this.options.checkpointer,store:this.options.store,name:this.options.name,description:this.options.description})}get graph(){return this.#X}get checkpointer(){return this.#X.checkpointer}set checkpointer(Q){this.#X.checkpointer=Q}get store(){return this.#X.store}set store(Q){this.#X.store=Q}withConfig(Q){return new X(this.options,o(this.#Y,Q))}#$(Q,Z=!1,Y=Q.length>0){let J=[];if(Y)J.push(x);if(Z)J.push(y);return J.push(k),J}#G(Q,Z){return(Y)=>{let J=Y.messages,K=J[J.length-1];if(P.isInstance(K)&&K.name&&Q.has(K.name))return this.options.responseFormat?y:Z;return y}}#V(Q=k){return(Z)=>{let Y=Z.messages.at(-1);if(!q.isInstance(Y)||!Y.tool_calls||Y.tool_calls.length===0)return Q;if(Y.tool_calls.every((K)=>K.name.startsWith("extract-")))return Q;if(this.#Z==="v1")return x;let J=Y.tool_calls.filter((K)=>!K.name.startsWith("extract-"));if(J.length===0)return Q;return J.map((K)=>new M(x,{...Z,lg_tool_call:K}))}}#W(Q,Z,Y,J=Q.length>0){let K=Boolean(this.options.responseFormat);return(G)=>{let V=G,U=V.messages,W=U.at(-1);if(q.isInstance(W)&&(!W.tool_calls||W.tool_calls.length===0))return Y;if(Z&&V.jumpTo){let _=g(V.jumpTo);if(_===k)return Y;if(_===x){if(!J)return Y;return new M(x,{...G,jumpTo:void 0})}return new M(y,{...G,jumpTo:void 0})}let z=U.filter(P.isInstance),F=U.filter(q.isInstance).at(-1),j=F?.tool_calls?.filter((_)=>!z.some((R)=>R.tool_call_id===_.id));if(j&&j.length>0)return j.map((_)=>new M(x,{...G,lg_tool_call:_}));let B=F?.tool_calls?.some((_)=>_.name.startsWith("extract-"));if(j&&j.length===0&&!B&&K)return y;if(!q.isInstance(W)||!W.tool_calls||W.tool_calls.length===0)return Y;let A=W.tool_calls.every((_)=>_.name.startsWith("extract-")),E=W.tool_calls.some((_)=>!_.name.startsWith("extract-"));if(A||!E)return Y;return x}}#K(Q,Z,Y,J=Q.length>0){let K=new Set(Z.map((G)=>g(G)));return(G)=>{let V=G;if(V.jumpTo){let U=g(V.jumpTo);if(U===k&&K.has(k))return k;if(U===x&&K.has(x)){if(!J)return k;return new M(x,{...G,jumpTo:void 0})}if(U===y&&K.has(y))return new M(y,{...G,jumpTo:void 0})}return Y}}#H(Q,Z,Y,J=Q.length>0){return(K)=>{let G=K;if(!G.jumpTo)return Z;let V=g(G.jumpTo);if(V===k)return Y;if(V===x){if(!J)return Y;return new M(x,{...K,jumpTo:void 0})}return new M(y,{...K,jumpTo:void 0})}}#B(Q,Z,Y=Q.length>0){return(J)=>{let K=J;if(!K.jumpTo)return Z;let G=g(K.jumpTo);if(G===k)return k;if(G===x){if(!Y)return k;return new M(x,{...J,jumpTo:void 0})}return new M(y,{...J,jumpTo:void 0})}}async#U(Q,Z){if(!this.options.middleware||this.options.middleware.length===0||Q instanceof T||!Q)return Q;let Y=await q8(this.options.middleware,Q),J={...(await this.#X.getState(Z).catch(()=>({values:{}}))).values,...Q};if(!J)return J;for(let[K,G]of Object.entries(Y))if(!(K in J))J[K]=G;return J}async invoke(Q,Z){let Y=o(this.#Y,Z),J=await this.#U(Q,Y);return this.#X.invoke(J,Y)}async stream(Q,Z){let Y=o(this.#Y,Z),J=await this.#U(Q,Y);return this.#X.stream(J,Y)}async drawMermaidPng(Q){let Z=await(await(await this.#X.getGraphAsync()).drawMermaidPng(Q)).arrayBuffer();return new Uint8Array(Z)}async drawMermaid(Q){return(await this.#X.getGraphAsync()).drawMermaid(Q)}streamEvents(Q,Z,Y){let J=o(this.#Y,Z);return this.#X.streamEvents(Q,{...J,version:Z?.version??"v2"},Y)}getGraphAsync(Q){return this.#X.getGraphAsync(Q)}getState(Q,Z){return this.#X.getState(Q,Z)}getStateHistory(Q,Z){return this.#X.getStateHistory(Q,Z)}getSubgraphs(Q,Z){return this.#X.getSubgraphs(Q,Z)}getSubgraphAsync(Q,Z){return this.#X.getSubgraphsAsync(Q,Z)}updateState(Q,Z,Y){return this.#X.updateState(Q,Z,Y)}get builder(){return this.#X.builder}};function $6(X){return new M8(X)}var W6=$.function().args($.custom(),$.custom(),$.custom()).returns($.union([$.string(),$.promise($.string())])),G6=["approve","edit","reject"],V6=$.enum(G6),H6=$.object({allowedDecisions:$.array(V6),description:$.union([$.string(),W6]).optional(),argsSchema:$.record($.any()).optional()}),h1=$.object({interruptOn:$.record($.union([$.boolean(),H6])).optional(),descriptionPrefix:$.string().default("Tool execution requires approval")});var j6=`<role>
|
|
28
|
+
Context Extraction Assistant
|
|
29
|
+
</role>
|
|
30
|
+
|
|
31
|
+
<primary_objective>
|
|
32
|
+
Your sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.
|
|
33
|
+
</primary_objective>
|
|
34
|
+
|
|
35
|
+
<objective_information>
|
|
36
|
+
You're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.
|
|
37
|
+
This context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.
|
|
38
|
+
</objective_information>
|
|
39
|
+
|
|
40
|
+
<instructions>
|
|
41
|
+
The conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.
|
|
42
|
+
You want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.
|
|
43
|
+
</instructions>
|
|
44
|
+
|
|
45
|
+
The user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:
|
|
46
|
+
|
|
47
|
+
With all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.
|
|
48
|
+
Respond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.
|
|
49
|
+
|
|
50
|
+
<messages>
|
|
51
|
+
Messages to summarize:
|
|
52
|
+
{messages}
|
|
53
|
+
</messages>`;var z6=$.function().args($.array($.custom())).returns($.union([$.number(),$.promise($.number())])),L0=$.object({fraction:$.number().gt(0,"Fraction must be greater than 0").max(1,"Fraction must be less than or equal to 1").optional(),tokens:$.number().positive("Tokens must be greater than 0").optional(),messages:$.number().int("Messages must be an integer").positive("Messages must be greater than 0").optional()}).refine((X)=>{return[X.fraction,X.tokens,X.messages].filter((Q)=>Q!==void 0).length>=1},{message:"At least one of fraction, tokens, or messages must be provided"}),r0=$.object({fraction:$.number().min(0,"Messages must be non-negative").max(1,"Fraction must be less than or equal to 1").optional(),tokens:$.number().min(0,"Tokens must be greater than or equal to 0").optional(),messages:$.number().int("Messages must be an integer").min(0,"Messages must be non-negative").optional()}).refine((X)=>{return[X.fraction,X.tokens,X.messages].filter((Q)=>Q!==void 0).length===1},{message:"Exactly one of fraction, tokens, or messages must be provided"}),t1=$.object({model:$.custom(),trigger:$.union([L0,$.array(L0)]).optional(),keep:r0.optional(),tokenCounter:z6.optional(),summaryPrompt:$.string().default(j6),trimTokensToSummarize:$.number().optional(),summaryPrefix:$.string().optional(),maxTokensBeforeSummary:$.number().optional(),messagesToKeep:$.number().optional()});function a0(X){if("profile"in X&&typeof X.profile==="object"&&X.profile&&"maxInputTokens"in X.profile&&(typeof X.profile.maxInputTokens==="number"||X.profile.maxInputTokens==null))return X.profile.maxInputTokens??void 0;if("model"in X&&typeof X.model==="string")return n0(X.model);if("modelName"in X&&typeof X.modelName==="string")return n0(X.modelName)}var GX=$.object({model:$.string().or($.instanceof(f8)).optional(),systemPrompt:$.string().optional(),maxTools:$.number().optional(),alwaysInclude:$.array($.string()).optional()});var DX=$.object({applyToInput:$.boolean().optional(),applyToOutput:$.boolean().optional(),applyToToolResults:$.boolean().optional()});var vX=$.object({rules:$.record($.string(),$.instanceof(RegExp).describe("Regular expression pattern to match PII")).optional()});var D6="[cleared]",P6=1e5,A0=3,u8=class{#X;trigger;keep;clearToolInputs;excludeTools;placeholder;model;clearAtLeast;constructor(X={}){let Q=X.trigger;if(X.triggerTokens!==void 0){if(console.warn("triggerTokens is deprecated. Use `trigger: { tokens: value }` instead."),Q===void 0)Q={tokens:X.triggerTokens}}let Z=X.keep;if(X.keepMessages!==void 0){if(console.warn("keepMessages is deprecated. Use `keep: { messages: value }` instead."),Z===void 0)Z={messages:X.keepMessages}}if(Q===void 0)Q={tokens:P6};if(Z===void 0)Z={messages:A0};if(Array.isArray(Q))this.#X=Q.map((Y)=>L0.parse(Y)),this.trigger=this.#X;else{let Y=L0.parse(Q);this.#X=[Y],this.trigger=Y}if(this.keep=r0.parse(Z),X.clearAtLeast!==void 0)console.warn("clearAtLeast is deprecated and will be removed in a future version. It conflicts with the `keep` property. Use `keep: { tokens: value }` or `keep: { messages: value }` instead to control retention.");this.clearAtLeast=X.clearAtLeast??0,this.clearToolInputs=X.clearToolInputs??!1,this.excludeTools=new Set(X.excludeTools??[]),this.placeholder=X.placeholder??D6}async apply(X){let{messages:Q,model:Z,countTokens:Y}=X,J=await Y(Q),K=[];for(let j=0;j<Q.length;j++){let B=Q[j];if(P.isInstance(B)){let A=this.#Q(Q.slice(0,j),B.tool_call_id);if(!A)K.push(j);else if(!A.tool_calls?.find((E)=>E.id===B.tool_call_id))K.push(j)}}for(let j=K.length-1;j>=0;j--)Q.splice(K[j],1);let G=J;if(K.length>0)G=await Y(Q);if(!this.#Z(Q,G,Z))return;let V=[];for(let j=0;j<Q.length;j++){let B=Q[j];if(P.isInstance(B))V.push({idx:j,msg:B})}if(V.length===0)return;let U=await this.#J(V,Y,Z),W=U>=V.length?[]:U>0?V.slice(0,-U):V,z=0,F=[...W];for(let{idx:j,msg:B}of F){if(B.response_metadata?.context_editing?.cleared)continue;let A=this.#Q(Q.slice(0,j),B.tool_call_id);if(!A)continue;let E=A.tool_calls?.find((O)=>O.id===B.tool_call_id);if(!E)continue;let _=B.name||E.name;if(this.excludeTools.has(_))continue;if(Q[j]=new P({tool_call_id:B.tool_call_id,content:this.placeholder,name:B.name,artifact:void 0,response_metadata:{...B.response_metadata,context_editing:{cleared:!0,strategy:"clear_tool_uses"}}}),this.clearToolInputs){let O=Q.indexOf(A);if(O>=0)Q[O]=this.#Y(A,B.tool_call_id)}let R=await Y(Q);z=Math.max(0,G-R)}if(this.clearAtLeast>0&&z<this.clearAtLeast){let j=U>0&&U<V.length?V.slice(-U):[];for(let B=j.length-1;B>=0;B--){if(z>=this.clearAtLeast)break;let{idx:A,msg:E}=j[B];if(E.response_metadata?.context_editing?.cleared)continue;let _=this.#Q(Q.slice(0,A),E.tool_call_id);if(!_)continue;let R=_.tool_calls?.find((C)=>C.id===E.tool_call_id);if(!R)continue;let O=E.name||R.name;if(this.excludeTools.has(O))continue;if(Q[A]=new P({tool_call_id:E.tool_call_id,content:this.placeholder,name:E.name,artifact:void 0,response_metadata:{...E.response_metadata,context_editing:{cleared:!0,strategy:"clear_tool_uses"}}}),this.clearToolInputs){let C=Q.indexOf(_);if(C>=0)Q[C]=this.#Y(_,E.tool_call_id)}let m=await Y(Q);z=Math.max(0,G-m)}}}#Z(X,Q,Z){for(let Y of this.#X){let J=!0,K=!1;if(Y.messages!==void 0){if(K=!0,X.length<Y.messages)J=!1}if(Y.tokens!==void 0){if(K=!0,Q<Y.tokens)J=!1}if(Y.fraction!==void 0){if(K=!0,!Z)continue;let G=a0(Z);if(typeof G==="number"){let V=Math.floor(G*Y.fraction);if(V<=0)continue;if(Q<V)J=!1}else continue}if(K&&J)return!0}return!1}async#J(X,Q,Z){if("messages"in this.keep&&this.keep.messages!==void 0)return this.keep.messages;if("tokens"in this.keep&&this.keep.tokens!==void 0){let Y=this.keep.tokens,J=0,K=0;for(let G=X.length-1;G>=0;G--){let V=X[G],U=await Q([V.msg]);if(J+U<=Y)J+=U,K++;else break}return K}if("fraction"in this.keep&&this.keep.fraction!==void 0){if(!Z)return A0;let Y=a0(Z);if(typeof Y==="number"){let J=Math.floor(Y*this.keep.fraction);if(J<=0)return A0;let K=0,G=0;for(let V=X.length-1;V>=0;V--){let U=X[V],W=await Q([U.msg]);if(K+W<=J)K+=W,G++;else break}return G}}return A0}#Q(X,Q){for(let Z=X.length-1;Z>=0;Z--){let Y=X[Z];if(q.isInstance(Y)){if(Y.tool_calls?.some((J)=>J.id===Q))return Y}}return null}#Y(X,Q){let Z=X.tool_calls?.map((G)=>{if(G.id===Q)return{...G,args:{}};return G}),Y={...X.response_metadata},J={...Y.context_editing},K=new Set(J.cleared_tool_inputs);return K.add(Q),J.cleared_tool_inputs=Array.from(K).sort(),Y.context_editing=J,new q({content:X.content,tool_calls:Z,response_metadata:Y,id:X.id,name:X.name,additional_kwargs:X.additional_kwargs})}};var L6=["continue","error","end"],q6="continue";var _6=$.enum(L6).default(q6);var AX=$.object({toolName:$.string().optional(),threadLimit:$.number().optional(),runLimit:$.number().optional(),exitBehavior:_6}),NX=$.object({threadToolCallCount:$.record($.string(),$.number()).default({}),runToolCallCount:$.record($.string(),$.number()).default({})});var F6=$.enum(["pending","in_progress","completed"]).describe("Status of the todo"),b6=$.object({content:$.string().describe("Content of the todo item"),status:F6}),pX=$.object({todos:$.array(b6).default([])});var iX=$.object({threadLimit:$.number().optional(),runLimit:$.number().optional(),exitBehavior:$.enum(["error","end"]).optional()}),nX=$.object({threadModelCallCount:$.number().default(0),runModelCallCount:$.number().default(0)});var N0=$.object({maxRetries:$.number().min(0).default(2),retryOn:$.union([$.function().args($.instanceof(Error)).returns($.boolean()),$.array($.custom())]).default(()=>()=>!0),backoffFactor:$.number().min(0).default(2),initialDelayMs:$.number().min(0).default(1000),maxDelayMs:$.number().min(0).default(60000),jitter:$.boolean().default(!0)});var $Q=$.object({onFailure:$.union([$.literal("error"),$.literal("continue"),$.function().args($.instanceof(Error)).returns($.string())]).default("continue")}).merge(N0);var zQ=$.object({tools:$.array($.union([$.custom(),$.custom(),$.string()])).optional(),onFailure:$.union([$.literal("error"),$.literal("continue"),$.literal("raise"),$.literal("return_message"),$.function().args($.instanceof(Error)).returns($.string())]).default("continue")}).merge(N0);var EQ=$.object({enableCaching:$.boolean().optional(),ttl:$.enum(["5m","1h"]).optional(),minMessagesToCache:$.number().optional(),unsupportedModelBehavior:$.enum(["ignore","warn","raise"]).optional()});
|
|
54
|
+
export{S as Mf,$6 as Nf};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Yl as D,Zl as u6,_l as O}from"./chunk-4fs853nh.js";import{createHash as x6}from"node:crypto";function f6(x){if(Array.isArray(x))x=Buffer.from(x);else if(typeof x==="string")x=Buffer.from(x,"utf8");return x6("sha1").update(x).digest()}var M0;var d0=O(()=>{M0=f6});var l0;var b0=O(()=>{l0=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i});function q6(x){return typeof x==="string"&&l0.test(x)}var C;var h=O(()=>{b0();C=q6});function U6(x){if(!C(x))throw TypeError("Invalid UUID");let f;return Uint8Array.of((f=parseInt(x.slice(0,8),16))>>>24,f>>>16&255,f>>>8&255,f&255,(f=parseInt(x.slice(9,13),16))>>>8,f&255,(f=parseInt(x.slice(14,18),16))>>>8,f&255,(f=parseInt(x.slice(19,23),16))>>>8,f&255,(f=parseInt(x.slice(24,36),16))/1099511627776&255,f/4294967296&255,f>>>24&255,f>>>16&255,f>>>8&255,f&255)}var P;var M=O(()=>{h();P=U6});function A(x,f=0){return(u[x[f+0]]+u[x[f+1]]+u[x[f+2]]+u[x[f+3]]+"-"+u[x[f+4]]+u[x[f+5]]+"-"+u[x[f+6]]+u[x[f+7]]+"-"+u[x[f+8]]+u[x[f+9]]+"-"+u[x[f+10]]+u[x[f+11]]+u[x[f+12]]+u[x[f+13]]+u[x[f+14]]+u[x[f+15]]).toLowerCase()}function I6(x,f=0){let q=A(x,f);if(!C(q))throw TypeError("Stringified UUID is invalid");return q}var u,v0;var R=O(()=>{h();u=[];for(let x=0;x<256;++x)u.push((x+256).toString(16).slice(1));v0=I6});function $6(x){x=unescape(encodeURIComponent(x));let f=new Uint8Array(x.length);for(let q=0;q<x.length;++q)f[q]=x.charCodeAt(q);return f}function d(x,f,q,U,I,$){let w=typeof q==="string"?$6(q):q,J=typeof U==="string"?P(U):U;if(typeof U==="string")U=P(U);if(U?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let W=new Uint8Array(16+w.length);if(W.set(J),W.set(w,J.length),W=f(W),W[6]=W[6]&15|x,W[8]=W[8]&63|128,I){$=$||0;for(let K=0;K<16;++K)I[$+K]=W[K];return I}return A(W)}var i="6ba7b810-9dad-11d1-80b4-00c04fd430c8",t="6ba7b811-9dad-11d1-80b4-00c04fd430c8";var D0=O(()=>{M();R()});function y0(x,f,q,U){return d(80,M0,x,f,q,U)}var g0;var c0=O(()=>{d0();D0();y0.DNS=i;y0.URL=t;g0=y0});import{randomFillSync as w6}from"node:crypto";function B(){if(s>e.length-16)w6(e),s=0;return e.slice(s,s+=16)}var e,s;var o=O(()=>{e=new Uint8Array(256),s=e.length});function J6(x,f,q){let U,I=x?._v6??!1;if(x){let $=Object.keys(x);if($.length===1&&$[0]==="_v6")x=void 0}if(x)U=m0(x.random??x.rng?.()??B(),x.msecs,x.nsecs,x.clockseq,x.node,f,q);else{let $=Date.now(),w=B();Q6(l,$,w),U=m0(w,l.msecs,l.nsecs,I?void 0:l.clockseq,I?void 0:l.node,f,q)}return f??A(U)}function Q6(x,f,q){if(x.msecs??=-1/0,x.nsecs??=0,f===x.msecs){if(x.nsecs++,x.nsecs>=1e4)x.node=void 0,x.nsecs=0}else if(f>x.msecs)x.nsecs=0;else if(f<x.msecs)x.node=void 0;if(!x.node)x.node=q.slice(10,16),x.node[0]|=1,x.clockseq=(q[8]<<8|q[9])&16383;return x.msecs=f,x}function m0(x,f,q,U,I,$,w=0){if(x.length<16)throw Error("Random bytes length must be >= 16");if(!$)$=new Uint8Array(16),w=0;else if(w<0||w+16>$.length)throw RangeError(`UUID byte range ${w}:${w+15} is out of buffer bounds`);f??=Date.now(),q??=0,U??=(x[8]<<8|x[9])&16383,I??=x.slice(10,16),f+=12219292800000;let J=((f&268435455)*1e4+q)%4294967296;$[w++]=J>>>24&255,$[w++]=J>>>16&255,$[w++]=J>>>8&255,$[w++]=J&255;let W=f/4294967296*1e4&268435455;$[w++]=W>>>8&255,$[w++]=W&255,$[w++]=W>>>24&15|16,$[w++]=W>>>16&255,$[w++]=U>>>8|128,$[w++]=U&255;for(let K=0;K<6;++K)$[w++]=I[K];return $}var l,x0;var F0=O(()=>{o();R();l={};x0=J6});function b(x){let f=typeof x==="string"?P(x):x,q=Z6(f);return typeof x==="string"?A(q):q}function Z6(x){return Uint8Array.of((x[6]&15)<<4|x[7]>>4&15,(x[7]&15)<<4|(x[4]&240)>>4,(x[4]&15)<<4|(x[5]&240)>>4,(x[5]&15)<<4|(x[0]&240)>>4,(x[0]&15)<<4|(x[1]&240)>>4,(x[1]&15)<<4|(x[2]&240)>>4,96|x[2]&15,x[3],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15])}var Y0=O(()=>{M();R()});function W6(x,f,q){x??={},q??=0;let U=x0({...x,_v6:!0},new Uint8Array(16));if(U=b(U),f){for(let I=0;I<16;I++)f[q+I]=U[I];return f}return A(U)}var p0;var n0=O(()=>{R();F0();Y0();p0=W6});function K6(x,f,q){let U;if(x)U=r0(x.random??x.rng?.()??B(),x.msecs,x.seq,f,q);else{let I=Date.now(),$=B();j6(H0,I,$),U=r0($,H0.msecs,H0.seq,f,q)}return f??A(U)}function j6(x,f,q){if(x.msecs??=-1/0,x.seq??=0,f>x.msecs)x.seq=q[6]<<23|q[7]<<16|q[8]<<8|q[9],x.msecs=f;else if(x.seq=x.seq+1|0,x.seq===0)x.msecs++;return x}function r0(x,f,q,U,I=0){if(x.length<16)throw Error("Random bytes length must be >= 16");if(!U)U=new Uint8Array(16),I=0;else if(I<0||I+16>U.length)throw RangeError(`UUID byte range ${I}:${I+15} is out of buffer bounds`);return f??=Date.now(),q??=x[6]*127<<24|x[7]<<16|x[8]<<8|x[9],U[I++]=f/1099511627776&255,U[I++]=f/4294967296&255,U[I++]=f/16777216&255,U[I++]=f/65536&255,U[I++]=f/256&255,U[I++]=f&255,U[I++]=112|q>>>28&15,U[I++]=q>>>20&255,U[I++]=128|q>>>14&63,U[I++]=q>>>6&255,U[I++]=q<<2&255|x[10]&3,U[I++]=x[11],U[I++]=x[12],U[I++]=x[13],U[I++]=x[14],U[I++]=x[15],U}var H0,a0;var i0=O(()=>{o();R();H0={};a0=K6});var t0="ffffffff-ffff-ffff-ffff-ffffffffffff";var s0=()=>{};var e0="00000000-0000-0000-0000-000000000000";var o0=()=>{};import{createHash as z6}from"node:crypto";function D6(x){if(Array.isArray(x))x=Buffer.from(x);else if(typeof x==="string")x=Buffer.from(x,"utf8");return z6("md5").update(x).digest()}var x1;var f1=O(()=>{x1=D6});function O0(x,f,q,U){return d(48,x1,x,f,q,U)}var q1;var U1=O(()=>{f1();D0();O0.DNS=i;O0.URL=t;q1=O0});import{randomUUID as y6}from"node:crypto";var u0;var I1=O(()=>{u0={randomUUID:y6}});function F6(x,f,q){x=x||{};let U=x.random??x.rng?.()??B();if(U.length<16)throw Error("Random bytes length must be >= 16");if(U[6]=U[6]&15|64,U[8]=U[8]&63|128,f){if(q=q||0,q<0||q+16>f.length)throw RangeError(`UUID byte range ${q}:${q+15} is out of buffer bounds`);for(let I=0;I<16;++I)f[q+I]=U[I];return f}return A(U)}function Y6(x,f,q){if(u0.randomUUID&&!f&&!x)return u0.randomUUID();return F6(x,f,q)}var $1;var w1=O(()=>{I1();o();R();$1=Y6});function V0(x){let f=typeof x==="string"?P(x):x,q=H6(f);return typeof x==="string"?A(q):q}function H6(x){return Uint8Array.of((x[3]&15)<<4|x[4]>>4&15,(x[4]&15)<<4|(x[5]&240)>>4,(x[5]&15)<<4|x[6]&15,x[7],(x[1]&15)<<4|(x[2]&240)>>4,(x[2]&15)<<4|(x[3]&240)>>4,16|(x[0]&240)>>4,(x[0]&15)<<4|(x[1]&240)>>4,x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15])}var J1=O(()=>{M();R()});function O6(x){if(!C(x))throw TypeError("Invalid UUID");return parseInt(x.slice(14,15),16)}var Q1;var Z1=O(()=>{h();Q1=O6});var V6={};u6(V6,{version:()=>Q1,validate:()=>C,v7:()=>a0,v6ToV1:()=>V0,v6:()=>p0,v5:()=>g0,v4:()=>$1,v3:()=>q1,v1ToV6:()=>b,v1:()=>x0,stringify:()=>v0,parse:()=>P,NIL:()=>e0,MAX:()=>t0});var _6=O(()=>{s0();o0();M();R();F0();Y0();U1();w1();c0();n0();J1();i0();h();Z1()});var v=D((N5,W1)=>{var A6=Number.MAX_SAFE_INTEGER||9007199254740991,G6=["major","premajor","minor","preminor","patch","prepatch","prerelease"];W1.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:A6,RELEASE_TYPES:G6,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var g=D((X5,K1)=>{var N6=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...x)=>console.error("SEMVER",...x):()=>{};K1.exports=N6});var T=D((E,j1)=>{var{MAX_SAFE_COMPONENT_LENGTH:_0,MAX_SAFE_BUILD_LENGTH:X6,MAX_LENGTH:L6}=v(),S6=g();E=j1.exports={};var E6=E.re=[],P6=E.safeRe=[],Q=E.src=[],R6=E.safeSrc=[],Z=E.t={},B6=0,A0="[a-zA-Z0-9-]",C6=[["\\s",1],["\\d",L6],[A0,X6]],k6=(x)=>{for(let[f,q]of C6)x=x.split(`${f}*`).join(`${f}{0,${q}}`).split(`${f}+`).join(`${f}{1,${q}}`);return x},y=(x,f,q)=>{let U=k6(f),I=B6++;S6(x,I,f),Z[x]=I,Q[I]=f,R6[I]=U,E6[I]=new RegExp(f,q?"g":void 0),P6[I]=new RegExp(U,q?"g":void 0)};y("NUMERICIDENTIFIER","0|[1-9]\\d*");y("NUMERICIDENTIFIERLOOSE","\\d+");y("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${A0}*`);y("MAINVERSION",`(${Q[Z.NUMERICIDENTIFIER]})\\.(${Q[Z.NUMERICIDENTIFIER]})\\.(${Q[Z.NUMERICIDENTIFIER]})`);y("MAINVERSIONLOOSE",`(${Q[Z.NUMERICIDENTIFIERLOOSE]})\\.(${Q[Z.NUMERICIDENTIFIERLOOSE]})\\.(${Q[Z.NUMERICIDENTIFIERLOOSE]})`);y("PRERELEASEIDENTIFIER",`(?:${Q[Z.NONNUMERICIDENTIFIER]}|${Q[Z.NUMERICIDENTIFIER]})`);y("PRERELEASEIDENTIFIERLOOSE",`(?:${Q[Z.NONNUMERICIDENTIFIER]}|${Q[Z.NUMERICIDENTIFIERLOOSE]})`);y("PRERELEASE",`(?:-(${Q[Z.PRERELEASEIDENTIFIER]}(?:\\.${Q[Z.PRERELEASEIDENTIFIER]})*))`);y("PRERELEASELOOSE",`(?:-?(${Q[Z.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Q[Z.PRERELEASEIDENTIFIERLOOSE]})*))`);y("BUILDIDENTIFIER",`${A0}+`);y("BUILD",`(?:\\+(${Q[Z.BUILDIDENTIFIER]}(?:\\.${Q[Z.BUILDIDENTIFIER]})*))`);y("FULLPLAIN",`v?${Q[Z.MAINVERSION]}${Q[Z.PRERELEASE]}?${Q[Z.BUILD]}?`);y("FULL",`^${Q[Z.FULLPLAIN]}$`);y("LOOSEPLAIN",`[v=\\s]*${Q[Z.MAINVERSIONLOOSE]}${Q[Z.PRERELEASELOOSE]}?${Q[Z.BUILD]}?`);y("LOOSE",`^${Q[Z.LOOSEPLAIN]}$`);y("GTLT","((?:<|>)?=?)");y("XRANGEIDENTIFIERLOOSE",`${Q[Z.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);y("XRANGEIDENTIFIER",`${Q[Z.NUMERICIDENTIFIER]}|x|X|\\*`);y("XRANGEPLAIN",`[v=\\s]*(${Q[Z.XRANGEIDENTIFIER]})(?:\\.(${Q[Z.XRANGEIDENTIFIER]})(?:\\.(${Q[Z.XRANGEIDENTIFIER]})(?:${Q[Z.PRERELEASE]})?${Q[Z.BUILD]}?)?)?`);y("XRANGEPLAINLOOSE",`[v=\\s]*(${Q[Z.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Q[Z.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Q[Z.XRANGEIDENTIFIERLOOSE]})(?:${Q[Z.PRERELEASELOOSE]})?${Q[Z.BUILD]}?)?)?`);y("XRANGE",`^${Q[Z.GTLT]}\\s*${Q[Z.XRANGEPLAIN]}$`);y("XRANGELOOSE",`^${Q[Z.GTLT]}\\s*${Q[Z.XRANGEPLAINLOOSE]}$`);y("COERCEPLAIN",`(^|[^\\d])(\\d{1,${_0}})(?:\\.(\\d{1,${_0}}))?(?:\\.(\\d{1,${_0}}))?`);y("COERCE",`${Q[Z.COERCEPLAIN]}(?:$|[^\\d])`);y("COERCEFULL",Q[Z.COERCEPLAIN]+`(?:${Q[Z.PRERELEASE]})?(?:${Q[Z.BUILD]})?(?:$|[^\\d])`);y("COERCERTL",Q[Z.COERCE],!0);y("COERCERTLFULL",Q[Z.COERCEFULL],!0);y("LONETILDE","(?:~>?)");y("TILDETRIM",`(\\s*)${Q[Z.LONETILDE]}\\s+`,!0);E.tildeTrimReplace="$1~";y("TILDE",`^${Q[Z.LONETILDE]}${Q[Z.XRANGEPLAIN]}$`);y("TILDELOOSE",`^${Q[Z.LONETILDE]}${Q[Z.XRANGEPLAINLOOSE]}$`);y("LONECARET","(?:\\^)");y("CARETTRIM",`(\\s*)${Q[Z.LONECARET]}\\s+`,!0);E.caretTrimReplace="$1^";y("CARET",`^${Q[Z.LONECARET]}${Q[Z.XRANGEPLAIN]}$`);y("CARETLOOSE",`^${Q[Z.LONECARET]}${Q[Z.XRANGEPLAINLOOSE]}$`);y("COMPARATORLOOSE",`^${Q[Z.GTLT]}\\s*(${Q[Z.LOOSEPLAIN]})$|^$`);y("COMPARATOR",`^${Q[Z.GTLT]}\\s*(${Q[Z.FULLPLAIN]})$|^$`);y("COMPARATORTRIM",`(\\s*)${Q[Z.GTLT]}\\s*(${Q[Z.LOOSEPLAIN]}|${Q[Z.XRANGEPLAIN]})`,!0);E.comparatorTrimReplace="$1$2$3";y("HYPHENRANGE",`^\\s*(${Q[Z.XRANGEPLAIN]})\\s+-\\s+(${Q[Z.XRANGEPLAIN]})\\s*$`);y("HYPHENRANGELOOSE",`^\\s*(${Q[Z.XRANGEPLAINLOOSE]})\\s+-\\s+(${Q[Z.XRANGEPLAINLOOSE]})\\s*$`);y("STAR","(<|>)?=?\\s*\\*");y("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");y("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var f0=D((L5,z1)=>{var T6=Object.freeze({loose:!0}),h6=Object.freeze({}),M6=(x)=>{if(!x)return h6;if(typeof x!=="object")return T6;return x};z1.exports=M6});var G0=D((S5,F1)=>{var D1=/^[0-9]+$/,y1=(x,f)=>{if(typeof x==="number"&&typeof f==="number")return x===f?0:x<f?-1:1;let q=D1.test(x),U=D1.test(f);if(q&&U)x=+x,f=+f;return x===f?0:q&&!U?-1:U&&!q?1:x<f?-1:1},d6=(x,f)=>y1(f,x);F1.exports={compareIdentifiers:y1,rcompareIdentifiers:d6}});var V=D((E5,H1)=>{var q0=g(),{MAX_LENGTH:Y1,MAX_SAFE_INTEGER:U0}=v(),{safeRe:I0,t:$0}=T(),l6=f0(),{compareIdentifiers:N0}=G0();class S{constructor(x,f){if(f=l6(f),x instanceof S)if(x.loose===!!f.loose&&x.includePrerelease===!!f.includePrerelease)return x;else x=x.version;else if(typeof x!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof x}".`);if(x.length>Y1)throw TypeError(`version is longer than ${Y1} characters`);q0("SemVer",x,f),this.options=f,this.loose=!!f.loose,this.includePrerelease=!!f.includePrerelease;let q=x.trim().match(f.loose?I0[$0.LOOSE]:I0[$0.FULL]);if(!q)throw TypeError(`Invalid Version: ${x}`);if(this.raw=x,this.major=+q[1],this.minor=+q[2],this.patch=+q[3],this.major>U0||this.major<0)throw TypeError("Invalid major version");if(this.minor>U0||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>U0||this.patch<0)throw TypeError("Invalid patch version");if(!q[4])this.prerelease=[];else this.prerelease=q[4].split(".").map((U)=>{if(/^[0-9]+$/.test(U)){let I=+U;if(I>=0&&I<U0)return I}return U});this.build=q[5]?q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(x){if(q0("SemVer.compare",this.version,this.options,x),!(x instanceof S)){if(typeof x==="string"&&x===this.version)return 0;x=new S(x,this.options)}if(x.version===this.version)return 0;return this.compareMain(x)||this.comparePre(x)}compareMain(x){if(!(x instanceof S))x=new S(x,this.options);if(this.major<x.major)return-1;if(this.major>x.major)return 1;if(this.minor<x.minor)return-1;if(this.minor>x.minor)return 1;if(this.patch<x.patch)return-1;if(this.patch>x.patch)return 1;return 0}comparePre(x){if(!(x instanceof S))x=new S(x,this.options);if(this.prerelease.length&&!x.prerelease.length)return-1;else if(!this.prerelease.length&&x.prerelease.length)return 1;else if(!this.prerelease.length&&!x.prerelease.length)return 0;let f=0;do{let q=this.prerelease[f],U=x.prerelease[f];if(q0("prerelease compare",f,q,U),q===void 0&&U===void 0)return 0;else if(U===void 0)return 1;else if(q===void 0)return-1;else if(q===U)continue;else return N0(q,U)}while(++f)}compareBuild(x){if(!(x instanceof S))x=new S(x,this.options);let f=0;do{let q=this.build[f],U=x.build[f];if(q0("build compare",f,q,U),q===void 0&&U===void 0)return 0;else if(U===void 0)return 1;else if(q===void 0)return-1;else if(q===U)continue;else return N0(q,U)}while(++f)}inc(x,f,q){if(x.startsWith("pre")){if(!f&&q===!1)throw Error("invalid increment argument: identifier is empty");if(f){let U=`-${f}`.match(this.options.loose?I0[$0.PRERELEASELOOSE]:I0[$0.PRERELEASE]);if(!U||U[1]!==f)throw Error(`invalid identifier: ${f}`)}}switch(x){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",f,q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",f,q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",f,q),this.inc("pre",f,q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",f,q);this.inc("pre",f,q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let U=Number(q)?1:0;if(this.prerelease.length===0)this.prerelease=[U];else{let I=this.prerelease.length;while(--I>=0)if(typeof this.prerelease[I]==="number")this.prerelease[I]++,I=-2;if(I===-1){if(f===this.prerelease.join(".")&&q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(U)}}if(f){let I=[f,U];if(q===!1)I=[f];if(N0(this.prerelease[0],f)===0){if(isNaN(this.prerelease[1]))this.prerelease=I}else this.prerelease=I}break}default:throw Error(`invalid increment argument: ${x}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}H1.exports=S});var k=D((P5,u1)=>{var O1=V(),b6=(x,f,q=!1)=>{if(x instanceof O1)return x;try{return new O1(x,f)}catch(U){if(!q)return null;throw U}};u1.exports=b6});var _1=D((R5,V1)=>{var v6=k(),g6=(x,f)=>{let q=v6(x,f);return q?q.version:null};V1.exports=g6});var G1=D((B5,A1)=>{var c6=k(),m6=(x,f)=>{let q=c6(x.trim().replace(/^[=v]+/,""),f);return q?q.version:null};A1.exports=m6});var L1=D((C5,X1)=>{var N1=V(),p6=(x,f,q,U,I)=>{if(typeof q==="string")I=U,U=q,q=void 0;try{return new N1(x instanceof N1?x.version:x,q).inc(f,U,I).version}catch($){return null}};X1.exports=p6});var P1=D((k5,E1)=>{var S1=k(),n6=(x,f)=>{let q=S1(x,null,!0),U=S1(f,null,!0),I=q.compare(U);if(I===0)return null;let $=I>0,w=$?q:U,J=$?U:q,W=!!w.prerelease.length;if(!!J.prerelease.length&&!W){if(!J.patch&&!J.minor)return"major";if(J.compareMain(w)===0){if(J.minor&&!J.patch)return"minor";return"patch"}}let j=W?"pre":"";if(q.major!==U.major)return j+"major";if(q.minor!==U.minor)return j+"minor";if(q.patch!==U.patch)return j+"patch";return"prerelease"};E1.exports=n6});var B1=D((T5,R1)=>{var r6=V(),a6=(x,f)=>new r6(x,f).major;R1.exports=a6});var k1=D((h5,C1)=>{var i6=V(),t6=(x,f)=>new i6(x,f).minor;C1.exports=t6});var h1=D((M5,T1)=>{var s6=V(),e6=(x,f)=>new s6(x,f).patch;T1.exports=e6});var d1=D((d5,M1)=>{var o6=k(),xf=(x,f)=>{let q=o6(x,f);return q&&q.prerelease.length?q.prerelease:null};M1.exports=xf});var X=D((l5,b1)=>{var l1=V(),ff=(x,f,q)=>new l1(x,q).compare(new l1(f,q));b1.exports=ff});var g1=D((b5,v1)=>{var qf=X(),Uf=(x,f,q)=>qf(f,x,q);v1.exports=Uf});var m1=D((v5,c1)=>{var If=X(),$f=(x,f)=>If(x,f,!0);c1.exports=$f});var w0=D((g5,n1)=>{var p1=V(),wf=(x,f,q)=>{let U=new p1(x,q),I=new p1(f,q);return U.compare(I)||U.compareBuild(I)};n1.exports=wf});var a1=D((c5,r1)=>{var Jf=w0(),Qf=(x,f)=>x.sort((q,U)=>Jf(q,U,f));r1.exports=Qf});var t1=D((m5,i1)=>{var Zf=w0(),Wf=(x,f)=>x.sort((q,U)=>Zf(U,q,f));i1.exports=Wf});var c=D((p5,s1)=>{var Kf=X(),jf=(x,f,q)=>Kf(x,f,q)>0;s1.exports=jf});var J0=D((n5,e1)=>{var zf=X(),Df=(x,f,q)=>zf(x,f,q)<0;e1.exports=Df});var X0=D((r5,o1)=>{var yf=X(),Ff=(x,f,q)=>yf(x,f,q)===0;o1.exports=Ff});var L0=D((a5,xx)=>{var Yf=X(),Hf=(x,f,q)=>Yf(x,f,q)!==0;xx.exports=Hf});var Q0=D((i5,fx)=>{var Of=X(),uf=(x,f,q)=>Of(x,f,q)>=0;fx.exports=uf});var Z0=D((t5,qx)=>{var Vf=X(),_f=(x,f,q)=>Vf(x,f,q)<=0;qx.exports=_f});var S0=D((s5,Ux)=>{var Af=X0(),Gf=L0(),Nf=c(),Xf=Q0(),Lf=J0(),Sf=Z0(),Ef=(x,f,q,U)=>{switch(f){case"===":if(typeof x==="object")x=x.version;if(typeof q==="object")q=q.version;return x===q;case"!==":if(typeof x==="object")x=x.version;if(typeof q==="object")q=q.version;return x!==q;case"":case"=":case"==":return Af(x,q,U);case"!=":return Gf(x,q,U);case">":return Nf(x,q,U);case">=":return Xf(x,q,U);case"<":return Lf(x,q,U);case"<=":return Sf(x,q,U);default:throw TypeError(`Invalid operator: ${f}`)}};Ux.exports=Ef});var $x=D((e5,Ix)=>{var Pf=V(),Rf=k(),{safeRe:W0,t:K0}=T(),Bf=(x,f)=>{if(x instanceof Pf)return x;if(typeof x==="number")x=String(x);if(typeof x!=="string")return null;f=f||{};let q=null;if(!f.rtl)q=x.match(f.includePrerelease?W0[K0.COERCEFULL]:W0[K0.COERCE]);else{let W=f.includePrerelease?W0[K0.COERCERTLFULL]:W0[K0.COERCERTL],K;while((K=W.exec(x))&&(!q||q.index+q[0].length!==x.length)){if(!q||K.index+K[0].length!==q.index+q[0].length)q=K;W.lastIndex=K.index+K[1].length+K[2].length}W.lastIndex=-1}if(q===null)return null;let U=q[2],I=q[3]||"0",$=q[4]||"0",w=f.includePrerelease&&q[5]?`-${q[5]}`:"",J=f.includePrerelease&&q[6]?`+${q[6]}`:"";return Rf(`${U}.${I}.${$}${w}${J}`,f)};Ix.exports=Bf});var Qx=D((o5,Jx)=>{class wx{constructor(){this.max=1000,this.map=new Map}get(x){let f=this.map.get(x);if(f===void 0)return;else return this.map.delete(x),this.map.set(x,f),f}delete(x){return this.map.delete(x)}set(x,f){if(!this.delete(x)&&f!==void 0){if(this.map.size>=this.max){let U=this.map.keys().next().value;this.delete(U)}this.map.set(x,f)}return this}}Jx.exports=wx});var L=D((xq,jx)=>{var Cf=/\s+/g;class m{constructor(x,f){if(f=Tf(f),x instanceof m)if(x.loose===!!f.loose&&x.includePrerelease===!!f.includePrerelease)return x;else return new m(x.raw,f);if(x instanceof E0)return this.raw=x.value,this.set=[[x]],this.formatted=void 0,this;if(this.options=f,this.loose=!!f.loose,this.includePrerelease=!!f.includePrerelease,this.raw=x.trim().replace(Cf," "),this.set=this.raw.split("||").map((q)=>this.parseRange(q.trim())).filter((q)=>q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let q=this.set[0];if(this.set=this.set.filter((U)=>!Wx(U[0])),this.set.length===0)this.set=[q];else if(this.set.length>1){for(let U of this.set)if(U.length===1&&gf(U[0])){this.set=[U];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let x=0;x<this.set.length;x++){if(x>0)this.formatted+="||";let f=this.set[x];for(let q=0;q<f.length;q++){if(q>0)this.formatted+=" ";this.formatted+=f[q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(x){let q=((this.options.includePrerelease&&bf)|(this.options.loose&&vf))+":"+x,U=Zx.get(q);if(U)return U;let I=this.options.loose,$=I?G[_.HYPHENRANGELOOSE]:G[_.HYPHENRANGE];x=x.replace($,of(this.options.includePrerelease)),Y("hyphen replace",x),x=x.replace(G[_.COMPARATORTRIM],Mf),Y("comparator trim",x),x=x.replace(G[_.TILDETRIM],df),Y("tilde trim",x),x=x.replace(G[_.CARETTRIM],lf),Y("caret trim",x);let w=x.split(" ").map((j)=>cf(j,this.options)).join(" ").split(/\s+/).map((j)=>ef(j,this.options));if(I)w=w.filter((j)=>{return Y("loose invalid filter",j,this.options),!!j.match(G[_.COMPARATORLOOSE])});Y("range list",w);let J=new Map,W=w.map((j)=>new E0(j,this.options));for(let j of W){if(Wx(j))return[j];J.set(j.value,j)}if(J.size>1&&J.has(""))J.delete("");let K=[...J.values()];return Zx.set(q,K),K}intersects(x,f){if(!(x instanceof m))throw TypeError("a Range is required");return this.set.some((q)=>{return Kx(q,f)&&x.set.some((U)=>{return Kx(U,f)&&q.every((I)=>{return U.every(($)=>{return I.intersects($,f)})})})})}test(x){if(!x)return!1;if(typeof x==="string")try{x=new hf(x,this.options)}catch(f){return!1}for(let f=0;f<this.set.length;f++)if(x8(this.set[f],x,this.options))return!0;return!1}}jx.exports=m;var kf=Qx(),Zx=new kf,Tf=f0(),E0=p(),Y=g(),hf=V(),{safeRe:G,t:_,comparatorTrimReplace:Mf,tildeTrimReplace:df,caretTrimReplace:lf}=T(),{FLAG_INCLUDE_PRERELEASE:bf,FLAG_LOOSE:vf}=v(),Wx=(x)=>x.value==="<0.0.0-0",gf=(x)=>x.value==="",Kx=(x,f)=>{let q=!0,U=x.slice(),I=U.pop();while(q&&U.length)q=U.every(($)=>{return I.intersects($,f)}),I=U.pop();return q},cf=(x,f)=>{return x=x.replace(G[_.BUILD],""),Y("comp",x,f),x=nf(x,f),Y("caret",x),x=mf(x,f),Y("tildes",x),x=af(x,f),Y("xrange",x),x=sf(x,f),Y("stars",x),x},N=(x)=>!x||x.toLowerCase()==="x"||x==="*",mf=(x,f)=>{return x.trim().split(/\s+/).map((q)=>pf(q,f)).join(" ")},pf=(x,f)=>{let q=f.loose?G[_.TILDELOOSE]:G[_.TILDE];return x.replace(q,(U,I,$,w,J)=>{Y("tilde",x,U,I,$,w,J);let W;if(N(I))W="";else if(N($))W=`>=${I}.0.0 <${+I+1}.0.0-0`;else if(N(w))W=`>=${I}.${$}.0 <${I}.${+$+1}.0-0`;else if(J)Y("replaceTilde pr",J),W=`>=${I}.${$}.${w}-${J} <${I}.${+$+1}.0-0`;else W=`>=${I}.${$}.${w} <${I}.${+$+1}.0-0`;return Y("tilde return",W),W})},nf=(x,f)=>{return x.trim().split(/\s+/).map((q)=>rf(q,f)).join(" ")},rf=(x,f)=>{Y("caret",x,f);let q=f.loose?G[_.CARETLOOSE]:G[_.CARET],U=f.includePrerelease?"-0":"";return x.replace(q,(I,$,w,J,W)=>{Y("caret",x,I,$,w,J,W);let K;if(N($))K="";else if(N(w))K=`>=${$}.0.0${U} <${+$+1}.0.0-0`;else if(N(J))if($==="0")K=`>=${$}.${w}.0${U} <${$}.${+w+1}.0-0`;else K=`>=${$}.${w}.0${U} <${+$+1}.0.0-0`;else if(W)if(Y("replaceCaret pr",W),$==="0")if(w==="0")K=`>=${$}.${w}.${J}-${W} <${$}.${w}.${+J+1}-0`;else K=`>=${$}.${w}.${J}-${W} <${$}.${+w+1}.0-0`;else K=`>=${$}.${w}.${J}-${W} <${+$+1}.0.0-0`;else if(Y("no pr"),$==="0")if(w==="0")K=`>=${$}.${w}.${J}${U} <${$}.${w}.${+J+1}-0`;else K=`>=${$}.${w}.${J}${U} <${$}.${+w+1}.0-0`;else K=`>=${$}.${w}.${J} <${+$+1}.0.0-0`;return Y("caret return",K),K})},af=(x,f)=>{return Y("replaceXRanges",x,f),x.split(/\s+/).map((q)=>tf(q,f)).join(" ")},tf=(x,f)=>{x=x.trim();let q=f.loose?G[_.XRANGELOOSE]:G[_.XRANGE];return x.replace(q,(U,I,$,w,J,W)=>{Y("xRange",x,U,I,$,w,J,W);let K=N($),j=K||N(w),F=j||N(J),H=F;if(I==="="&&H)I="";if(W=f.includePrerelease?"-0":"",K)if(I===">"||I==="<")U="<0.0.0-0";else U="*";else if(I&&H){if(j)w=0;if(J=0,I===">")if(I=">=",j)$=+$+1,w=0,J=0;else w=+w+1,J=0;else if(I==="<=")if(I="<",j)$=+$+1;else w=+w+1;if(I==="<")W="-0";U=`${I+$}.${w}.${J}${W}`}else if(j)U=`>=${$}.0.0${W} <${+$+1}.0.0-0`;else if(F)U=`>=${$}.${w}.0${W} <${$}.${+w+1}.0-0`;return Y("xRange return",U),U})},sf=(x,f)=>{return Y("replaceStars",x,f),x.trim().replace(G[_.STAR],"")},ef=(x,f)=>{return Y("replaceGTE0",x,f),x.trim().replace(G[f.includePrerelease?_.GTE0PRE:_.GTE0],"")},of=(x)=>(f,q,U,I,$,w,J,W,K,j,F,H)=>{if(N(U))q="";else if(N(I))q=`>=${U}.0.0${x?"-0":""}`;else if(N($))q=`>=${U}.${I}.0${x?"-0":""}`;else if(w)q=`>=${q}`;else q=`>=${q}${x?"-0":""}`;if(N(K))W="";else if(N(j))W=`<${+K+1}.0.0-0`;else if(N(F))W=`<${K}.${+j+1}.0-0`;else if(H)W=`<=${K}.${j}.${F}-${H}`;else if(x)W=`<${K}.${j}.${+F+1}-0`;else W=`<=${W}`;return`${q} ${W}`.trim()},x8=(x,f,q)=>{for(let U=0;U<x.length;U++)if(!x[U].test(f))return!1;if(f.prerelease.length&&!q.includePrerelease){for(let U=0;U<x.length;U++){if(Y(x[U].semver),x[U].semver===E0.ANY)continue;if(x[U].semver.prerelease.length>0){let I=x[U].semver;if(I.major===f.major&&I.minor===f.minor&&I.patch===f.patch)return!0}}return!1}return!0}});var p=D((fq,Hx)=>{var n=Symbol("SemVer ANY");class j0{static get ANY(){return n}constructor(x,f){if(f=zx(f),x instanceof j0)if(x.loose===!!f.loose)return x;else x=x.value;if(x=x.trim().split(/\s+/).join(" "),R0("comparator",x,f),this.options=f,this.loose=!!f.loose,this.parse(x),this.semver===n)this.value="";else this.value=this.operator+this.semver.version;R0("comp",this)}parse(x){let f=this.options.loose?Dx[yx.COMPARATORLOOSE]:Dx[yx.COMPARATOR],q=x.match(f);if(!q)throw TypeError(`Invalid comparator: ${x}`);if(this.operator=q[1]!==void 0?q[1]:"",this.operator==="=")this.operator="";if(!q[2])this.semver=n;else this.semver=new Fx(q[2],this.options.loose)}toString(){return this.value}test(x){if(R0("Comparator.test",x,this.options.loose),this.semver===n||x===n)return!0;if(typeof x==="string")try{x=new Fx(x,this.options)}catch(f){return!1}return P0(x,this.operator,this.semver,this.options)}intersects(x,f){if(!(x instanceof j0))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new Yx(x.value,f).test(this.value)}else if(x.operator===""){if(x.value==="")return!0;return new Yx(this.value,f).test(x.semver)}if(f=zx(f),f.includePrerelease&&(this.value==="<0.0.0-0"||x.value==="<0.0.0-0"))return!1;if(!f.includePrerelease&&(this.value.startsWith("<0.0.0")||x.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&x.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&x.operator.startsWith("<"))return!0;if(this.semver.version===x.semver.version&&this.operator.includes("=")&&x.operator.includes("="))return!0;if(P0(this.semver,"<",x.semver,f)&&this.operator.startsWith(">")&&x.operator.startsWith("<"))return!0;if(P0(this.semver,">",x.semver,f)&&this.operator.startsWith("<")&&x.operator.startsWith(">"))return!0;return!1}}Hx.exports=j0;var zx=f0(),{safeRe:Dx,t:yx}=T(),P0=S0(),R0=g(),Fx=V(),Yx=L()});var r=D((qq,Ox)=>{var f8=L(),q8=(x,f,q)=>{try{f=new f8(f,q)}catch(U){return!1}return f.test(x)};Ox.exports=q8});var Vx=D((Uq,ux)=>{var U8=L(),I8=(x,f)=>new U8(x,f).set.map((q)=>q.map((U)=>U.value).join(" ").trim().split(" "));ux.exports=I8});var Ax=D((Iq,_x)=>{var $8=V(),w8=L(),J8=(x,f,q)=>{let U=null,I=null,$=null;try{$=new w8(f,q)}catch(w){return null}return x.forEach((w)=>{if($.test(w)){if(!U||I.compare(w)===-1)U=w,I=new $8(U,q)}}),U};_x.exports=J8});var Nx=D(($q,Gx)=>{var Q8=V(),Z8=L(),W8=(x,f,q)=>{let U=null,I=null,$=null;try{$=new Z8(f,q)}catch(w){return null}return x.forEach((w)=>{if($.test(w)){if(!U||I.compare(w)===1)U=w,I=new Q8(U,q)}}),U};Gx.exports=W8});var Sx=D((wq,Lx)=>{var B0=V(),K8=L(),Xx=c(),j8=(x,f)=>{x=new K8(x,f);let q=new B0("0.0.0");if(x.test(q))return q;if(q=new B0("0.0.0-0"),x.test(q))return q;q=null;for(let U=0;U<x.set.length;++U){let I=x.set[U],$=null;if(I.forEach((w)=>{let J=new B0(w.semver.version);switch(w.operator){case">":if(J.prerelease.length===0)J.patch++;else J.prerelease.push(0);J.raw=J.format();case"":case">=":if(!$||Xx(J,$))$=J;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${w.operator}`)}}),$&&(!q||Xx(q,$)))q=$}if(q&&x.test(q))return q;return null};Lx.exports=j8});var Px=D((Jq,Ex)=>{var z8=L(),D8=(x,f)=>{try{return new z8(x,f).range||"*"}catch(q){return null}};Ex.exports=D8});var z0=D((Qq,kx)=>{var y8=V(),Cx=p(),{ANY:F8}=Cx,Y8=L(),H8=r(),Rx=c(),Bx=J0(),O8=Z0(),u8=Q0(),V8=(x,f,q,U)=>{x=new y8(x,U),f=new Y8(f,U);let I,$,w,J,W;switch(q){case">":I=Rx,$=O8,w=Bx,J=">",W=">=";break;case"<":I=Bx,$=u8,w=Rx,J="<",W="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(H8(x,f,U))return!1;for(let K=0;K<f.set.length;++K){let j=f.set[K],F=null,H=null;if(j.forEach((z)=>{if(z.semver===F8)z=new Cx(">=0.0.0");if(F=F||z,H=H||z,I(z.semver,F.semver,U))F=z;else if(w(z.semver,H.semver,U))H=z}),F.operator===J||F.operator===W)return!1;if((!H.operator||H.operator===J)&&$(x,H.semver))return!1;else if(H.operator===W&&w(x,H.semver))return!1}return!0};kx.exports=V8});var hx=D((Zq,Tx)=>{var _8=z0(),A8=(x,f,q)=>_8(x,f,">",q);Tx.exports=A8});var dx=D((Wq,Mx)=>{var G8=z0(),N8=(x,f,q)=>G8(x,f,"<",q);Mx.exports=N8});var vx=D((Kq,bx)=>{var lx=L(),X8=(x,f,q)=>{return x=new lx(x,q),f=new lx(f,q),x.intersects(f,q)};bx.exports=X8});var cx=D((jq,gx)=>{var L8=r(),S8=X();gx.exports=(x,f,q)=>{let U=[],I=null,$=null,w=x.sort((j,F)=>S8(j,F,q));for(let j of w)if(L8(j,f,q)){if($=j,!I)I=j}else{if($)U.push([I,$]);$=null,I=null}if(I)U.push([I,null]);let J=[];for(let[j,F]of U)if(j===F)J.push(j);else if(!F&&j===w[0])J.push("*");else if(!F)J.push(`>=${j}`);else if(j===w[0])J.push(`<=${F}`);else J.push(`${j} - ${F}`);let W=J.join(" || "),K=typeof f.raw==="string"?f.raw:String(f);return W.length<K.length?W:f}});var ix=D((zq,ax)=>{var mx=L(),k0=p(),{ANY:C0}=k0,a=r(),T0=X(),E8=(x,f,q={})=>{if(x===f)return!0;x=new mx(x,q),f=new mx(f,q);let U=!1;x:for(let I of x.set){for(let $ of f.set){let w=R8(I,$,q);if(U=U||w!==null,w)continue x}if(U)return!1}return!0},P8=[new k0(">=0.0.0-0")],px=[new k0(">=0.0.0")],R8=(x,f,q)=>{if(x===f)return!0;if(x.length===1&&x[0].semver===C0)if(f.length===1&&f[0].semver===C0)return!0;else if(q.includePrerelease)x=P8;else x=px;if(f.length===1&&f[0].semver===C0)if(q.includePrerelease)return!0;else f=px;let U=new Set,I,$;for(let z of x)if(z.operator===">"||z.operator===">=")I=nx(I,z,q);else if(z.operator==="<"||z.operator==="<=")$=rx($,z,q);else U.add(z.semver);if(U.size>1)return null;let w;if(I&&$){if(w=T0(I.semver,$.semver,q),w>0)return null;else if(w===0&&(I.operator!==">="||$.operator!=="<="))return null}for(let z of U){if(I&&!a(z,String(I),q))return null;if($&&!a(z,String($),q))return null;for(let ox of f)if(!a(z,String(ox),q))return!1;return!0}let J,W,K,j,F=$&&!q.includePrerelease&&$.semver.prerelease.length?$.semver:!1,H=I&&!q.includePrerelease&&I.semver.prerelease.length?I.semver:!1;if(F&&F.prerelease.length===1&&$.operator==="<"&&F.prerelease[0]===0)F=!1;for(let z of f){if(j=j||z.operator===">"||z.operator===">=",K=K||z.operator==="<"||z.operator==="<=",I){if(H){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===H.major&&z.semver.minor===H.minor&&z.semver.patch===H.patch)H=!1}if(z.operator===">"||z.operator===">="){if(J=nx(I,z,q),J===z&&J!==I)return!1}else if(I.operator===">="&&!a(I.semver,String(z),q))return!1}if($){if(F){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===F.major&&z.semver.minor===F.minor&&z.semver.patch===F.patch)F=!1}if(z.operator==="<"||z.operator==="<="){if(W=rx($,z,q),W===z&&W!==$)return!1}else if($.operator==="<="&&!a($.semver,String(z),q))return!1}if(!z.operator&&($||I)&&w!==0)return!1}if(I&&K&&!$&&w!==0)return!1;if($&&j&&!I&&w!==0)return!1;if(H||F)return!1;return!0},nx=(x,f,q)=>{if(!x)return f;let U=T0(x.semver,f.semver,q);return U>0?x:U<0?f:f.operator===">"&&x.operator===">="?f:x},rx=(x,f,q)=>{if(!x)return f;let U=T0(x.semver,f.semver,q);return U<0?x:U>0?f:f.operator==="<"&&x.operator==="<="?f:x};ax.exports=E8});var F4=D((Dq,ex)=>{var h0=T(),tx=v(),B8=V(),sx=G0(),C8=k(),k8=_1(),T8=G1(),h8=L1(),M8=P1(),d8=B1(),l8=k1(),b8=h1(),v8=d1(),g8=X(),c8=g1(),m8=m1(),p8=w0(),n8=a1(),r8=t1(),a8=c(),i8=J0(),t8=X0(),s8=L0(),e8=Q0(),o8=Z0(),x4=S0(),f4=$x(),q4=p(),U4=L(),I4=r(),$4=Vx(),w4=Ax(),J4=Nx(),Q4=Sx(),Z4=Px(),W4=z0(),K4=hx(),j4=dx(),z4=vx(),D4=cx(),y4=ix();ex.exports={parse:C8,valid:k8,clean:T8,inc:h8,diff:M8,major:d8,minor:l8,patch:b8,prerelease:v8,compare:g8,rcompare:c8,compareLoose:m8,compareBuild:p8,sort:n8,rsort:r8,gt:a8,lt:i8,eq:t8,neq:s8,gte:e8,lte:o8,cmp:x4,coerce:f4,Comparator:q4,Range:U4,satisfies:I4,toComparators:$4,maxSatisfying:w4,minSatisfying:J4,minVersion:Q4,validRange:Z4,outside:W4,gtr:K4,ltr:j4,intersects:z4,simplifyRange:D4,subset:y4,SemVer:B8,re:h0.re,src:h0.src,tokens:h0.t,SEMVER_SPEC_VERSION:tx.SEMVER_SPEC_VERSION,RELEASE_TYPES:tx.RELEASE_TYPES,compareIdentifiers:sx.compareIdentifiers,rcompareIdentifiers:sx.rcompareIdentifiers}});
|
|
2
|
+
export{F4 as Cl,C as Dl,$1 as El,g0 as Fl,p0 as Gl,a0 as Hl,V6 as Il,_6 as Jl};
|