├── .env.example ├── .gitignore ├── .vscode └── settings.json ├── Langchain-Basic └── index.js ├── OpenAI-Agent └── index.js ├── RAG ├── constant.js ├── index.js └── load-and-store-data.js ├── README.md ├── assets └── aoai.png ├── data └── kong.txt ├── db └── kong.lance │ ├── _latest.manifest │ ├── _transactions │ ├── 0-f7e63d68-b18d-43bd-a270-46999f84c000.txn │ ├── 1-ee7520f8-9bba-4776-bf1b-0b5fdeec6191.txn │ ├── 2-9a12708f-32ec-4e49-8f5d-ce9651d6742b.txn │ ├── 3-ea63c681-3ae9-4ec3-9959-3c0e64e09fd7.txn │ ├── 4-a2142390-ffd6-45c3-8bd7-08937c1aecae.txn │ ├── 5-84559d71-aaa5-4ca0-a311-ed0cfa3db16e.txn │ └── 6-789812b5-2e09-4de4-967f-36024c954709.txn │ ├── _versions │ ├── 1.manifest │ ├── 2.manifest │ ├── 3.manifest │ ├── 4.manifest │ ├── 5.manifest │ ├── 6.manifest │ └── 7.manifest │ └── data │ ├── 0b5bc98c-4266-42ea-9036-8633c66d0a16.lance │ ├── 2bab51d5-3122-44da-8263-406e6b621623.lance │ ├── 2ce5d999-ca29-408e-a726-fb07f2180be5.lance │ ├── 7515314e-095a-403d-95bc-63ee65251262.lance │ ├── a3c770d5-ae9e-438e-acca-e9c9ad340114.lance │ └── e8aba693-4765-4210-b26b-84702ee0af6d.lance ├── docs └── llm-course.pdf ├── package.json ├── reAct └── index.js └── yarn.lock /.env.example: -------------------------------------------------------------------------------- 1 | AZURE_OPENAI_API_KEY= 2 | AZURE_OPENAI_API_VERSION=2024-05-01-preview 3 | AZURE_OPENAI_API_INSTANCE_NAME= 4 | AZURE_OPENAI_API_DEPLOYMENT_NAME=gpt-4o 5 | AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME=text-embedding-3-large 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # compiled output 2 | /dist 3 | /node_modules 4 | /build 5 | 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | pnpm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | lerna-debug.log* 14 | 15 | # OS 16 | .DS_Store 17 | 18 | # Tests 19 | /coverage 20 | /.nyc_output 21 | 22 | # IDEs and editors 23 | /.idea 24 | .project 25 | .classpath 26 | .c9/ 27 | *.launch 28 | .settings/ 29 | *.sublime-workspace 30 | 31 | # IDE - VSCode 32 | .vscode/* 33 | !.vscode/settings.json 34 | !.vscode/tasks.json 35 | !.vscode/launch.json 36 | !.vscode/extensions.json 37 | 38 | # dotenv environment variable files 39 | .env 40 | .env.development.local 41 | .env.test.local 42 | .env.production.local 43 | .env.local 44 | 45 | # temp directory 46 | .temp 47 | .tmp 48 | 49 | # Runtime data 50 | pids 51 | *.pid 52 | *.seed 53 | *.pid.lock 54 | 55 | # Diagnostic reports (https://nodejs.org/api/report.html) 56 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 57 | 58 | 59 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["lancedb", "langchain", "LCEL"] 3 | } 4 | -------------------------------------------------------------------------------- /Langchain-Basic/index.js: -------------------------------------------------------------------------------- 1 | import dotenv from "dotenv"; 2 | import path from "path"; 3 | import { fileURLToPath } from "url"; 4 | import { ChatOpenAI } from "@langchain/openai"; 5 | import { HumanMessage, SystemMessage } from "@langchain/core/messages"; 6 | import { ChatPromptTemplate } from "@langchain/core/prompts"; 7 | import { StringOutputParser } from "@langchain/core/output_parsers"; 8 | import { RunnableSequence } from "@langchain/core/runnables"; 9 | 10 | const __filename = fileURLToPath(import.meta.url); 11 | const currentDir = path.dirname(__filename); 12 | 13 | // 加载环境变量 14 | dotenv.config({ path: path.join(currentDir, "../.env") }); 15 | 16 | async function basicModel() { 17 | // 直接调用模型 18 | const chatModel = new ChatOpenAI(); 19 | // chat model 的参数要求是一组 message 20 | const res = await chatModel.invoke([ 21 | new SystemMessage("你是一个非常有趣的 AI,会用非常严肃的口吻讲笑话"), 22 | new HumanMessage("讲个笑话"), 23 | ]); 24 | 25 | console.log(res); 26 | } 27 | 28 | // 基础的 LCEL Chain 29 | async function basicChain() { 30 | const chatModel = new ChatOpenAI(); 31 | // 定义 outputParse, 其作用是解析 AI 的输出,将其中的文本部分提取出来 32 | const outputPrase = new StringOutputParser(); 33 | 34 | // 通过 pipe 连接成 chain 35 | const simpleChain = chatModel.pipe(outputPrase); 36 | 37 | const res = await simpleChain.invoke([new HumanMessage("Tell me a joke")]); 38 | console.log(res); 39 | } 40 | 41 | async function basicChatChain() { 42 | // 构建 chatPrompt 43 | const prompt = ChatPromptTemplate.fromMessages([ 44 | // fromMessages 中可以使用的简化的语法。 tone 是变量 45 | ["system", "你是一个非常有趣的 AI,会用非常{tone}的口吻讲笑话"], 46 | ["human", "讲个关于{topic}的笑话"], 47 | ]); 48 | const chatModel = new ChatOpenAI({ 49 | // 设置为 true 时,会输出更多的信息,方便调试 50 | verbose: true, 51 | }); 52 | // 定义 outputParse, 其作用是解析 AI 的输出,将其中的文本部分提取出来 53 | const outputPrase = new StringOutputParser(); 54 | 55 | // 构建 chain 的简化用法,等价于 pipe 56 | const chatChain = RunnableSequence.from([prompt, chatModel, outputPrase]); 57 | 58 | const res = await chatChain.invoke({ topic: "猫", tone: "二次元" }); 59 | console.log(res); 60 | } 61 | 62 | function main() { 63 | // basicModel(); 64 | // basicChain(); 65 | // basicChatChain(); 66 | } 67 | 68 | main(); 69 | -------------------------------------------------------------------------------- /OpenAI-Agent/index.js: -------------------------------------------------------------------------------- 1 | import dotenv from "dotenv"; 2 | import path from "path"; 3 | import { fileURLToPath } from "url"; 4 | import { DynamicTool, DynamicStructuredTool } from "@langchain/core/tools"; 5 | import { ChatOpenAI } from "@langchain/openai"; 6 | import { AgentExecutor, createOpenAIToolsAgent, createReactAgent } from "langchain/agents"; 7 | import { z } from "zod"; 8 | import { Calculator } from "@langchain/community/tools/calculator"; 9 | import { ChatPromptTemplate } from "@langchain/core/prompts"; 10 | 11 | const __filename = fileURLToPath(import.meta.url); 12 | const currentDir = path.dirname(__filename); 13 | 14 | // 加载环境变量 15 | dotenv.config({ path: path.join(currentDir, "../.env") }); 16 | 17 | // 创建自定义 tool,openAI-agent 支持 DynamicStructuredTool 和 DynamicTool,也就是支持多输入和单输入的工具, 18 | // 提供了构建更复杂的工具的能力 19 | const dateDiffTool = new DynamicStructuredTool({ 20 | name: "date-difference-calculator", 21 | description: "计算两个日期之间的天数差", 22 | schema: z.object({ 23 | date1: z.string().describe("第一个日期,以YYYY-MM-DD格式表示"), 24 | date2: z.string().describe("第二个日期,以YYYY-MM-DD格式表示"), 25 | }), 26 | func: async ({ date1, date2 }) => { 27 | const d1 = new Date(date1); 28 | const d2 = new Date(date2); 29 | const difference = Math.abs(d2.getTime() - d1.getTime()); 30 | const days = Math.ceil(difference / (1000 * 60 * 60 * 24)); 31 | return days.toString(); 32 | }, 33 | }); 34 | 35 | const exchangeRateTool = new DynamicTool({ 36 | name: "exchange-rate-calculator", 37 | description: "获取人民币和美元之间的最新汇率。输入应为你当前的货币,'CNY' 或 'USD'。", 38 | func: async (input) => { 39 | // 硬编码的汇率 40 | const exchangeRate = 7.12; 41 | 42 | let result; 43 | if (input === "CNY") { 44 | result = `1 CNY = ${(1 / exchangeRate).toFixed(4)} USD`; 45 | } else if (input === "USD") { 46 | result = `1 USD = ${exchangeRate} CNY`; 47 | } else { 48 | throw new Error("输入格式不正确。请使用 'CNY' 或 'USD'。"); 49 | } 50 | 51 | return result; 52 | }, 53 | }); 54 | const tools = [new Calculator(), exchangeRateTool, dateDiffTool]; 55 | 56 | const prompt = ChatPromptTemplate.fromMessages([ 57 | ["system", "You are a helpful assistant"], 58 | ["user", "{input}"], 59 | ["placeholder", "{agent_scratchpad}"], 60 | ]); 61 | 62 | const llm = new ChatOpenAI({ 63 | temperature: 0, 64 | // 设置为 true,观察 AI 思考过程 65 | verbose: true, 66 | }); 67 | const agent = await createOpenAIToolsAgent({ 68 | llm, 69 | tools, 70 | prompt, 71 | }); 72 | 73 | const agentExecutor = new AgentExecutor({ 74 | agent, 75 | tools, 76 | }); 77 | 78 | const res = await agentExecutor.invoke({ 79 | input: 80 | "你要回答我两个问题,一个是我有 20 美元这相当于多少人民币? 另一个是 今年是 2024 年,今年 5.1 和 10.1 之间有多少天?", 81 | }); 82 | 83 | /** 84 | 输出 85 | 86 | { 87 | input: '你要回答我两个问题,一个是我有 20 美元这相当于多少人民币? 另一个是 今年是 2024 年,今年 5.1 和 10.1 之间有多少天?', 88 | output: '1. 根据最新汇率,1 美元 = 7.12 人民币。因此,20 美元相当于 20 * 7.12 = 142.4 人民币。\n' + 89 | '\n' + 90 | '2. 2024 年 5 月 1 日和 2024 年 10 月 1 日之间有 153 天。' 91 | } 92 | */ 93 | console.log(res); 94 | 95 | // 完整调用 过程: 96 | /** 97 | [llm/start] [1:llm:OpenAIToolsAgent] Entering LLM run with input: { 98 | "messages": [ 99 | [ 100 | { 101 | "lc": 1, 102 | "type": "constructor", 103 | "id": [ 104 | "langchain_core", 105 | "messages", 106 | "SystemMessage" 107 | ], 108 | "kwargs": { 109 | "content": "You are a helpful assistant", 110 | "additional_kwargs": {}, 111 | "response_metadata": {} 112 | } 113 | }, 114 | { 115 | "lc": 1, 116 | "type": "constructor", 117 | "id": [ 118 | "langchain_core", 119 | "messages", 120 | "HumanMessage" 121 | ], 122 | "kwargs": { 123 | "content": "你要回答我两个问题,一个是我有 20 美元这相当于多少人民币? 另一个是 今年是 2024 年,今年 5.1 和 10.1 之间有多少天?", 124 | "additional_kwargs": {}, 125 | "response_metadata": {} 126 | } 127 | } 128 | ] 129 | ] 130 | } 131 | [llm/end] [1:llm:OpenAIToolsAgent] [7.04s] Exiting LLM run with output: { 132 | "generations": [ 133 | [ 134 | { 135 | "text": "", 136 | "generationInfo": { 137 | "prompt": 0, 138 | "completion": 0, 139 | "finish_reason": "tool_calls", 140 | "system_fingerprint": "fp_abc28019ad" 141 | }, 142 | "message": { 143 | "lc": 1, 144 | "type": "constructor", 145 | "id": [ 146 | "langchain_core", 147 | "messages", 148 | "AIMessageChunk" 149 | ], 150 | "kwargs": { 151 | "content": "", 152 | "additional_kwargs": { 153 | "tool_calls": [ 154 | { 155 | "function": { 156 | "arguments": "{\"input\": \"USD\"}", 157 | "name": "exchange-rate-calculator" 158 | }, 159 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 160 | "index": 0, 161 | "type": "function" 162 | }, 163 | { 164 | "function": { 165 | "arguments": "{\"date1\": \"2024-05-01\", \"date2\": \"2024-10-01\"}", 166 | "name": "date-difference-calculator" 167 | }, 168 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 169 | "index": 1, 170 | "type": "function" 171 | } 172 | ] 173 | }, 174 | "response_metadata": { 175 | "prompt": 0, 176 | "completion": 0, 177 | "finish_reason": "tool_calls", 178 | "system_fingerprint": "fp_abc28019ad" 179 | }, 180 | "tool_call_chunks": [ 181 | { 182 | "name": "exchange-rate-calculator", 183 | "args": "{\"input\": \"USD\"}", 184 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 185 | "index": 0, 186 | "type": "tool_call_chunk" 187 | }, 188 | { 189 | "name": "date-difference-calculator", 190 | "args": "{\"date1\": \"2024-05-01\", \"date2\": \"2024-10-01\"}", 191 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 192 | "index": 1, 193 | "type": "tool_call_chunk" 194 | } 195 | ], 196 | "id": "chatcmpl-A3K0wk0ciusfRaJ7wd9Fxn6cKGIza", 197 | "tool_calls": [ 198 | { 199 | "name": "exchange-rate-calculator", 200 | "args": { 201 | "input": "USD" 202 | }, 203 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 204 | "type": "tool_call" 205 | }, 206 | { 207 | "name": "date-difference-calculator", 208 | "args": { 209 | "date1": "2024-05-01", 210 | "date2": "2024-10-01" 211 | }, 212 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 213 | "type": "tool_call" 214 | } 215 | ], 216 | "invalid_tool_calls": [] 217 | } 218 | } 219 | } 220 | ] 221 | ] 222 | } 223 | [llm/start] [1:llm:OpenAIToolsAgent] Entering LLM run with input: { 224 | "messages": [ 225 | [ 226 | { 227 | "lc": 1, 228 | "type": "constructor", 229 | "id": [ 230 | "langchain_core", 231 | "messages", 232 | "SystemMessage" 233 | ], 234 | "kwargs": { 235 | "content": "You are a helpful assistant", 236 | "additional_kwargs": {}, 237 | "response_metadata": {} 238 | } 239 | }, 240 | { 241 | "lc": 1, 242 | "type": "constructor", 243 | "id": [ 244 | "langchain_core", 245 | "messages", 246 | "HumanMessage" 247 | ], 248 | "kwargs": { 249 | "content": "你要回答我两个问题,一个是我有 20 美元这相当于多少人民币? 另一个是 今年是 2024 年,今年 5.1 和 10.1 之间有多少天?", 250 | "additional_kwargs": {}, 251 | "response_metadata": {} 252 | } 253 | }, 254 | { 255 | "lc": 1, 256 | "type": "constructor", 257 | "id": [ 258 | "langchain_core", 259 | "messages", 260 | "AIMessageChunk" 261 | ], 262 | "kwargs": { 263 | "content": "", 264 | "additional_kwargs": { 265 | "tool_calls": [ 266 | { 267 | "function": { 268 | "arguments": "{\"input\": \"USD\"}", 269 | "name": "exchange-rate-calculator" 270 | }, 271 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 272 | "index": 0, 273 | "type": "function" 274 | }, 275 | { 276 | "function": { 277 | "arguments": "{\"date1\": \"2024-05-01\", \"date2\": \"2024-10-01\"}", 278 | "name": "date-difference-calculator" 279 | }, 280 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 281 | "index": 1, 282 | "type": "function" 283 | } 284 | ] 285 | }, 286 | "response_metadata": { 287 | "prompt": 0, 288 | "completion": 0, 289 | "finish_reason": "tool_calls", 290 | "system_fingerprint": "fp_abc28019ad" 291 | }, 292 | "tool_call_chunks": [ 293 | { 294 | "name": "exchange-rate-calculator", 295 | "args": "{\"input\": \"USD\"}", 296 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 297 | "index": 0, 298 | "type": "tool_call_chunk" 299 | }, 300 | { 301 | "name": "date-difference-calculator", 302 | "args": "{\"date1\": \"2024-05-01\", \"date2\": \"2024-10-01\"}", 303 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 304 | "index": 1, 305 | "type": "tool_call_chunk" 306 | } 307 | ], 308 | "id": "chatcmpl-A3K0wk0ciusfRaJ7wd9Fxn6cKGIza", 309 | "tool_calls": [ 310 | { 311 | "name": "exchange-rate-calculator", 312 | "args": { 313 | "input": "USD" 314 | }, 315 | "id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 316 | "type": "tool_call" 317 | }, 318 | { 319 | "name": "date-difference-calculator", 320 | "args": { 321 | "date1": "2024-05-01", 322 | "date2": "2024-10-01" 323 | }, 324 | "id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 325 | "type": "tool_call" 326 | } 327 | ], 328 | "invalid_tool_calls": [] 329 | } 330 | }, 331 | { 332 | "lc": 1, 333 | "type": "constructor", 334 | "id": [ 335 | "langchain_core", 336 | "messages", 337 | "ToolMessage" 338 | ], 339 | "kwargs": { 340 | "tool_call_id": "call_xtqW8jAFEY1giX3v7uuqRYHT", 341 | "content": "1 USD = 7.12 CNY", 342 | "additional_kwargs": { 343 | "name": "exchange-rate-calculator" 344 | }, 345 | "response_metadata": {} 346 | } 347 | }, 348 | { 349 | "lc": 1, 350 | "type": "constructor", 351 | "id": [ 352 | "langchain_core", 353 | "messages", 354 | "ToolMessage" 355 | ], 356 | "kwargs": { 357 | "tool_call_id": "call_ldLVRjAqdkMMMG6TUMQ5CQ58", 358 | "content": "153", 359 | "additional_kwargs": { 360 | "name": "date-difference-calculator" 361 | }, 362 | "response_metadata": {} 363 | } 364 | } 365 | ] 366 | ] 367 | } 368 | [llm/end] [1:llm:OpenAIToolsAgent] [1.51s] Exiting LLM run with output: { 369 | "generations": [ 370 | [ 371 | { 372 | "text": "1. 根据最新汇率,1 美元 = 7.12 人民币。因此,20 美元相当于 20 * 7.12 = 142.4 人民币。\n\n2. 2024 年 5 月 1 日和 2024 年 10 月 1 日之间有 153 天。", 373 | "generationInfo": { 374 | "prompt": 0, 375 | "completion": 0, 376 | "finish_reason": "stop", 377 | "system_fingerprint": "fp_abc28019ad" 378 | }, 379 | "message": { 380 | "lc": 1, 381 | "type": "constructor", 382 | "id": [ 383 | "langchain_core", 384 | "messages", 385 | "AIMessageChunk" 386 | ], 387 | "kwargs": { 388 | "content": "1. 根据最新汇率,1 美元 = 7.12 人民币。因此,20 美元相当于 20 * 7.12 = 142.4 人民币。\n\n2. 2024 年 5 月 1 日和 2024 年 10 月 1 日之间有 153 天。", 389 | "additional_kwargs": {}, 390 | "response_metadata": { 391 | "prompt": 0, 392 | "completion": 0, 393 | "finish_reason": "stop", 394 | "system_fingerprint": "fp_abc28019ad" 395 | }, 396 | "tool_call_chunks": [], 397 | "id": "chatcmpl-A3K13YXiXrjqlyOzwu5DiW5pVnDyS", 398 | "tool_calls": [], 399 | "invalid_tool_calls": [] 400 | } 401 | } 402 | } 403 | ] 404 | ] 405 | } 406 | { 407 | input: '你要回答我两个问题,一个是我有 20 美元这相当于多少人民币? 另一个是 今年是 2024 年,今年 5.1 和 10.1 之间有多少天?', 408 | output: '1. 根据最新汇率,1 美元 = 7.12 人民币。因此,20 美元相当于 20 * 7.12 = 142.4 人民币。\n' + 409 | '\n' + 410 | '2. 2024 年 5 月 1 日和 2024 年 10 月 1 日之间有 153 天。' 411 | } 412 | 413 | */ 414 | -------------------------------------------------------------------------------- /RAG/constant.js: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | import { fileURLToPath } from "url"; 3 | 4 | const __filename = fileURLToPath(import.meta.url); 5 | const currentDir = path.dirname(__filename); 6 | 7 | export const TABLE_NAME = "kong"; 8 | export const DB_URI = path.join(currentDir, "../db"); 9 | -------------------------------------------------------------------------------- /RAG/index.js: -------------------------------------------------------------------------------- 1 | import { TABLE_NAME, DB_URI } from "./constant.js"; 2 | import * as lancedb from "@lancedb/lancedb"; 3 | import * as arrow from "apache-arrow"; 4 | import { OpenAIEmbeddings } from "@langchain/openai"; 5 | import dotenv from "dotenv"; 6 | import path from "path"; 7 | import { fileURLToPath } from "url"; 8 | import { RunnableSequence } from "@langchain/core/runnables"; 9 | import { ChatPromptTemplate } from "@langchain/core/prompts"; 10 | import { ChatOpenAI } from "@langchain/openai"; 11 | import { StringOutputParser } from "@langchain/core/output_parsers"; 12 | 13 | const __filename = fileURLToPath(import.meta.url); 14 | const currentDir = path.dirname(__filename); 15 | 16 | // 加载环境变量 17 | dotenv.config({ path: path.join(currentDir, "../.env") }); 18 | 19 | // 连接数据库 20 | const db = await lancedb.connect(DB_URI); 21 | const table = await db.openTable(TABLE_NAME); 22 | 23 | const embeddings = new OpenAIEmbeddings(); 24 | 25 | const contextRetrieverChain = RunnableSequence.from([ 26 | (input) => input.question, 27 | async (question) => { 28 | const queryVector = await embeddings.embedQuery(question); 29 | const relatedDocs = await table.vectorSearch(queryVector).limit(4).toArray(); 30 | 31 | return relatedDocs.map((doc) => doc.content).join("\n ----------- \n"); 32 | }, 33 | ]); 34 | 35 | // 用于测试 contextRetrieverChain 36 | // const result = await contextRetrieverChain.invoke({ question: "茴香豆是做什么用的" }); 37 | // console.log(result); 38 | 39 | // 构建 chatPrompt 40 | const prompt = ChatPromptTemplate.fromMessages([ 41 | [ 42 | "system", 43 | `你是一个熟读鲁迅的《孔乙己》的终极原著党,精通根据作品原文详细解释和回答问题,你在回答时会引用作品原文。 44 | 并且回答时仅根据原文,尽可能回答用户问题,如果原文中没有相关内容,你可以回答“原文中没有相关内容”,`, 45 | ], 46 | [ 47 | "user", 48 | ` 49 | 以下是原文中跟用户回答相关的内容: 50 | {context} 51 | 52 | 现在,你需要基于原文,回答以下问题: 53 | {question} 54 | `, 55 | ], 56 | ]); 57 | const model = new ChatOpenAI({ 58 | // 设置为 true 时,会输出更多的信息,方便调试 59 | // verbose: true, 60 | }); 61 | 62 | const ragChain = RunnableSequence.from([ 63 | // chain 中的第一个节点 64 | { 65 | // 根据用户的输入获取 context。 输入是整个 chain 的输出,返回值赋值给 context 66 | context: contextRetrieverChain, 67 | // 将输入中的 question 赋值给 question,也就是将用户的输入传递给下一个节点 68 | question: (input) => input.question, 69 | }, 70 | // 这个节点的输入是一个对象,包含了 context 和 question 71 | prompt, 72 | model, 73 | // 提取模型中的文本输出 74 | new StringOutputParser(), 75 | ]); 76 | 77 | const result = await ragChain.invoke({ question: "茴香豆是做什么用的" }); 78 | console.log(result); 79 | -------------------------------------------------------------------------------- /RAG/load-and-store-data.js: -------------------------------------------------------------------------------- 1 | import { TextLoader } from "langchain/document_loaders/fs/text"; 2 | import * as lancedb from "@lancedb/lancedb"; 3 | import * as arrow from "apache-arrow"; 4 | import path from "path"; 5 | import { fileURLToPath } from "url"; 6 | import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"; 7 | import { OpenAIEmbeddings } from "@langchain/openai"; 8 | import dotenv from "dotenv"; 9 | import { TABLE_NAME, DB_URI } from "./constant.js"; 10 | 11 | const __filename = fileURLToPath(import.meta.url); 12 | const currentDir = path.dirname(__filename); 13 | 14 | // 加载环境变量 15 | dotenv.config({ path: path.join(currentDir, "../.env") }); 16 | 17 | // 加载 vector store (lanceDB) 18 | const EMBEDDING_VECTOR_SIZE = 3072; // 需根据使用的 embedding 模型生成的 vector size 进行修改 19 | const db = await lancedb.connect(DB_URI); 20 | 21 | const tableNames = await db.tableNames(); 22 | if (!tableNames.includes(TABLE_NAME)) { 23 | const schema = new arrow.Schema([ 24 | // index 标记是文章的第几块 25 | new arrow.Field("index", new arrow.Int32()), 26 | // vector 是文章的 embedding 后的 vector 27 | new arrow.Field( 28 | "vector", 29 | new arrow.FixedSizeList( 30 | EMBEDDING_VECTOR_SIZE, 31 | new arrow.Field("item", new arrow.Float32(), true) 32 | ) 33 | ), 34 | new arrow.Field("lines_from", new arrow.Int32()), 35 | new arrow.Field("lines_to", new arrow.Int32()), 36 | // content 该块的内容 37 | new arrow.Field("content", new arrow.Utf8()), 38 | ]); 39 | 40 | const empty_tbl = await db.createEmptyTable(TABLE_NAME, schema); 41 | console.log(`Created ${TABLE_NAME} table:`, empty_tbl); 42 | } else { 43 | console.log(`${TABLE_NAME} table already exists`); 44 | } 45 | 46 | // 加载数据源 47 | const loader = new TextLoader(path.join(currentDir, "../data/kong.txt")); 48 | const docs = await loader.load(); 49 | 50 | // 对长文章进行切块 51 | const splitter = new RecursiveCharacterTextSplitter({ 52 | // 每块的长度 53 | chunkSize: 500, 54 | // 块之间的重叠长度 55 | chunkOverlap: 100, 56 | }); 57 | /** 58 | * splitDocs 是切块后的结果 59 | * 其每一部分结构是 60 | Document { 61 | pageContent: "xxxx", 62 | metadata: { source: "data/qiu.txt", loc: { lines: { from: 35, to: 42 } } } 63 | } 64 | * */ 65 | const splitDocs = await splitter.splitDocuments(docs); 66 | 67 | // 创建将切块后的 content 进行 embedding 的实例,其作用是将文本转换成向量(vector),方便之后进行检索 68 | const embeddings = new OpenAIEmbeddings(); 69 | 70 | // 创建 table 实例 71 | const table = await db.openTable(TABLE_NAME); 72 | 73 | // 将切块后的 content 进行 embedding 74 | for (let i = 0; i < splitDocs.length; i++) { 75 | const doc = splitDocs[i]; 76 | console.log(`Embedding ${i + 1}/${splitDocs.length}...`); 77 | const vector = await embeddings.embedQuery(doc.pageContent); 78 | await table.add([ 79 | { 80 | index: i, 81 | vector: vector, 82 | lines_from: doc.metadata?.loc?.lines?.from, 83 | lines_to: doc.metadata?.loc?.lines?.to, 84 | content: doc.pageContent, 85 | }, 86 | ]); 87 | console.log(`Embedded ${i + 1}/${splitDocs.length}`); 88 | } 89 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Langchain.js 入门课 2 | 3 | [](https://api.gitsponsors.com/api/badge/link?p=PHLc7DbS+yV2NY/gup5aekmMGSVM9gFehDob2B2vRtYcjV3w827VBzYM4I7UmJ6ausXlYDvC0J5HecgiuM4NZCpWr1ptuwIe1mtpvV7sBDd1Xd0mZ/bfA0ea6+fw8QkPsLfie2pw7UG0ah/9RsORPw==) 4 | 5 | ## 报名链接 6 | AI+Web3 速成班:从理论到实战,全面解锁开发新范式 7 | https://openbuild.xyz/learn/challenges/2054935307 8 | 9 | b站视频链接: [Link](https://www.bilibili.com/video/BV1gkcfeVEjr/?vd_source=a642bff40f8cf9984fe37585388921f6) 10 | 11 | ## 课程 Slides 12 | 13 | - [PDF](./docs/llm-course.pdf) 14 | 15 | ## 环境变量配置 16 | 17 | 本项目使用 OpenAI 的 LLM 和 Embedding 的 API,可以选择 OpenAI 官方 API 或者使用 Azure OpenAI 服务,如果使用其他 LLM 和 Embedding API,请自行查阅 langchain.js 和对应 API 的文档。 18 | 19 | ### OpenAI 20 | 21 | 如果你是 OpenAI 官方 API 用户,在 .env 中配置以下环境变量: 22 | 23 | ```shell 24 | OPENAI_API_KEY= 25 | ``` 26 | 27 | 如果使用 OpenAI API,可能需要在创建 `OpenAIEmbeddings` 时手动指定 model 参数,来确定使用的 embedding model,具体请参考:https://js.langchain.com/v0.2/docs/integrations/text_embedding/openai/ 28 | 29 | 参考文档: 30 | 31 | - https://js.langchain.com/v0.2/docs/integrations/llms/openai/ 32 | - https://v02.api.js.langchain.com/classes/_langchain_openai.OpenAI.html 33 | 34 | ### Azure OpenAI 35 | 36 | 如果你使用的 Azure OpenAI 服务,需要在 .env 配置以下环境变量: 37 | 38 | 创建和部署 Azure OpenAI 服务的教程可以参考 [这里](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal), 以及其他 Azure OpenAI 官方文档和教程。 39 | 40 | ```shell 41 | AZURE_OPENAI_API_KEY=abc 42 | AZURE_OPENAI_API_VERSION=abc 43 | AZURE_OPENAI_API_DEPLOYMENT_NAME=abc 44 | AZURE_OPENAI_API_INSTANCE_NAME=abc 45 | AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME=abc 46 | ``` 47 | 48 | - AZURE_OPENAI_API_KEY 是你部署的服务的 Key, 可以在下图中的 密钥和终结点中找到。 49 | - AZURE_OPENAI_API_VERSION 是使用的 API 版本,本课程使用的是 2024-05-01-preview。 50 | - AZURE_OPENAI_API_INSTANCE_NAME 是你部署服务的名称,也就是下面截图左上角打码部分的名称 51 | - AZURE_OPENAI_API_DEPLOYMENT_NAME 是你部署的模型实例的名称,如不理解可参考 [这里](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal#deploy-a-model) 对 Deployment name 的概念介绍。 52 | - AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME 是你用于 embedding 的模型实例名称。 53 | 54 | ![Azure OpenAI](./assets/aoai.png) 55 | 56 | 在配置时遇到问题,可以查阅文档: 57 | 58 | - https://js.langchain.com/v0.2/docs/integrations/llms/azure/ 59 | - https://v02.api.js.langchain.com/classes/_langchain_openai.AzureOpenAI.html 60 | - https://learn.microsoft.com/en-us/azure/ai-services/openai/ 61 | 62 | ## Langchain Basic 63 | 64 | 介绍基础的 langchain.js LCEL Chain 的使用方式 65 | [code](./Langchain-Basic/index.js) 66 | 67 | 参考文档: 68 | 69 | - https://js.langchain.com/v0.2/docs/tutorials/llm_chain 70 | 71 | ## RAG 72 | 73 | 使用 langchian.js 和 lanceDB 构建一个 RAG 工具。 74 | 75 | 其将 孔乙己原文 作为知识库,使用 langchain.js 的 LLM 和 Embedding API,实现一个 RAG 工具,可以回答关于孔乙己的问题。 76 | 77 | [构建向量数据库](./RAG/load-and-store-data.js) 78 | [构建 RAG 工具](./RAG/index.js) 79 | 80 | 参考文档: 81 | 82 | - https://juejin.cn/book/7347579913702293567/section/7351410645298135091 83 | - https://js.langchain.com/v0.2/docs/tutorials/rag 84 | 85 | ## reAct Agent 86 | 87 | 使用 langchain.js 构建一个 reAct Agent。 88 | 89 | reAct 是一个非常简单和基础的 Agent,但它非常方便新手理解 Agent 的概念和哲学。 其只支持单一输入和输出的 tool,限制了应用场景。 90 | [code](./reAct/index.js) 91 | 92 | 参考文档: 93 | 94 | - https://js.langchain.com/v0.2/docs/concepts/#react-agents 95 | - https://arxiv.org/abs/2210.03629 96 | 97 | ## OpenAI-Agent 98 | 99 | 目前最好用也是最强的 Agent 方案,基于 OpenAI [Function Calling](https://platform.openai.com/docs/guides/function-calling) 功能,支持复杂的输入和输出,并且可以将函数的输入输出定义为 JSON Schema,方便模型进行理解和调用。 100 | 101 | [code](./OpenAI-Agent/index.js) 102 | 103 | 参考文档: 104 | 105 | - https://js.langchain.com/v0.2/docs/tutorials/agents 106 | -------------------------------------------------------------------------------- /assets/aoai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/assets/aoai.png -------------------------------------------------------------------------------- /data/kong.txt: -------------------------------------------------------------------------------- 1 | 鲁镇的酒店的格局,是和别处不同的:都是当街一个曲尺形的大柜台,柜里面预备着热水,可以随时温酒。做工的人,傍午傍晚散了工,每每花四文铜钱,买一碗酒,——这是二十多年前的事,现在每碗要涨到十文,——靠柜外站着,热热的喝了休息;倘肯多花一文,便可以买一碟盐煮笋,或者茴香豆,做下酒物了,如果出到十几文,那就能买一样荤菜,但这些顾客,多是短衣帮,大抵没有这样阔绰。只有穿长衫的,才踱进店面隔壁的房子里,要酒要菜,慢慢地坐喝。 2 | 3 | 4 | 我从十二岁起,便在镇口的咸亨酒店里当伙计,掌柜说,我样子太傻,怕侍候不了长衫主顾,就在外面做点事罢。外面的短衣主顾,虽然容易说话,但唠唠叨叨缠夹不清的也很不少。他们往往要亲眼看着黄酒从坛子里舀出,看过壶子底里有水没有,又亲看将壶子放在热水里,然后放心:在这严重监督下,羼水也很为难。所以过了几天,掌柜又说我干不了这事。幸亏荐头的情面大,辞退不得,便改为专管温酒的一种无聊职务了。 5 | 6 | 7 | 我从此便整天的站在柜台里,专管我的职务。虽然没有什么失职,但总觉得有些单调,有些无聊。掌柜是一副凶脸孔,主顾也没有好声气,教人活泼不得;只有孔乙己到店,才可以笑几声,所以至今还记得。 8 | 9 | 10 | 孔乙己是站着喝酒而穿长衫的唯一的人。他身材很高大;青白脸色,皱纹间时常夹些伤痕;一部乱蓬蓬的花白的胡子。穿的虽然是长衫,可是又脏又破,似乎十多年没有补,也没有洗。他对人说话,总是满口之乎者也,叫人半懂不懂的。因为他姓孔,别人便从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫作孔乙己。孔乙己一到店,所有喝酒的人便都看着他笑,有的叫道,“孔乙己,你脸上又添上新伤疤了!”他不回答,对柜里说,“温两碗酒,要一碟茴香豆。”便排出九文大钱。他们又故意的高声嚷道,“你一定又偷了人家的东西了!”孔乙己睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你偷了何家的书,吊着打。”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“窃书不能算偷……窃书!……读书人的事,能算偷么?”接连便是难懂的话,什么“君子固穷”,什么“者乎”之类,引得众人都哄笑起来:店内外充满了快活的空气。 11 | 12 | 13 | 听人家背地里谈论,孔乙己原来也读过书,但终于没有进学,又不会营生;于是愈过愈穷,弄到将要讨饭了。幸而写得一笔好字,便替人家抄抄书,换一碗饭吃。可惜他又有一样坏脾气,便是好喝懒做。坐不到几天,便连人和书籍纸张笔砚,一齐失踪。如是几次,叫他抄书的人也没有了。孔乙己没有法,便免不了偶然做些偷窃的事。但他在我们店里,品行却比别人都好,就是从不拖欠;虽然间或没有现钱,暂时记在粉板上,但不出一月,定然还清,从粉板上拭去了孔乙己的名字。 14 | 15 | 16 | 孔乙己喝过半碗酒,涨红的脸色渐渐复了原,旁人便又问道,“孔乙己,你当真认识字么?”孔乙己看着问他的人,显出不屑置辩的神气。他们便接着说道,“你怎的连半个秀才也捞不到呢?”孔乙己立刻显出颓唐不安模样,脸上笼上了一层灰色,嘴里说些话;这回可是全是之乎者也之类,一些不懂了。在这时候,众人也都哄笑起来:店内外充满了快活的空气。 17 | 18 | 19 | “多乎哉?不多也。” 20 | 21 | 22 | 有几回,邻居孩子听得笑声,也赶热闹,围住了孔乙己。他便给他们一人一颗。孩子吃完豆,仍然不散,眼睛都望着碟子。孔乙己着了慌,伸开五指将碟子罩住,弯腰下去说道,“不多了,我已经不多了。”直起身又看一看豆,自己摇头说,“不多不多!多乎哉?不多也。”于是这一群孩子都在笑声里走散了。 23 | 24 | 25 | 孔乙己是这样的使人快活,可是没有他,别人也便这么过。 26 | 27 | 28 | 有一天,大约是中秋前的两三天,掌柜正在慢慢的结账,取下粉板,忽然说,“孔乙己长久没有来了。还欠十九个钱呢!”我才也觉得他的确长久没有来了。一个喝酒的人说道,“他怎么会来?……他打折了腿了。”掌柜说,“哦!”“他总仍旧是偷。这一回,是自己发昏,竟偷到丁举人家里去了。他家的东西,偷得的吗?”“后来怎么样?”“怎么样?先写服辩,后来是打,打了大半夜,再打折了腿。”“后来呢?”“后来打折了腿了。”“打折了怎样呢?”“怎样?……谁晓得?许是死了。”掌柜也不再问,仍然慢慢的算他的账。 29 | 30 | 中秋过后,秋风是一天凉比一天,看看将近初冬;我整天的靠着火,也须穿上棉袄了。一天的下半天,没有一个顾客,我正合了眼坐着。忽然间听得一个声音,“温一碗酒。”这声音虽然极低,却很耳熟。看时又全没有人。站起来向外一望,那孔乙己便在柜台下对了门槛坐着。他脸上黑而且瘦,已经不成样子;穿一件破夹袄,盘着两腿,下面垫一个蒲包,用草绳在肩上挂住;见了我,又说道,“温一碗酒。”掌柜也伸出头去,一面说,“孔乙己么?你还欠十九个钱呢!”孔乙己很颓唐的仰面答道,“这……下回还清罢。这一回是现钱,酒要好。”掌柜仍然同平常一样,笑着对他说,“孔乙己,你又偷了东西了!”但他这回却不十分分辩,单说了一句“不要取笑!”“取笑?要是不偷,怎么会打断腿?”孔乙己低声说道,“跌断,跌,跌……”他的眼色,很像恳求掌柜,不要再提。此时已经聚集了几个人,便和掌柜都笑了。我温了酒,端出去,放在门槛上。他从破衣袋里摸出四文大钱,放在我手里,见他满手是泥,原来他便用这手走来的。不一会,他喝完酒,便又在旁人的说笑声中,坐着用这手慢慢走去了。 31 | 32 | 自此以后,又长久没有看见孔乙己。到了年关,掌柜取下粉板说,“孔乙己还欠十九个钱呢!”到第二年的端午,又说“孔乙己还欠十九个钱呢!”到中秋可是没有说,再到年关也没有看见他。 33 | 34 | 我到现在终于没有见——大约孔乙己的确死了。 -------------------------------------------------------------------------------- /db/kong.lance/_latest.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_latest.manifest -------------------------------------------------------------------------------- /db/kong.lance/_transactions/0-f7e63d68-b18d-43bd-a270-46999f84c000.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/0-f7e63d68-b18d-43bd-a270-46999f84c000.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/1-ee7520f8-9bba-4776-bf1b-0b5fdeec6191.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/1-ee7520f8-9bba-4776-bf1b-0b5fdeec6191.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/2-9a12708f-32ec-4e49-8f5d-ce9651d6742b.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/2-9a12708f-32ec-4e49-8f5d-ce9651d6742b.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/3-ea63c681-3ae9-4ec3-9959-3c0e64e09fd7.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/3-ea63c681-3ae9-4ec3-9959-3c0e64e09fd7.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/4-a2142390-ffd6-45c3-8bd7-08937c1aecae.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/4-a2142390-ffd6-45c3-8bd7-08937c1aecae.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/5-84559d71-aaa5-4ca0-a311-ed0cfa3db16e.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/5-84559d71-aaa5-4ca0-a311-ed0cfa3db16e.txn -------------------------------------------------------------------------------- /db/kong.lance/_transactions/6-789812b5-2e09-4de4-967f-36024c954709.txn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_transactions/6-789812b5-2e09-4de4-967f-36024c954709.txn -------------------------------------------------------------------------------- /db/kong.lance/_versions/1.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/1.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/2.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/2.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/3.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/3.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/4.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/4.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/5.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/5.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/6.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/6.manifest -------------------------------------------------------------------------------- /db/kong.lance/_versions/7.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/_versions/7.manifest -------------------------------------------------------------------------------- /db/kong.lance/data/0b5bc98c-4266-42ea-9036-8633c66d0a16.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/0b5bc98c-4266-42ea-9036-8633c66d0a16.lance -------------------------------------------------------------------------------- /db/kong.lance/data/2bab51d5-3122-44da-8263-406e6b621623.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/2bab51d5-3122-44da-8263-406e6b621623.lance -------------------------------------------------------------------------------- /db/kong.lance/data/2ce5d999-ca29-408e-a726-fb07f2180be5.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/2ce5d999-ca29-408e-a726-fb07f2180be5.lance -------------------------------------------------------------------------------- /db/kong.lance/data/7515314e-095a-403d-95bc-63ee65251262.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/7515314e-095a-403d-95bc-63ee65251262.lance -------------------------------------------------------------------------------- /db/kong.lance/data/a3c770d5-ae9e-438e-acca-e9c9ad340114.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/a3c770d5-ae9e-438e-acca-e9c9ad340114.lance -------------------------------------------------------------------------------- /db/kong.lance/data/e8aba693-4765-4210-b26b-84702ee0af6d.lance: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/db/kong.lance/data/e8aba693-4765-4210-b26b-84702ee0af6d.lance -------------------------------------------------------------------------------- /docs/llm-course.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RealKai42/llm-course-basic/4274e7b164f47d71e37d7a4a842d68541836565f/docs/llm-course.pdf -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "llm-course", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "author": "Kai", 6 | "description": "https://kaiyi.cool/", 7 | "license": "MIT", 8 | "type": "module", 9 | "dependencies": { 10 | "@lancedb/lancedb": "^0.9.0", 11 | "@langchain/community": "^0.2.31", 12 | "@langchain/core": "^0.2.31", 13 | "apache-arrow": "^17.0.0", 14 | "dotenv": "^16.4.5", 15 | "langchain": "^0.2.17", 16 | "npm": "^10.8.3", 17 | "zod": "^3.23.8" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /reAct/index.js: -------------------------------------------------------------------------------- 1 | import { Calculator } from "@langchain/community/tools/calculator"; 2 | import { DynamicTool } from "@langchain/community/tools/dynamic"; 3 | import { ChatPromptTemplate } from "@langchain/core/prompts"; 4 | import { AgentExecutor, createReactAgent } from "langchain/agents"; 5 | import { ChatOpenAI } from "@langchain/openai"; 6 | import dotenv from "dotenv"; 7 | import path from "path"; 8 | import { fileURLToPath } from "url"; 9 | 10 | const __filename = fileURLToPath(import.meta.url); 11 | const currentDir = path.dirname(__filename); 12 | 13 | // 加载环境变量 14 | dotenv.config({ path: path.join(currentDir, "../.env") }); 15 | 16 | // 创建提供给 agent 的工具。 reAct 只支持 DynamicTool,也就是只有一个输入的工具 17 | const exchangeRateTool = new DynamicTool({ 18 | name: "exchange-rate-calculator", 19 | description: "获取人民币和美元之间的最新汇率。输入应为你当前的货币,'CNY' 或 'USD'。", 20 | func: async (input) => { 21 | // 硬编码的汇率 22 | const exchangeRate = 7.12; 23 | 24 | let result; 25 | if (input === "CNY") { 26 | result = `1 CNY = ${(1 / exchangeRate).toFixed(4)} USD`; 27 | } else if (input === "USD") { 28 | result = `1 USD = ${exchangeRate} CNY`; 29 | } else { 30 | throw new Error("输入格式不正确。请使用 'CNY' 或 'USD'。"); 31 | } 32 | 33 | return result; 34 | }, 35 | }); 36 | const tools = [new Calculator(), exchangeRateTool]; 37 | 38 | const prompt = ChatPromptTemplate.fromTemplate(` 39 | Answer the following questions as best you can. You have access to the following tools: 40 | 41 | {tools} 42 | 43 | Use the following format: 44 | 45 | Question: the input question you must answer 46 | Thought: you should always think about what to do 47 | Action: the action to take, should be one of [{tool_names}] 48 | Action Input: the input to the action 49 | Observation: the result of the action 50 | ... (this Thought/Action/Action Input/Observation can repeat N times) 51 | Thought: I now know the final answer 52 | Final Answer: the final answer to the original input question 53 | 54 | Begin! 55 | 56 | Question: {input} 57 | Thought:{agent_scratchpad} 58 | `); 59 | const llm = new ChatOpenAI({ 60 | temperature: 0, 61 | // 设置为 true,观察 AI 思考过程 62 | verbose: true, 63 | }); 64 | 65 | const agent = await createReactAgent({ 66 | llm, 67 | tools, 68 | prompt, 69 | }); 70 | 71 | const agentExecutor = new AgentExecutor({ 72 | agent, 73 | tools, 74 | }); 75 | 76 | const result = await agentExecutor.invoke({ 77 | input: "我有 17 美元,现在相当于多少人民币?", 78 | }); 79 | 80 | console.log(result); 81 | 82 | // 下述是 reAct 的思考过程 83 | /** 84 | Answer the following questions as best you can. You have access to the following tools: 85 | 86 | calculator: Useful for getting the result of a math expression. The input to this tool should be a valid mathematical expression that could be executed by a simple calculator. 87 | exchange-rate-calculator: 获取人民币和美元之间的最新汇率。输入应为你当前的货币,'CNY' 或 'USD'。 88 | 89 | Use the following format: 90 | 91 | Question: the input question you must answer 92 | Thought: you should always think about what to do 93 | Action: the action to take, should be one of [calculator, exchange-rate-calculator] 94 | Action Input: the input to the action 95 | Observation: the result of the action 96 | ... (this Thought/Action/Action Input/Observation can repeat N times) 97 | Thought: I now know the final answer 98 | Final Answer: the final answer to the original input question 99 | 100 | Begin! 101 | 102 | Question: 我有 17 美元,现在相当于多少人民币? 103 | Thought:Thought: To determine how much 17 USD is in CNY, I need to get the latest exchange rate between USD and CNY. 104 | 105 | Action: exchange-rate-calculator 106 | Action Input: USD 107 | 108 | 109 | Observation: 1 USD = 7.12 CNY 110 | Thought: To find out how much 17 USD is in CNY, I need to multiply 17 by the exchange rate of 7.12. 111 | 112 | Action: calculator 113 | Action Input: 17 * 7.12 114 | 115 | Observation: 121.04 116 | Thought: I now know the final answer. 117 | 118 | Final Answer: 17 美元相当于 121.04 人民币。 119 | */ 120 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@isaacs/cliui@^8.0.2": 6 | version "8.0.2" 7 | resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" 8 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 9 | dependencies: 10 | string-width "^5.1.2" 11 | string-width-cjs "npm:string-width@^4.2.0" 12 | strip-ansi "^7.0.1" 13 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 14 | wrap-ansi "^8.1.0" 15 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 16 | 17 | "@isaacs/string-locale-compare@^1.1.0": 18 | version "1.1.0" 19 | resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" 20 | integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== 21 | 22 | "@lancedb/lancedb-darwin-arm64@0.9.0": 23 | version "0.9.0" 24 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb-darwin-arm64/-/lancedb-darwin-arm64-0.9.0.tgz#7e4be73611106ae0b6a71093a5ff47f2fa31d7d9" 25 | integrity sha512-w/lbpjCNNfzMWL0rgOdxjc6dQWrgxt7YtBcU/a5CYUkuj6I+EcBhp7VtX7t+8smF1pIJqeMPakhHe3SrkA5ZRQ== 26 | 27 | "@lancedb/lancedb-darwin-x64@0.9.0": 28 | version "0.9.0" 29 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb-darwin-x64/-/lancedb-darwin-x64-0.9.0.tgz#3b82f377244c6b3a667312124f7c1b87b685073e" 30 | integrity sha512-ENnWvwEEUMozlfGt3Q+CLyHrk5PTjYSq9adnKKwfhvdNKXtLLibSpIj9VyTDa+9rfJWpdLKFD28Tsh/6Q+AHzA== 31 | 32 | "@lancedb/lancedb-linux-arm64-gnu@0.9.0": 33 | version "0.9.0" 34 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb-linux-arm64-gnu/-/lancedb-linux-arm64-gnu-0.9.0.tgz#07f64deeda32afe58d4af8d9828bd8a9a1bfac2b" 35 | integrity sha512-GqduIR6yTBxTu8kCMPofeV4vUSDdzSu43AbxwtuErPIGX6a+O8100OQ3kNFNOICwjpdcRjS5umd5POSxz2H59w== 36 | 37 | "@lancedb/lancedb-linux-x64-gnu@0.9.0": 38 | version "0.9.0" 39 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb-linux-x64-gnu/-/lancedb-linux-x64-gnu-0.9.0.tgz#de8d6af547888cced2c67d9085614c1195ca1f50" 40 | integrity sha512-KfEUoewxGkvAuX3ctJQ0cH4f5AK1QwxHq7ZGj5FfFls68JjewkUgsoeaEDvmhtC5WKq44Bw6N09eWJ1eWSZn3w== 41 | 42 | "@lancedb/lancedb-win32-x64-msvc@0.9.0": 43 | version "0.9.0" 44 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb-win32-x64-msvc/-/lancedb-win32-x64-msvc-0.9.0.tgz#c86288216007bf2514919ebbc292f7d293b6e057" 45 | integrity sha512-lEFoGudbzZ4RhbhdMoLCDXcDhiVTInK1nSz5/GRIJ8O4j91OOlYu6jDT/mw9II2ghtW7YmpoEGOuon1fqmHn1A== 46 | 47 | "@lancedb/lancedb@^0.9.0": 48 | version "0.9.0" 49 | resolved "https://registry.yarnpkg.com/@lancedb/lancedb/-/lancedb-0.9.0.tgz#b7b42d792fe7e474ab8a73e25121a6b5b7237569" 50 | integrity sha512-roIBK6JJq4AkvVmLG4orZ/SXdpzPLnArhKTK+4cG/Nso9k2y2Wk5DsFStqzNmO7ko1phiCJJlmtwPLr787nV/Q== 51 | dependencies: 52 | axios "^1.7.2" 53 | reflect-metadata "^0.2.2" 54 | optionalDependencies: 55 | "@lancedb/lancedb-darwin-arm64" "0.9.0" 56 | "@lancedb/lancedb-darwin-x64" "0.9.0" 57 | "@lancedb/lancedb-linux-arm64-gnu" "0.9.0" 58 | "@lancedb/lancedb-linux-x64-gnu" "0.9.0" 59 | "@lancedb/lancedb-win32-x64-msvc" "0.9.0" 60 | 61 | "@langchain/community@^0.2.31": 62 | version "0.2.31" 63 | resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.2.31.tgz#4b5ae3ea1e1f694d3c5323f2bf32c1a141b09e57" 64 | integrity sha512-UayfsFyxHBLGnc9nODLupC46lvTMssYkfmFalMKqWAWQLWPEKOcDriy8Dg8+0MBME/y7SzqlCniEeEvml16hog== 65 | dependencies: 66 | "@langchain/core" ">=0.2.21 <0.3.0" 67 | "@langchain/openai" ">=0.2.0 <0.3.0" 68 | binary-extensions "^2.2.0" 69 | expr-eval "^2.0.2" 70 | flat "^5.0.2" 71 | js-yaml "^4.1.0" 72 | langchain "~0.2.3" 73 | langsmith "~0.1.30" 74 | uuid "^10.0.0" 75 | zod "^3.22.3" 76 | zod-to-json-schema "^3.22.5" 77 | 78 | "@langchain/core@>0.2.0 <0.3.0", "@langchain/core@>=0.2.21 <0.3.0", "@langchain/core@>=0.2.26 <0.3.0", "@langchain/core@^0.2.31": 79 | version "0.2.31" 80 | resolved "https://registry.yarnpkg.com/@langchain/core/-/core-0.2.31.tgz#31e717fb511ed57b65095aba8b2b3845cff92588" 81 | integrity sha512-qGfeaACST7dvovgHItzuag9fEBGK7IjCE9vRuTu/y8/WYGJi28WPD/AwWxnu7YdW1vZSuIXO6ZA76t2G9B/oKg== 82 | dependencies: 83 | ansi-styles "^5.0.0" 84 | camelcase "6" 85 | decamelize "1.2.0" 86 | js-tiktoken "^1.0.12" 87 | langsmith "^0.1.43" 88 | mustache "^4.2.0" 89 | p-queue "^6.6.2" 90 | p-retry "4" 91 | uuid "^10.0.0" 92 | zod "^3.22.4" 93 | zod-to-json-schema "^3.22.3" 94 | 95 | "@langchain/openai@>=0.1.0 <0.3.0", "@langchain/openai@>=0.2.0 <0.3.0": 96 | version "0.2.8" 97 | resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.2.8.tgz#f4d1246684d06e5a8df2369325282fb4d9c296c0" 98 | integrity sha512-p5fxEAKuR8UV9jWIxkZ6AY/vAPSYxJI0Pf/UM4T3FKk/dn99G/mAEDLhfI4pBf7B8o8TudSVyBW2hRjZqlQu7g== 99 | dependencies: 100 | "@langchain/core" ">=0.2.26 <0.3.0" 101 | js-tiktoken "^1.0.12" 102 | openai "^4.55.0" 103 | zod "^3.22.4" 104 | zod-to-json-schema "^3.22.3" 105 | 106 | "@langchain/textsplitters@~0.0.0": 107 | version "0.0.3" 108 | resolved "https://registry.yarnpkg.com/@langchain/textsplitters/-/textsplitters-0.0.3.tgz#1a3cc93dd2ab330edb225400ded190a22fea14e3" 109 | integrity sha512-cXWgKE3sdWLSqAa8ykbCcUsUF1Kyr5J3HOWYGuobhPEycXW4WI++d5DhzdpL238mzoEXTi90VqfSCra37l5YqA== 110 | dependencies: 111 | "@langchain/core" ">0.2.0 <0.3.0" 112 | js-tiktoken "^1.0.12" 113 | 114 | "@npmcli/agent@^2.0.0": 115 | version "2.2.2" 116 | resolved "https://registry.yarnpkg.com/@npmcli/agent/-/agent-2.2.2.tgz#967604918e62f620a648c7975461c9c9e74fc5d5" 117 | integrity sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og== 118 | dependencies: 119 | agent-base "^7.1.0" 120 | http-proxy-agent "^7.0.0" 121 | https-proxy-agent "^7.0.1" 122 | lru-cache "^10.0.1" 123 | socks-proxy-agent "^8.0.3" 124 | 125 | "@npmcli/arborist@^7.5.4": 126 | version "7.5.4" 127 | resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-7.5.4.tgz#3dd9e531d6464ef6715e964c188e0880c471ac9b" 128 | integrity sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g== 129 | dependencies: 130 | "@isaacs/string-locale-compare" "^1.1.0" 131 | "@npmcli/fs" "^3.1.1" 132 | "@npmcli/installed-package-contents" "^2.1.0" 133 | "@npmcli/map-workspaces" "^3.0.2" 134 | "@npmcli/metavuln-calculator" "^7.1.1" 135 | "@npmcli/name-from-folder" "^2.0.0" 136 | "@npmcli/node-gyp" "^3.0.0" 137 | "@npmcli/package-json" "^5.1.0" 138 | "@npmcli/query" "^3.1.0" 139 | "@npmcli/redact" "^2.0.0" 140 | "@npmcli/run-script" "^8.1.0" 141 | bin-links "^4.0.4" 142 | cacache "^18.0.3" 143 | common-ancestor-path "^1.0.1" 144 | hosted-git-info "^7.0.2" 145 | json-parse-even-better-errors "^3.0.2" 146 | json-stringify-nice "^1.1.4" 147 | lru-cache "^10.2.2" 148 | minimatch "^9.0.4" 149 | nopt "^7.2.1" 150 | npm-install-checks "^6.2.0" 151 | npm-package-arg "^11.0.2" 152 | npm-pick-manifest "^9.0.1" 153 | npm-registry-fetch "^17.0.1" 154 | pacote "^18.0.6" 155 | parse-conflict-json "^3.0.0" 156 | proc-log "^4.2.0" 157 | proggy "^2.0.0" 158 | promise-all-reject-late "^1.0.0" 159 | promise-call-limit "^3.0.1" 160 | read-package-json-fast "^3.0.2" 161 | semver "^7.3.7" 162 | ssri "^10.0.6" 163 | treeverse "^3.0.0" 164 | walk-up-path "^3.0.1" 165 | 166 | "@npmcli/config@^8.3.4": 167 | version "8.3.4" 168 | resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-8.3.4.tgz#e2712c2215bb2659f39718b23bf7401f9ac1da59" 169 | integrity sha512-01rtHedemDNhUXdicU7s+QYz/3JyV5Naj84cvdXGH4mgCdL+agmSYaLF4LUG4vMCLzhBO8YtS0gPpH1FGvbgAw== 170 | dependencies: 171 | "@npmcli/map-workspaces" "^3.0.2" 172 | "@npmcli/package-json" "^5.1.1" 173 | ci-info "^4.0.0" 174 | ini "^4.1.2" 175 | nopt "^7.2.1" 176 | proc-log "^4.2.0" 177 | semver "^7.3.5" 178 | walk-up-path "^3.0.1" 179 | 180 | "@npmcli/fs@^3.1.0", "@npmcli/fs@^3.1.1": 181 | version "3.1.1" 182 | resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" 183 | integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== 184 | dependencies: 185 | semver "^7.3.5" 186 | 187 | "@npmcli/git@^5.0.0", "@npmcli/git@^5.0.7": 188 | version "5.0.8" 189 | resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-5.0.8.tgz#8ba3ff8724192d9ccb2735a2aa5380a992c5d3d1" 190 | integrity sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ== 191 | dependencies: 192 | "@npmcli/promise-spawn" "^7.0.0" 193 | ini "^4.1.3" 194 | lru-cache "^10.0.1" 195 | npm-pick-manifest "^9.0.0" 196 | proc-log "^4.0.0" 197 | promise-inflight "^1.0.1" 198 | promise-retry "^2.0.1" 199 | semver "^7.3.5" 200 | which "^4.0.0" 201 | 202 | "@npmcli/installed-package-contents@^2.0.1", "@npmcli/installed-package-contents@^2.1.0": 203 | version "2.1.0" 204 | resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz#63048e5f6e40947a3a88dcbcb4fd9b76fdd37c17" 205 | integrity sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w== 206 | dependencies: 207 | npm-bundled "^3.0.0" 208 | npm-normalize-package-bin "^3.0.0" 209 | 210 | "@npmcli/map-workspaces@^3.0.2", "@npmcli/map-workspaces@^3.0.6": 211 | version "3.0.6" 212 | resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz#27dc06c20c35ef01e45a08909cab9cb3da08cea6" 213 | integrity sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA== 214 | dependencies: 215 | "@npmcli/name-from-folder" "^2.0.0" 216 | glob "^10.2.2" 217 | minimatch "^9.0.0" 218 | read-package-json-fast "^3.0.0" 219 | 220 | "@npmcli/metavuln-calculator@^7.1.1": 221 | version "7.1.1" 222 | resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz#4d3b6c3192f72bc8ad59476de0da939c33877fcf" 223 | integrity sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g== 224 | dependencies: 225 | cacache "^18.0.0" 226 | json-parse-even-better-errors "^3.0.0" 227 | pacote "^18.0.0" 228 | proc-log "^4.1.0" 229 | semver "^7.3.5" 230 | 231 | "@npmcli/name-from-folder@^2.0.0": 232 | version "2.0.0" 233 | resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" 234 | integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== 235 | 236 | "@npmcli/node-gyp@^3.0.0": 237 | version "3.0.0" 238 | resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" 239 | integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== 240 | 241 | "@npmcli/package-json@^5.0.0", "@npmcli/package-json@^5.1.0", "@npmcli/package-json@^5.1.1", "@npmcli/package-json@^5.2.0": 242 | version "5.2.0" 243 | resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-5.2.0.tgz#a1429d3111c10044c7efbfb0fce9f2c501f4cfad" 244 | integrity sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ== 245 | dependencies: 246 | "@npmcli/git" "^5.0.0" 247 | glob "^10.2.2" 248 | hosted-git-info "^7.0.0" 249 | json-parse-even-better-errors "^3.0.0" 250 | normalize-package-data "^6.0.0" 251 | proc-log "^4.0.0" 252 | semver "^7.5.3" 253 | 254 | "@npmcli/promise-spawn@^7.0.0", "@npmcli/promise-spawn@^7.0.2": 255 | version "7.0.2" 256 | resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz#1d53d34ffeb5d151bfa8ec661bcccda8bbdfd532" 257 | integrity sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ== 258 | dependencies: 259 | which "^4.0.0" 260 | 261 | "@npmcli/query@^3.1.0": 262 | version "3.1.0" 263 | resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.1.0.tgz#bc202c59e122a06cf8acab91c795edda2cdad42c" 264 | integrity sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ== 265 | dependencies: 266 | postcss-selector-parser "^6.0.10" 267 | 268 | "@npmcli/redact@^2.0.0", "@npmcli/redact@^2.0.1": 269 | version "2.0.1" 270 | resolved "https://registry.yarnpkg.com/@npmcli/redact/-/redact-2.0.1.tgz#95432fd566e63b35c04494621767a4312c316762" 271 | integrity sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw== 272 | 273 | "@npmcli/run-script@^8.0.0", "@npmcli/run-script@^8.1.0": 274 | version "8.1.0" 275 | resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-8.1.0.tgz#a563e5e29b1ca4e648a6b1bbbfe7220b4bfe39fc" 276 | integrity sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg== 277 | dependencies: 278 | "@npmcli/node-gyp" "^3.0.0" 279 | "@npmcli/package-json" "^5.0.0" 280 | "@npmcli/promise-spawn" "^7.0.0" 281 | node-gyp "^10.0.0" 282 | proc-log "^4.0.0" 283 | which "^4.0.0" 284 | 285 | "@pkgjs/parseargs@^0.11.0": 286 | version "0.11.0" 287 | resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" 288 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 289 | 290 | "@sigstore/bundle@^2.3.2": 291 | version "2.3.2" 292 | resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-2.3.2.tgz#ad4dbb95d665405fd4a7a02c8a073dbd01e4e95e" 293 | integrity sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA== 294 | dependencies: 295 | "@sigstore/protobuf-specs" "^0.3.2" 296 | 297 | "@sigstore/core@^1.0.0", "@sigstore/core@^1.1.0": 298 | version "1.1.0" 299 | resolved "https://registry.yarnpkg.com/@sigstore/core/-/core-1.1.0.tgz#5583d8f7ffe599fa0a89f2bf289301a5af262380" 300 | integrity sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg== 301 | 302 | "@sigstore/protobuf-specs@^0.3.2": 303 | version "0.3.2" 304 | resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz#5becf88e494a920f548d0163e2978f81b44b7d6f" 305 | integrity sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw== 306 | 307 | "@sigstore/sign@^2.3.2": 308 | version "2.3.2" 309 | resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-2.3.2.tgz#d3d01e56d03af96fd5c3a9b9897516b1233fc1c4" 310 | integrity sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA== 311 | dependencies: 312 | "@sigstore/bundle" "^2.3.2" 313 | "@sigstore/core" "^1.0.0" 314 | "@sigstore/protobuf-specs" "^0.3.2" 315 | make-fetch-happen "^13.0.1" 316 | proc-log "^4.2.0" 317 | promise-retry "^2.0.1" 318 | 319 | "@sigstore/tuf@^2.3.4": 320 | version "2.3.4" 321 | resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-2.3.4.tgz#da1d2a20144f3b87c0172920cbc8dcc7851ca27c" 322 | integrity sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw== 323 | dependencies: 324 | "@sigstore/protobuf-specs" "^0.3.2" 325 | tuf-js "^2.2.1" 326 | 327 | "@sigstore/verify@^1.2.1": 328 | version "1.2.1" 329 | resolved "https://registry.yarnpkg.com/@sigstore/verify/-/verify-1.2.1.tgz#c7e60241b432890dcb8bd8322427f6062ef819e1" 330 | integrity sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g== 331 | dependencies: 332 | "@sigstore/bundle" "^2.3.2" 333 | "@sigstore/core" "^1.1.0" 334 | "@sigstore/protobuf-specs" "^0.3.2" 335 | 336 | "@swc/helpers@^0.5.11": 337 | version "0.5.13" 338 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.13.tgz#33e63ff3cd0cade557672bd7888a39ce7d115a8c" 339 | integrity sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w== 340 | dependencies: 341 | tslib "^2.4.0" 342 | 343 | "@tufjs/canonical-json@2.0.0": 344 | version "2.0.0" 345 | resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz#a52f61a3d7374833fca945b2549bc30a2dd40d0a" 346 | integrity sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== 347 | 348 | "@tufjs/models@2.0.1": 349 | version "2.0.1" 350 | resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-2.0.1.tgz#e429714e753b6c2469af3212e7f320a6973c2812" 351 | integrity sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg== 352 | dependencies: 353 | "@tufjs/canonical-json" "2.0.0" 354 | minimatch "^9.0.4" 355 | 356 | "@types/command-line-args@^5.2.3": 357 | version "5.2.3" 358 | resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" 359 | integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== 360 | 361 | "@types/command-line-usage@^5.0.4": 362 | version "5.0.4" 363 | resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" 364 | integrity sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg== 365 | 366 | "@types/node-fetch@^2.6.4": 367 | version "2.6.11" 368 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.11.tgz#9b39b78665dae0e82a08f02f4967d62c66f95d24" 369 | integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== 370 | dependencies: 371 | "@types/node" "*" 372 | form-data "^4.0.0" 373 | 374 | "@types/node@*": 375 | version "22.5.2" 376 | resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.2.tgz#e42344429702e69e28c839a7e16a8262a8086793" 377 | integrity sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg== 378 | dependencies: 379 | undici-types "~6.19.2" 380 | 381 | "@types/node@^18.11.18": 382 | version "18.19.48" 383 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.48.tgz#3a1696f4a7298d8831ed9ce47db62bf4c62c8880" 384 | integrity sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg== 385 | dependencies: 386 | undici-types "~5.26.4" 387 | 388 | "@types/node@^20.13.0": 389 | version "20.16.3" 390 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.3.tgz#7b4f9a37091cf03a0c2561bf76a9a55f03f4f523" 391 | integrity sha512-/wdGiWRkMOm53gAsSyFMXFZHbVg7C6CbkrzHNpaHoYfsUWPg7m6ZRKtvQjgvQ9i8WT540a3ydRlRQbxjY30XxQ== 392 | dependencies: 393 | undici-types "~6.19.2" 394 | 395 | "@types/qs@^6.9.7": 396 | version "6.9.15" 397 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" 398 | integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== 399 | 400 | "@types/retry@0.12.0": 401 | version "0.12.0" 402 | resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" 403 | integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== 404 | 405 | "@types/uuid@^10.0.0": 406 | version "10.0.0" 407 | resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-10.0.0.tgz#e9c07fe50da0f53dc24970cca94d619ff03f6f6d" 408 | integrity sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ== 409 | 410 | abbrev@^2.0.0: 411 | version "2.0.0" 412 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" 413 | integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== 414 | 415 | abort-controller@^3.0.0: 416 | version "3.0.0" 417 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 418 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 419 | dependencies: 420 | event-target-shim "^5.0.0" 421 | 422 | agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: 423 | version "7.1.1" 424 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" 425 | integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== 426 | dependencies: 427 | debug "^4.3.4" 428 | 429 | agentkeepalive@^4.2.1: 430 | version "4.5.0" 431 | resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" 432 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== 433 | dependencies: 434 | humanize-ms "^1.2.1" 435 | 436 | aggregate-error@^3.0.0: 437 | version "3.1.0" 438 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 439 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 440 | dependencies: 441 | clean-stack "^2.0.0" 442 | indent-string "^4.0.0" 443 | 444 | ansi-regex@^5.0.1: 445 | version "5.0.1" 446 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 447 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 448 | 449 | ansi-regex@^6.0.1: 450 | version "6.0.1" 451 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 452 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 453 | 454 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 455 | version "4.3.0" 456 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 457 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 458 | dependencies: 459 | color-convert "^2.0.1" 460 | 461 | ansi-styles@^5.0.0: 462 | version "5.2.0" 463 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 464 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 465 | 466 | ansi-styles@^6.1.0: 467 | version "6.2.1" 468 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 469 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 470 | 471 | apache-arrow@^17.0.0: 472 | version "17.0.0" 473 | resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-17.0.0.tgz#73d98566c86352c9a0314c03890dbd7211073827" 474 | integrity sha512-X0p7auzdnGuhYMVKYINdQssS4EcKec9TCXyez/qtJt32DrIMGbzqiaMiQ0X6fQlQpw8Fl0Qygcv4dfRAr5Gu9Q== 475 | dependencies: 476 | "@swc/helpers" "^0.5.11" 477 | "@types/command-line-args" "^5.2.3" 478 | "@types/command-line-usage" "^5.0.4" 479 | "@types/node" "^20.13.0" 480 | command-line-args "^5.2.1" 481 | command-line-usage "^7.0.1" 482 | flatbuffers "^24.3.25" 483 | json-bignum "^0.0.3" 484 | tslib "^2.6.2" 485 | 486 | aproba@^2.0.0: 487 | version "2.0.0" 488 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" 489 | integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== 490 | 491 | archy@~1.0.0: 492 | version "1.0.0" 493 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 494 | integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== 495 | 496 | argparse@^2.0.1: 497 | version "2.0.1" 498 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 499 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 500 | 501 | array-back@^3.0.1, array-back@^3.1.0: 502 | version "3.1.0" 503 | resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" 504 | integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== 505 | 506 | array-back@^6.2.2: 507 | version "6.2.2" 508 | resolved "https://registry.yarnpkg.com/array-back/-/array-back-6.2.2.tgz#f567d99e9af88a6d3d2f9dfcc21db6f9ba9fd157" 509 | integrity sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw== 510 | 511 | asynckit@^0.4.0: 512 | version "0.4.0" 513 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 514 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 515 | 516 | axios@^1.7.2: 517 | version "1.7.7" 518 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" 519 | integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== 520 | dependencies: 521 | follow-redirects "^1.15.6" 522 | form-data "^4.0.0" 523 | proxy-from-env "^1.1.0" 524 | 525 | balanced-match@^1.0.0: 526 | version "1.0.2" 527 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 528 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 529 | 530 | base64-js@^1.5.1: 531 | version "1.5.1" 532 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 533 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 534 | 535 | bin-links@^4.0.4: 536 | version "4.0.4" 537 | resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.4.tgz#c3565832b8e287c85f109a02a17027d152a58a63" 538 | integrity sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA== 539 | dependencies: 540 | cmd-shim "^6.0.0" 541 | npm-normalize-package-bin "^3.0.0" 542 | read-cmd-shim "^4.0.0" 543 | write-file-atomic "^5.0.0" 544 | 545 | binary-extensions@^2.2.0, binary-extensions@^2.3.0: 546 | version "2.3.0" 547 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" 548 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== 549 | 550 | brace-expansion@^2.0.1: 551 | version "2.0.1" 552 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 553 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 554 | dependencies: 555 | balanced-match "^1.0.0" 556 | 557 | cacache@^18.0.0, cacache@^18.0.3, cacache@^18.0.4: 558 | version "18.0.4" 559 | resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.4.tgz#4601d7578dadb59c66044e157d02a3314682d6a5" 560 | integrity sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ== 561 | dependencies: 562 | "@npmcli/fs" "^3.1.0" 563 | fs-minipass "^3.0.0" 564 | glob "^10.2.2" 565 | lru-cache "^10.0.1" 566 | minipass "^7.0.3" 567 | minipass-collect "^2.0.1" 568 | minipass-flush "^1.0.5" 569 | minipass-pipeline "^1.2.4" 570 | p-map "^4.0.0" 571 | ssri "^10.0.0" 572 | tar "^6.1.11" 573 | unique-filename "^3.0.0" 574 | 575 | call-bind@^1.0.7: 576 | version "1.0.7" 577 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" 578 | integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== 579 | dependencies: 580 | es-define-property "^1.0.0" 581 | es-errors "^1.3.0" 582 | function-bind "^1.1.2" 583 | get-intrinsic "^1.2.4" 584 | set-function-length "^1.2.1" 585 | 586 | camelcase@6: 587 | version "6.3.0" 588 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 589 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 590 | 591 | chalk-template@^0.4.0: 592 | version "0.4.0" 593 | resolved "https://registry.yarnpkg.com/chalk-template/-/chalk-template-0.4.0.tgz#692c034d0ed62436b9062c1707fadcd0f753204b" 594 | integrity sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg== 595 | dependencies: 596 | chalk "^4.1.2" 597 | 598 | chalk@^4.1.2: 599 | version "4.1.2" 600 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 601 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 602 | dependencies: 603 | ansi-styles "^4.1.0" 604 | supports-color "^7.1.0" 605 | 606 | chalk@^5.3.0: 607 | version "5.3.0" 608 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" 609 | integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== 610 | 611 | chownr@^2.0.0: 612 | version "2.0.0" 613 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" 614 | integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== 615 | 616 | ci-info@^4.0.0: 617 | version "4.0.0" 618 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" 619 | integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== 620 | 621 | cidr-regex@^4.1.1: 622 | version "4.1.1" 623 | resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-4.1.1.tgz#acbe7ba9f10d658710bddd25baa900509e90125a" 624 | integrity sha512-ekKcVp+iRB9zlKFXyx7io7nINgb0oRjgRdXNEodp1OuxRui8FXr/CA40Tz1voWUp9DPPrMyQKy01vJhDo4N1lw== 625 | dependencies: 626 | ip-regex "^5.0.0" 627 | 628 | clean-stack@^2.0.0: 629 | version "2.2.0" 630 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 631 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 632 | 633 | cli-columns@^4.0.0: 634 | version "4.0.0" 635 | resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" 636 | integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== 637 | dependencies: 638 | string-width "^4.2.3" 639 | strip-ansi "^6.0.1" 640 | 641 | cmd-shim@^6.0.0: 642 | version "6.0.3" 643 | resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" 644 | integrity sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA== 645 | 646 | color-convert@^2.0.1: 647 | version "2.0.1" 648 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 649 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 650 | dependencies: 651 | color-name "~1.1.4" 652 | 653 | color-name@~1.1.4: 654 | version "1.1.4" 655 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 656 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 657 | 658 | combined-stream@^1.0.8: 659 | version "1.0.8" 660 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 661 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 662 | dependencies: 663 | delayed-stream "~1.0.0" 664 | 665 | command-line-args@^5.2.1: 666 | version "5.2.1" 667 | resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" 668 | integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== 669 | dependencies: 670 | array-back "^3.1.0" 671 | find-replace "^3.0.0" 672 | lodash.camelcase "^4.3.0" 673 | typical "^4.0.0" 674 | 675 | command-line-usage@^7.0.1: 676 | version "7.0.3" 677 | resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-7.0.3.tgz#6bce992354f6af10ecea2b631bfdf0c8b3bfaea3" 678 | integrity sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q== 679 | dependencies: 680 | array-back "^6.2.2" 681 | chalk-template "^0.4.0" 682 | table-layout "^4.1.0" 683 | typical "^7.1.1" 684 | 685 | commander@^10.0.1: 686 | version "10.0.1" 687 | resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" 688 | integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== 689 | 690 | common-ancestor-path@^1.0.1: 691 | version "1.0.1" 692 | resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" 693 | integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== 694 | 695 | cross-spawn@^7.0.0: 696 | version "7.0.3" 697 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 698 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 699 | dependencies: 700 | path-key "^3.1.0" 701 | shebang-command "^2.0.0" 702 | which "^2.0.1" 703 | 704 | cssesc@^3.0.0: 705 | version "3.0.0" 706 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 707 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 708 | 709 | debug@4, debug@^4.3.4: 710 | version "4.3.6" 711 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" 712 | integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== 713 | dependencies: 714 | ms "2.1.2" 715 | 716 | decamelize@1.2.0: 717 | version "1.2.0" 718 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 719 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== 720 | 721 | define-data-property@^1.1.4: 722 | version "1.1.4" 723 | resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" 724 | integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== 725 | dependencies: 726 | es-define-property "^1.0.0" 727 | es-errors "^1.3.0" 728 | gopd "^1.0.1" 729 | 730 | delayed-stream@~1.0.0: 731 | version "1.0.0" 732 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 733 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 734 | 735 | diff@^5.1.0: 736 | version "5.2.0" 737 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" 738 | integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== 739 | 740 | dotenv@^16.4.5: 741 | version "16.4.5" 742 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" 743 | integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== 744 | 745 | eastasianwidth@^0.2.0: 746 | version "0.2.0" 747 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 748 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 749 | 750 | emoji-regex@^8.0.0: 751 | version "8.0.0" 752 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 753 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 754 | 755 | emoji-regex@^9.2.2: 756 | version "9.2.2" 757 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 758 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 759 | 760 | encoding@^0.1.13: 761 | version "0.1.13" 762 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" 763 | integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== 764 | dependencies: 765 | iconv-lite "^0.6.2" 766 | 767 | env-paths@^2.2.0: 768 | version "2.2.1" 769 | resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" 770 | integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== 771 | 772 | err-code@^2.0.2: 773 | version "2.0.3" 774 | resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" 775 | integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== 776 | 777 | es-define-property@^1.0.0: 778 | version "1.0.0" 779 | resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" 780 | integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== 781 | dependencies: 782 | get-intrinsic "^1.2.4" 783 | 784 | es-errors@^1.3.0: 785 | version "1.3.0" 786 | resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" 787 | integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== 788 | 789 | event-target-shim@^5.0.0: 790 | version "5.0.1" 791 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 792 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 793 | 794 | eventemitter3@^4.0.4: 795 | version "4.0.7" 796 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 797 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 798 | 799 | exponential-backoff@^3.1.1: 800 | version "3.1.1" 801 | resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" 802 | integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== 803 | 804 | expr-eval@^2.0.2: 805 | version "2.0.2" 806 | resolved "https://registry.yarnpkg.com/expr-eval/-/expr-eval-2.0.2.tgz#fa6f044a7b0c93fde830954eb9c5b0f7fbc7e201" 807 | integrity sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg== 808 | 809 | fastest-levenshtein@^1.0.16: 810 | version "1.0.16" 811 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" 812 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== 813 | 814 | find-replace@^3.0.0: 815 | version "3.0.0" 816 | resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" 817 | integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== 818 | dependencies: 819 | array-back "^3.0.1" 820 | 821 | flat@^5.0.2: 822 | version "5.0.2" 823 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 824 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 825 | 826 | flatbuffers@^24.3.25: 827 | version "24.3.25" 828 | resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-24.3.25.tgz#e2f92259ba8aa53acd0af7844afb7c7eb95e7089" 829 | integrity sha512-3HDgPbgiwWMI9zVB7VYBHaMrbOO7Gm0v+yD2FV/sCKj+9NDeVL7BOBYUuhWAQGKWOzBo8S9WdMvV0eixO233XQ== 830 | 831 | follow-redirects@^1.15.6: 832 | version "1.15.6" 833 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" 834 | integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== 835 | 836 | foreground-child@^3.1.0: 837 | version "3.3.0" 838 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" 839 | integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== 840 | dependencies: 841 | cross-spawn "^7.0.0" 842 | signal-exit "^4.0.1" 843 | 844 | form-data-encoder@1.7.2: 845 | version "1.7.2" 846 | resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" 847 | integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== 848 | 849 | form-data@^4.0.0: 850 | version "4.0.0" 851 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 852 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 853 | dependencies: 854 | asynckit "^0.4.0" 855 | combined-stream "^1.0.8" 856 | mime-types "^2.1.12" 857 | 858 | formdata-node@^4.3.2: 859 | version "4.4.1" 860 | resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2" 861 | integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== 862 | dependencies: 863 | node-domexception "1.0.0" 864 | web-streams-polyfill "4.0.0-beta.3" 865 | 866 | fs-minipass@^2.0.0: 867 | version "2.1.0" 868 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" 869 | integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== 870 | dependencies: 871 | minipass "^3.0.0" 872 | 873 | fs-minipass@^3.0.0, fs-minipass@^3.0.3: 874 | version "3.0.3" 875 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" 876 | integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== 877 | dependencies: 878 | minipass "^7.0.3" 879 | 880 | function-bind@^1.1.2: 881 | version "1.1.2" 882 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 883 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 884 | 885 | get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: 886 | version "1.2.4" 887 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" 888 | integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== 889 | dependencies: 890 | es-errors "^1.3.0" 891 | function-bind "^1.1.2" 892 | has-proto "^1.0.1" 893 | has-symbols "^1.0.3" 894 | hasown "^2.0.0" 895 | 896 | glob@^10.2.2, glob@^10.3.10, glob@^10.4.5: 897 | version "10.4.5" 898 | resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" 899 | integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== 900 | dependencies: 901 | foreground-child "^3.1.0" 902 | jackspeak "^3.1.2" 903 | minimatch "^9.0.4" 904 | minipass "^7.1.2" 905 | package-json-from-dist "^1.0.0" 906 | path-scurry "^1.11.1" 907 | 908 | gopd@^1.0.1: 909 | version "1.0.1" 910 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 911 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 912 | dependencies: 913 | get-intrinsic "^1.1.3" 914 | 915 | graceful-fs@^4.2.11, graceful-fs@^4.2.6: 916 | version "4.2.11" 917 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 918 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 919 | 920 | has-flag@^4.0.0: 921 | version "4.0.0" 922 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 923 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 924 | 925 | has-property-descriptors@^1.0.2: 926 | version "1.0.2" 927 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" 928 | integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== 929 | dependencies: 930 | es-define-property "^1.0.0" 931 | 932 | has-proto@^1.0.1: 933 | version "1.0.3" 934 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" 935 | integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== 936 | 937 | has-symbols@^1.0.3: 938 | version "1.0.3" 939 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 940 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 941 | 942 | hasown@^2.0.0: 943 | version "2.0.2" 944 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 945 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 946 | dependencies: 947 | function-bind "^1.1.2" 948 | 949 | hosted-git-info@^7.0.0, hosted-git-info@^7.0.2: 950 | version "7.0.2" 951 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.2.tgz#9b751acac097757667f30114607ef7b661ff4f17" 952 | integrity sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w== 953 | dependencies: 954 | lru-cache "^10.0.1" 955 | 956 | http-cache-semantics@^4.1.1: 957 | version "4.1.1" 958 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" 959 | integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== 960 | 961 | http-proxy-agent@^7.0.0: 962 | version "7.0.2" 963 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" 964 | integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== 965 | dependencies: 966 | agent-base "^7.1.0" 967 | debug "^4.3.4" 968 | 969 | https-proxy-agent@^7.0.1: 970 | version "7.0.5" 971 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" 972 | integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== 973 | dependencies: 974 | agent-base "^7.0.2" 975 | debug "4" 976 | 977 | humanize-ms@^1.2.1: 978 | version "1.2.1" 979 | resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" 980 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== 981 | dependencies: 982 | ms "^2.0.0" 983 | 984 | iconv-lite@^0.6.2: 985 | version "0.6.3" 986 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 987 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 988 | dependencies: 989 | safer-buffer ">= 2.1.2 < 3.0.0" 990 | 991 | ignore-walk@^6.0.4: 992 | version "6.0.5" 993 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.5.tgz#ef8d61eab7da169078723d1f82833b36e200b0dd" 994 | integrity sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A== 995 | dependencies: 996 | minimatch "^9.0.0" 997 | 998 | imurmurhash@^0.1.4: 999 | version "0.1.4" 1000 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1001 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1002 | 1003 | indent-string@^4.0.0: 1004 | version "4.0.0" 1005 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1006 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1007 | 1008 | ini@^4.1.2, ini@^4.1.3: 1009 | version "4.1.3" 1010 | resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.3.tgz#4c359675a6071a46985eb39b14e4a2c0ec98a795" 1011 | integrity sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg== 1012 | 1013 | init-package-json@^6.0.3: 1014 | version "6.0.3" 1015 | resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-6.0.3.tgz#2552fba75b6eed2495dc97f44183e2e5a5bcf8b0" 1016 | integrity sha512-Zfeb5ol+H+eqJWHTaGca9BovufyGeIfr4zaaBorPmJBMrJ+KBnN+kQx2ZtXdsotUTgldHmHQV44xvUWOUA7E2w== 1017 | dependencies: 1018 | "@npmcli/package-json" "^5.0.0" 1019 | npm-package-arg "^11.0.0" 1020 | promzard "^1.0.0" 1021 | read "^3.0.1" 1022 | semver "^7.3.5" 1023 | validate-npm-package-license "^3.0.4" 1024 | validate-npm-package-name "^5.0.0" 1025 | 1026 | ip-address@^9.0.5: 1027 | version "9.0.5" 1028 | resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" 1029 | integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== 1030 | dependencies: 1031 | jsbn "1.1.0" 1032 | sprintf-js "^1.1.3" 1033 | 1034 | ip-regex@^5.0.0: 1035 | version "5.0.0" 1036 | resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-5.0.0.tgz#cd313b2ae9c80c07bd3851e12bf4fa4dc5480632" 1037 | integrity sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw== 1038 | 1039 | is-cidr@^5.1.0: 1040 | version "5.1.0" 1041 | resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-5.1.0.tgz#36f2d059f43f9b14f132745a2eec18c996df2f35" 1042 | integrity sha512-OkVS+Ht2ssF27d48gZdB+ho1yND1VbkJRKKS6Pc1/Cw7uqkd9IOJg8/bTwBDQL6tfBhSdguPRnlGiE8pU/X5NQ== 1043 | dependencies: 1044 | cidr-regex "^4.1.1" 1045 | 1046 | is-fullwidth-code-point@^3.0.0: 1047 | version "3.0.0" 1048 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1049 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1050 | 1051 | is-lambda@^1.0.1: 1052 | version "1.0.1" 1053 | resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" 1054 | integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== 1055 | 1056 | isexe@^2.0.0: 1057 | version "2.0.0" 1058 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1059 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1060 | 1061 | isexe@^3.1.1: 1062 | version "3.1.1" 1063 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" 1064 | integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== 1065 | 1066 | jackspeak@^3.1.2: 1067 | version "3.4.3" 1068 | resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" 1069 | integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== 1070 | dependencies: 1071 | "@isaacs/cliui" "^8.0.2" 1072 | optionalDependencies: 1073 | "@pkgjs/parseargs" "^0.11.0" 1074 | 1075 | js-tiktoken@^1.0.12: 1076 | version "1.0.14" 1077 | resolved "https://registry.yarnpkg.com/js-tiktoken/-/js-tiktoken-1.0.14.tgz#756f353262d559da16b58b5bcecfd93330076da2" 1078 | integrity sha512-Pk3l3WOgM9joguZY2k52+jH82RtABRgB5RdGFZNUGbOKGMVlNmafcPA3b0ITcCZPu1L9UclP1tne6aw7ZI4Myg== 1079 | dependencies: 1080 | base64-js "^1.5.1" 1081 | 1082 | js-yaml@^4.1.0: 1083 | version "4.1.0" 1084 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1085 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1086 | dependencies: 1087 | argparse "^2.0.1" 1088 | 1089 | jsbn@1.1.0: 1090 | version "1.1.0" 1091 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" 1092 | integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== 1093 | 1094 | json-bignum@^0.0.3: 1095 | version "0.0.3" 1096 | resolved "https://registry.yarnpkg.com/json-bignum/-/json-bignum-0.0.3.tgz#41163b50436c773d82424dbc20ed70db7604b8d7" 1097 | integrity sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg== 1098 | 1099 | json-parse-even-better-errors@^3.0.0, json-parse-even-better-errors@^3.0.2: 1100 | version "3.0.2" 1101 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz#b43d35e89c0f3be6b5fbbe9dc6c82467b30c28da" 1102 | integrity sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ== 1103 | 1104 | json-stringify-nice@^1.1.4: 1105 | version "1.1.4" 1106 | resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" 1107 | integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== 1108 | 1109 | jsonparse@^1.3.1: 1110 | version "1.3.1" 1111 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" 1112 | integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== 1113 | 1114 | jsonpointer@^5.0.1: 1115 | version "5.0.1" 1116 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" 1117 | integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== 1118 | 1119 | just-diff-apply@^5.2.0: 1120 | version "5.5.0" 1121 | resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" 1122 | integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== 1123 | 1124 | just-diff@^6.0.0: 1125 | version "6.0.2" 1126 | resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285" 1127 | integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA== 1128 | 1129 | langchain@^0.2.17, langchain@~0.2.3: 1130 | version "0.2.17" 1131 | resolved "https://registry.yarnpkg.com/langchain/-/langchain-0.2.17.tgz#c408d5f70e817f335511f79ad53db2addfadb278" 1132 | integrity sha512-wFn7wo+XGzqYrv3KJLmMZ1M6BHx12C3YUSASOa03rcDsBzRL5onxhKAC/g4xAIqlAHrJYgU6Jb/T/S6uJ6UdkQ== 1133 | dependencies: 1134 | "@langchain/core" ">=0.2.21 <0.3.0" 1135 | "@langchain/openai" ">=0.1.0 <0.3.0" 1136 | "@langchain/textsplitters" "~0.0.0" 1137 | binary-extensions "^2.2.0" 1138 | js-tiktoken "^1.0.12" 1139 | js-yaml "^4.1.0" 1140 | jsonpointer "^5.0.1" 1141 | langsmith "~0.1.40" 1142 | openapi-types "^12.1.3" 1143 | p-retry "4" 1144 | uuid "^10.0.0" 1145 | yaml "^2.2.1" 1146 | zod "^3.22.4" 1147 | zod-to-json-schema "^3.22.3" 1148 | 1149 | langsmith@^0.1.43, langsmith@~0.1.30, langsmith@~0.1.40: 1150 | version "0.1.49" 1151 | resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.1.49.tgz#ba698c2ead9d7065f9ec2c79a0e9f4b6c0390e59" 1152 | integrity sha512-PI9qzBalZYpN2gu1kf1IX/+unRRXTiZRhtTKYfWcPyQVPZ5exZVJfZy515+FUp1iXdgacr2tS2ZtNGUB2Vdejg== 1153 | dependencies: 1154 | "@types/uuid" "^10.0.0" 1155 | commander "^10.0.1" 1156 | p-queue "^6.6.2" 1157 | p-retry "4" 1158 | semver "^7.6.3" 1159 | uuid "^10.0.0" 1160 | 1161 | libnpmaccess@^8.0.6: 1162 | version "8.0.6" 1163 | resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-8.0.6.tgz#73be4c236258babc0a0bca6d3b6a93a6adf937cf" 1164 | integrity sha512-uM8DHDEfYG6G5gVivVl+yQd4pH3uRclHC59lzIbSvy7b5FEwR+mU49Zq1jEyRtRFv7+M99mUW9S0wL/4laT4lw== 1165 | dependencies: 1166 | npm-package-arg "^11.0.2" 1167 | npm-registry-fetch "^17.0.1" 1168 | 1169 | libnpmdiff@^6.1.4: 1170 | version "6.1.4" 1171 | resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-6.1.4.tgz#aa05881d58b980cde43bd7e850ee539bf9de3a9b" 1172 | integrity sha512-KCNoCY8kjQ16/EE4VoW7AYqecsb9frNIh/cPwWQSk1s2grzZMQH+Scp7Yo7Fk6SWTkyVDLZEYfUT/vKONYrfmg== 1173 | dependencies: 1174 | "@npmcli/arborist" "^7.5.4" 1175 | "@npmcli/installed-package-contents" "^2.1.0" 1176 | binary-extensions "^2.3.0" 1177 | diff "^5.1.0" 1178 | minimatch "^9.0.4" 1179 | npm-package-arg "^11.0.2" 1180 | pacote "^18.0.6" 1181 | tar "^6.2.1" 1182 | 1183 | libnpmexec@^8.1.4: 1184 | version "8.1.4" 1185 | resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-8.1.4.tgz#9dc25c3e9091c05aaf1a78ee22a4aaa8648fcdfc" 1186 | integrity sha512-/5mQ8d7PJT3Ok1iTfXVZaev4mppno9IbimHv7x1g8ZLIQtRE0SWrdFN7SB43vzxexdw0bJ3LKu2OsY6L3h60Kg== 1187 | dependencies: 1188 | "@npmcli/arborist" "^7.5.4" 1189 | "@npmcli/run-script" "^8.1.0" 1190 | ci-info "^4.0.0" 1191 | npm-package-arg "^11.0.2" 1192 | pacote "^18.0.6" 1193 | proc-log "^4.2.0" 1194 | read "^3.0.1" 1195 | read-package-json-fast "^3.0.2" 1196 | semver "^7.3.7" 1197 | walk-up-path "^3.0.1" 1198 | 1199 | libnpmfund@^5.0.12: 1200 | version "5.0.12" 1201 | resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-5.0.12.tgz#6620f2874846c8378a4f71da04eeaaa5c541a429" 1202 | integrity sha512-lox1UHcv8/r/TE+T9B+aOylU3c13tK2IuwwUwUm+YMw+C/iq14dqskHqhGPTqa75ZJbiVOW7PMWO92Wn5HG49Q== 1203 | dependencies: 1204 | "@npmcli/arborist" "^7.5.4" 1205 | 1206 | libnpmhook@^10.0.5: 1207 | version "10.0.5" 1208 | resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-10.0.5.tgz#22cbaf43b20ab56a797c19d254af0cf2ffb5c985" 1209 | integrity sha512-XulT+N/s3o9oFlIq6pGRv3OG2qR1NVRbVQOKLchycDwyf16RZA3oXbeEgs2H3oE7hRZPUMBZqsalQXMMPal3cQ== 1210 | dependencies: 1211 | aproba "^2.0.0" 1212 | npm-registry-fetch "^17.0.1" 1213 | 1214 | libnpmorg@^6.0.6: 1215 | version "6.0.6" 1216 | resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-6.0.6.tgz#657c5e8b51447bb772d7d1d09c3a13693ce867b7" 1217 | integrity sha512-4MVxsAS4H2z7su/sU0GsrirfBm4ssfqPRSDvoZ8qmRw58kEWJ0qE0cQ2VilRlFgCWKzKPhfoPeyNPyxBTnOusA== 1218 | dependencies: 1219 | aproba "^2.0.0" 1220 | npm-registry-fetch "^17.0.1" 1221 | 1222 | libnpmpack@^7.0.4: 1223 | version "7.0.4" 1224 | resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-7.0.4.tgz#357bdb4e9932e78a080c99c20ce9f9627d50cb3d" 1225 | integrity sha512-oKZA0afbueiC88lskXzAEr3DCN9BTMbUySjUce6qhBV9CjYF2R/x347KhgHu75+p9W2Rd57ZvKz81c5a2+9h6Q== 1226 | dependencies: 1227 | "@npmcli/arborist" "^7.5.4" 1228 | "@npmcli/run-script" "^8.1.0" 1229 | npm-package-arg "^11.0.2" 1230 | pacote "^18.0.6" 1231 | 1232 | libnpmpublish@^9.0.9: 1233 | version "9.0.9" 1234 | resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-9.0.9.tgz#e737378c09f09738377d2a276734be35cffb85e2" 1235 | integrity sha512-26zzwoBNAvX9AWOPiqqF6FG4HrSCPsHFkQm7nT+xU1ggAujL/eae81RnCv4CJ2In9q9fh10B88sYSzKCUh/Ghg== 1236 | dependencies: 1237 | ci-info "^4.0.0" 1238 | normalize-package-data "^6.0.1" 1239 | npm-package-arg "^11.0.2" 1240 | npm-registry-fetch "^17.0.1" 1241 | proc-log "^4.2.0" 1242 | semver "^7.3.7" 1243 | sigstore "^2.2.0" 1244 | ssri "^10.0.6" 1245 | 1246 | libnpmsearch@^7.0.6: 1247 | version "7.0.6" 1248 | resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-7.0.6.tgz#03c375f69284f0732175ce1d4af6e239b2fb2f2a" 1249 | integrity sha512-PmiER4bgiIqN9OjBtgPn2/PxwU+OdJWtLBFM+vewOrn4VmaNAHSUKDt/wxOOkZSDLyMICVUBp61Ji1+XxhSrKw== 1250 | dependencies: 1251 | npm-registry-fetch "^17.0.1" 1252 | 1253 | libnpmteam@^6.0.5: 1254 | version "6.0.5" 1255 | resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-6.0.5.tgz#95cb341806bc23d137478ad1d30bb353efda2711" 1256 | integrity sha512-iJW4Cq42GMqMwZEV+Mx8ZLj0Np5kGXQ9P/BAekHjIpYC1v3/vJqbmfJkzkwFvGxEhUotmx+xpLChZCDJ7c3rxA== 1257 | dependencies: 1258 | aproba "^2.0.0" 1259 | npm-registry-fetch "^17.0.1" 1260 | 1261 | libnpmversion@^6.0.3: 1262 | version "6.0.3" 1263 | resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-6.0.3.tgz#f55c64f76f582857a9a963e6e5ffd0b4f83fab76" 1264 | integrity sha512-Kjk1anQ9sPn7E/qF1jXumItvr2OA1914tYWkSTXH9G2rYoY+Ol1+KNrWfGeje2aBvFfKlt4VeKdCfM3yxMXNBw== 1265 | dependencies: 1266 | "@npmcli/git" "^5.0.7" 1267 | "@npmcli/run-script" "^8.1.0" 1268 | json-parse-even-better-errors "^3.0.2" 1269 | proc-log "^4.2.0" 1270 | semver "^7.3.7" 1271 | 1272 | lodash.camelcase@^4.3.0: 1273 | version "4.3.0" 1274 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1275 | integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== 1276 | 1277 | lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.2.2: 1278 | version "10.4.3" 1279 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" 1280 | integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== 1281 | 1282 | make-fetch-happen@^13.0.0, make-fetch-happen@^13.0.1: 1283 | version "13.0.1" 1284 | resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz#273ba2f78f45e1f3a6dca91cede87d9fa4821e36" 1285 | integrity sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA== 1286 | dependencies: 1287 | "@npmcli/agent" "^2.0.0" 1288 | cacache "^18.0.0" 1289 | http-cache-semantics "^4.1.1" 1290 | is-lambda "^1.0.1" 1291 | minipass "^7.0.2" 1292 | minipass-fetch "^3.0.0" 1293 | minipass-flush "^1.0.5" 1294 | minipass-pipeline "^1.2.4" 1295 | negotiator "^0.6.3" 1296 | proc-log "^4.2.0" 1297 | promise-retry "^2.0.1" 1298 | ssri "^10.0.0" 1299 | 1300 | mime-db@1.52.0: 1301 | version "1.52.0" 1302 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1303 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1304 | 1305 | mime-types@^2.1.12: 1306 | version "2.1.35" 1307 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1308 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1309 | dependencies: 1310 | mime-db "1.52.0" 1311 | 1312 | minimatch@^9.0.0, minimatch@^9.0.4, minimatch@^9.0.5: 1313 | version "9.0.5" 1314 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" 1315 | integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== 1316 | dependencies: 1317 | brace-expansion "^2.0.1" 1318 | 1319 | minipass-collect@^2.0.1: 1320 | version "2.0.1" 1321 | resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-2.0.1.tgz#1621bc77e12258a12c60d34e2276ec5c20680863" 1322 | integrity sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== 1323 | dependencies: 1324 | minipass "^7.0.3" 1325 | 1326 | minipass-fetch@^3.0.0: 1327 | version "3.0.5" 1328 | resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.5.tgz#f0f97e40580affc4a35cc4a1349f05ae36cb1e4c" 1329 | integrity sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg== 1330 | dependencies: 1331 | minipass "^7.0.3" 1332 | minipass-sized "^1.0.3" 1333 | minizlib "^2.1.2" 1334 | optionalDependencies: 1335 | encoding "^0.1.13" 1336 | 1337 | minipass-flush@^1.0.5: 1338 | version "1.0.5" 1339 | resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" 1340 | integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== 1341 | dependencies: 1342 | minipass "^3.0.0" 1343 | 1344 | minipass-pipeline@^1.2.4: 1345 | version "1.2.4" 1346 | resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" 1347 | integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== 1348 | dependencies: 1349 | minipass "^3.0.0" 1350 | 1351 | minipass-sized@^1.0.3: 1352 | version "1.0.3" 1353 | resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" 1354 | integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== 1355 | dependencies: 1356 | minipass "^3.0.0" 1357 | 1358 | minipass@^3.0.0: 1359 | version "3.3.6" 1360 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" 1361 | integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== 1362 | dependencies: 1363 | yallist "^4.0.0" 1364 | 1365 | minipass@^5.0.0: 1366 | version "5.0.0" 1367 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" 1368 | integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== 1369 | 1370 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.2, minipass@^7.0.3, minipass@^7.1.1, minipass@^7.1.2: 1371 | version "7.1.2" 1372 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 1373 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 1374 | 1375 | minizlib@^2.1.1, minizlib@^2.1.2: 1376 | version "2.1.2" 1377 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" 1378 | integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== 1379 | dependencies: 1380 | minipass "^3.0.0" 1381 | yallist "^4.0.0" 1382 | 1383 | mkdirp@^1.0.3: 1384 | version "1.0.4" 1385 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 1386 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1387 | 1388 | ms@2.1.2: 1389 | version "2.1.2" 1390 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1391 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1392 | 1393 | ms@^2.0.0, ms@^2.1.2: 1394 | version "2.1.3" 1395 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1396 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1397 | 1398 | mustache@^4.2.0: 1399 | version "4.2.0" 1400 | resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" 1401 | integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== 1402 | 1403 | mute-stream@^1.0.0: 1404 | version "1.0.0" 1405 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" 1406 | integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== 1407 | 1408 | negotiator@^0.6.3: 1409 | version "0.6.3" 1410 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 1411 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 1412 | 1413 | node-domexception@1.0.0: 1414 | version "1.0.0" 1415 | resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" 1416 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== 1417 | 1418 | node-fetch@^2.6.7: 1419 | version "2.7.0" 1420 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" 1421 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== 1422 | dependencies: 1423 | whatwg-url "^5.0.0" 1424 | 1425 | node-gyp@^10.0.0, node-gyp@^10.2.0: 1426 | version "10.2.0" 1427 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.2.0.tgz#80101c4aa4f7ab225f13fcc8daaaac4eb1a8dd86" 1428 | integrity sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw== 1429 | dependencies: 1430 | env-paths "^2.2.0" 1431 | exponential-backoff "^3.1.1" 1432 | glob "^10.3.10" 1433 | graceful-fs "^4.2.6" 1434 | make-fetch-happen "^13.0.0" 1435 | nopt "^7.0.0" 1436 | proc-log "^4.1.0" 1437 | semver "^7.3.5" 1438 | tar "^6.2.1" 1439 | which "^4.0.0" 1440 | 1441 | nopt@^7.0.0, nopt@^7.2.1: 1442 | version "7.2.1" 1443 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" 1444 | integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== 1445 | dependencies: 1446 | abbrev "^2.0.0" 1447 | 1448 | normalize-package-data@^6.0.0, normalize-package-data@^6.0.1, normalize-package-data@^6.0.2: 1449 | version "6.0.2" 1450 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-6.0.2.tgz#a7bc22167fe24025412bcff0a9651eb768b03506" 1451 | integrity sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g== 1452 | dependencies: 1453 | hosted-git-info "^7.0.0" 1454 | semver "^7.3.5" 1455 | validate-npm-package-license "^3.0.4" 1456 | 1457 | npm-audit-report@^5.0.0: 1458 | version "5.0.0" 1459 | resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-5.0.0.tgz#83ac14aeff249484bde81eff53c3771d5048cf95" 1460 | integrity sha512-EkXrzat7zERmUhHaoren1YhTxFwsOu5jypE84k6632SXTHcQE1z8V51GC6GVZt8LxkC+tbBcKMUBZAgk8SUSbw== 1461 | 1462 | npm-bundled@^3.0.0: 1463 | version "3.0.1" 1464 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.1.tgz#cca73e15560237696254b10170d8f86dad62da25" 1465 | integrity sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ== 1466 | dependencies: 1467 | npm-normalize-package-bin "^3.0.0" 1468 | 1469 | npm-install-checks@^6.0.0, npm-install-checks@^6.2.0, npm-install-checks@^6.3.0: 1470 | version "6.3.0" 1471 | resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" 1472 | integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== 1473 | dependencies: 1474 | semver "^7.1.1" 1475 | 1476 | npm-normalize-package-bin@^3.0.0: 1477 | version "3.0.1" 1478 | resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" 1479 | integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== 1480 | 1481 | npm-package-arg@^11.0.0, npm-package-arg@^11.0.2, npm-package-arg@^11.0.3: 1482 | version "11.0.3" 1483 | resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.3.tgz#dae0c21199a99feca39ee4bfb074df3adac87e2d" 1484 | integrity sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw== 1485 | dependencies: 1486 | hosted-git-info "^7.0.0" 1487 | proc-log "^4.0.0" 1488 | semver "^7.3.5" 1489 | validate-npm-package-name "^5.0.0" 1490 | 1491 | npm-packlist@^8.0.0: 1492 | version "8.0.2" 1493 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-8.0.2.tgz#5b8d1d906d96d21c85ebbeed2cf54147477c8478" 1494 | integrity sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA== 1495 | dependencies: 1496 | ignore-walk "^6.0.4" 1497 | 1498 | npm-pick-manifest@^9.0.0, npm-pick-manifest@^9.0.1, npm-pick-manifest@^9.1.0: 1499 | version "9.1.0" 1500 | resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz#83562afde52b0b07cb6244361788d319ce7e8636" 1501 | integrity sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA== 1502 | dependencies: 1503 | npm-install-checks "^6.0.0" 1504 | npm-normalize-package-bin "^3.0.0" 1505 | npm-package-arg "^11.0.0" 1506 | semver "^7.3.5" 1507 | 1508 | npm-profile@^10.0.0: 1509 | version "10.0.0" 1510 | resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-10.0.0.tgz#3fe941f487dde6686faff5e6b222bf92d38a3edd" 1511 | integrity sha512-DXnge3nHYnEnPxmVd/kPmgcXKXwVUqFihGnU+EJUiu5mIOs3awq6zEm0rRp3kSQNhFsoqdLu8L1TIfRyeBOCog== 1512 | dependencies: 1513 | npm-registry-fetch "^17.0.1" 1514 | proc-log "^4.0.0" 1515 | 1516 | npm-registry-fetch@^17.0.0, npm-registry-fetch@^17.0.1, npm-registry-fetch@^17.1.0: 1517 | version "17.1.0" 1518 | resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz#fb69e8e762d456f08bda2f5f169f7638fb92beb1" 1519 | integrity sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA== 1520 | dependencies: 1521 | "@npmcli/redact" "^2.0.0" 1522 | jsonparse "^1.3.1" 1523 | make-fetch-happen "^13.0.0" 1524 | minipass "^7.0.2" 1525 | minipass-fetch "^3.0.0" 1526 | minizlib "^2.1.2" 1527 | npm-package-arg "^11.0.0" 1528 | proc-log "^4.0.0" 1529 | 1530 | npm-user-validate@^2.0.1: 1531 | version "2.0.1" 1532 | resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-2.0.1.tgz#097afbf0a2351e2a8f478f1ba07960b368f2a25c" 1533 | integrity sha512-d17PKaF2h8LSGFl5j4b1gHOJt1fgH7YUcCm1kNSJvaLWWKXlBsuUvx0bBEkr0qhsVA9XP5LtRZ83hdlhm2QkgA== 1534 | 1535 | npm@^10.8.3: 1536 | version "10.8.3" 1537 | resolved "https://registry.yarnpkg.com/npm/-/npm-10.8.3.tgz#e6085b2864fcfd9b1aad7b602601b5a2fc116699" 1538 | integrity sha512-0IQlyAYvVtQ7uOhDFYZCGK8kkut2nh8cpAdA9E6FvRSJaTgtZRZgNjlC5ZCct//L73ygrpY93CxXpRJDtNqPVg== 1539 | dependencies: 1540 | "@isaacs/string-locale-compare" "^1.1.0" 1541 | "@npmcli/arborist" "^7.5.4" 1542 | "@npmcli/config" "^8.3.4" 1543 | "@npmcli/fs" "^3.1.1" 1544 | "@npmcli/map-workspaces" "^3.0.6" 1545 | "@npmcli/package-json" "^5.2.0" 1546 | "@npmcli/promise-spawn" "^7.0.2" 1547 | "@npmcli/redact" "^2.0.1" 1548 | "@npmcli/run-script" "^8.1.0" 1549 | "@sigstore/tuf" "^2.3.4" 1550 | abbrev "^2.0.0" 1551 | archy "~1.0.0" 1552 | cacache "^18.0.4" 1553 | chalk "^5.3.0" 1554 | ci-info "^4.0.0" 1555 | cli-columns "^4.0.0" 1556 | fastest-levenshtein "^1.0.16" 1557 | fs-minipass "^3.0.3" 1558 | glob "^10.4.5" 1559 | graceful-fs "^4.2.11" 1560 | hosted-git-info "^7.0.2" 1561 | ini "^4.1.3" 1562 | init-package-json "^6.0.3" 1563 | is-cidr "^5.1.0" 1564 | json-parse-even-better-errors "^3.0.2" 1565 | libnpmaccess "^8.0.6" 1566 | libnpmdiff "^6.1.4" 1567 | libnpmexec "^8.1.4" 1568 | libnpmfund "^5.0.12" 1569 | libnpmhook "^10.0.5" 1570 | libnpmorg "^6.0.6" 1571 | libnpmpack "^7.0.4" 1572 | libnpmpublish "^9.0.9" 1573 | libnpmsearch "^7.0.6" 1574 | libnpmteam "^6.0.5" 1575 | libnpmversion "^6.0.3" 1576 | make-fetch-happen "^13.0.1" 1577 | minimatch "^9.0.5" 1578 | minipass "^7.1.1" 1579 | minipass-pipeline "^1.2.4" 1580 | ms "^2.1.2" 1581 | node-gyp "^10.2.0" 1582 | nopt "^7.2.1" 1583 | normalize-package-data "^6.0.2" 1584 | npm-audit-report "^5.0.0" 1585 | npm-install-checks "^6.3.0" 1586 | npm-package-arg "^11.0.3" 1587 | npm-pick-manifest "^9.1.0" 1588 | npm-profile "^10.0.0" 1589 | npm-registry-fetch "^17.1.0" 1590 | npm-user-validate "^2.0.1" 1591 | p-map "^4.0.0" 1592 | pacote "^18.0.6" 1593 | parse-conflict-json "^3.0.1" 1594 | proc-log "^4.2.0" 1595 | qrcode-terminal "^0.12.0" 1596 | read "^3.0.1" 1597 | semver "^7.6.3" 1598 | spdx-expression-parse "^4.0.0" 1599 | ssri "^10.0.6" 1600 | supports-color "^9.4.0" 1601 | tar "^6.2.1" 1602 | text-table "~0.2.0" 1603 | tiny-relative-date "^1.3.0" 1604 | treeverse "^3.0.0" 1605 | validate-npm-package-name "^5.0.1" 1606 | which "^4.0.0" 1607 | write-file-atomic "^5.0.1" 1608 | 1609 | object-inspect@^1.13.1: 1610 | version "1.13.2" 1611 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" 1612 | integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== 1613 | 1614 | openai@^4.55.0: 1615 | version "4.57.0" 1616 | resolved "https://registry.yarnpkg.com/openai/-/openai-4.57.0.tgz#c1c735e9bbccf1fc42fdcfc9676643cad56258fe" 1617 | integrity sha512-JnwBSIYqiZ3jYjB5f2in8hQ0PRA092c6m+/6dYB0MzK0BEbn+0dioxZsPLBm5idJbg9xzLNOiGVm2OSuhZ+BdQ== 1618 | dependencies: 1619 | "@types/node" "^18.11.18" 1620 | "@types/node-fetch" "^2.6.4" 1621 | "@types/qs" "^6.9.7" 1622 | abort-controller "^3.0.0" 1623 | agentkeepalive "^4.2.1" 1624 | form-data-encoder "1.7.2" 1625 | formdata-node "^4.3.2" 1626 | node-fetch "^2.6.7" 1627 | qs "^6.10.3" 1628 | 1629 | openapi-types@^12.1.3: 1630 | version "12.1.3" 1631 | resolved "https://registry.yarnpkg.com/openapi-types/-/openapi-types-12.1.3.tgz#471995eb26c4b97b7bd356aacf7b91b73e777dd3" 1632 | integrity sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw== 1633 | 1634 | p-finally@^1.0.0: 1635 | version "1.0.0" 1636 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1637 | integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== 1638 | 1639 | p-map@^4.0.0: 1640 | version "4.0.0" 1641 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 1642 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 1643 | dependencies: 1644 | aggregate-error "^3.0.0" 1645 | 1646 | p-queue@^6.6.2: 1647 | version "6.6.2" 1648 | resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" 1649 | integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== 1650 | dependencies: 1651 | eventemitter3 "^4.0.4" 1652 | p-timeout "^3.2.0" 1653 | 1654 | p-retry@4: 1655 | version "4.6.2" 1656 | resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" 1657 | integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== 1658 | dependencies: 1659 | "@types/retry" "0.12.0" 1660 | retry "^0.13.1" 1661 | 1662 | p-timeout@^3.2.0: 1663 | version "3.2.0" 1664 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" 1665 | integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== 1666 | dependencies: 1667 | p-finally "^1.0.0" 1668 | 1669 | package-json-from-dist@^1.0.0: 1670 | version "1.0.0" 1671 | resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" 1672 | integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== 1673 | 1674 | pacote@^18.0.0, pacote@^18.0.6: 1675 | version "18.0.6" 1676 | resolved "https://registry.yarnpkg.com/pacote/-/pacote-18.0.6.tgz#ac28495e24f4cf802ef911d792335e378e86fac7" 1677 | integrity sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A== 1678 | dependencies: 1679 | "@npmcli/git" "^5.0.0" 1680 | "@npmcli/installed-package-contents" "^2.0.1" 1681 | "@npmcli/package-json" "^5.1.0" 1682 | "@npmcli/promise-spawn" "^7.0.0" 1683 | "@npmcli/run-script" "^8.0.0" 1684 | cacache "^18.0.0" 1685 | fs-minipass "^3.0.0" 1686 | minipass "^7.0.2" 1687 | npm-package-arg "^11.0.0" 1688 | npm-packlist "^8.0.0" 1689 | npm-pick-manifest "^9.0.0" 1690 | npm-registry-fetch "^17.0.0" 1691 | proc-log "^4.0.0" 1692 | promise-retry "^2.0.1" 1693 | sigstore "^2.2.0" 1694 | ssri "^10.0.0" 1695 | tar "^6.1.11" 1696 | 1697 | parse-conflict-json@^3.0.0, parse-conflict-json@^3.0.1: 1698 | version "3.0.1" 1699 | resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c" 1700 | integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw== 1701 | dependencies: 1702 | json-parse-even-better-errors "^3.0.0" 1703 | just-diff "^6.0.0" 1704 | just-diff-apply "^5.2.0" 1705 | 1706 | path-key@^3.1.0: 1707 | version "3.1.1" 1708 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1709 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1710 | 1711 | path-scurry@^1.11.1: 1712 | version "1.11.1" 1713 | resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" 1714 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== 1715 | dependencies: 1716 | lru-cache "^10.2.0" 1717 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 1718 | 1719 | postcss-selector-parser@^6.0.10: 1720 | version "6.1.2" 1721 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" 1722 | integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== 1723 | dependencies: 1724 | cssesc "^3.0.0" 1725 | util-deprecate "^1.0.2" 1726 | 1727 | proc-log@^4.0.0, proc-log@^4.1.0, proc-log@^4.2.0: 1728 | version "4.2.0" 1729 | resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034" 1730 | integrity sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA== 1731 | 1732 | proggy@^2.0.0: 1733 | version "2.0.0" 1734 | resolved "https://registry.yarnpkg.com/proggy/-/proggy-2.0.0.tgz#154bb0e41d3125b518ef6c79782455c2c47d94e1" 1735 | integrity sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A== 1736 | 1737 | promise-all-reject-late@^1.0.0: 1738 | version "1.0.1" 1739 | resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" 1740 | integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== 1741 | 1742 | promise-call-limit@^3.0.1: 1743 | version "3.0.1" 1744 | resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-3.0.1.tgz#3570f7a3f2aaaf8e703623a552cd74749688cf19" 1745 | integrity sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg== 1746 | 1747 | promise-inflight@^1.0.1: 1748 | version "1.0.1" 1749 | resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 1750 | integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== 1751 | 1752 | promise-retry@^2.0.1: 1753 | version "2.0.1" 1754 | resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" 1755 | integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== 1756 | dependencies: 1757 | err-code "^2.0.2" 1758 | retry "^0.12.0" 1759 | 1760 | promzard@^1.0.0: 1761 | version "1.0.2" 1762 | resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.2.tgz#2226e7c6508b1da3471008ae17066a7c3251e660" 1763 | integrity sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ== 1764 | dependencies: 1765 | read "^3.0.1" 1766 | 1767 | proxy-from-env@^1.1.0: 1768 | version "1.1.0" 1769 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 1770 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 1771 | 1772 | qrcode-terminal@^0.12.0: 1773 | version "0.12.0" 1774 | resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" 1775 | integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== 1776 | 1777 | qs@^6.10.3: 1778 | version "6.13.0" 1779 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" 1780 | integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== 1781 | dependencies: 1782 | side-channel "^1.0.6" 1783 | 1784 | read-cmd-shim@^4.0.0: 1785 | version "4.0.0" 1786 | resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" 1787 | integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== 1788 | 1789 | read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: 1790 | version "3.0.2" 1791 | resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" 1792 | integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== 1793 | dependencies: 1794 | json-parse-even-better-errors "^3.0.0" 1795 | npm-normalize-package-bin "^3.0.0" 1796 | 1797 | read@^3.0.1: 1798 | version "3.0.1" 1799 | resolved "https://registry.yarnpkg.com/read/-/read-3.0.1.tgz#926808f0f7c83fa95f1ef33c0e2c09dbb28fd192" 1800 | integrity sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw== 1801 | dependencies: 1802 | mute-stream "^1.0.0" 1803 | 1804 | reflect-metadata@^0.2.2: 1805 | version "0.2.2" 1806 | resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" 1807 | integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== 1808 | 1809 | retry@^0.12.0: 1810 | version "0.12.0" 1811 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" 1812 | integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== 1813 | 1814 | retry@^0.13.1: 1815 | version "0.13.1" 1816 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" 1817 | integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== 1818 | 1819 | "safer-buffer@>= 2.1.2 < 3.0.0": 1820 | version "2.1.2" 1821 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1822 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1823 | 1824 | semver@^7.1.1, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.6.3: 1825 | version "7.6.3" 1826 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 1827 | integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 1828 | 1829 | set-function-length@^1.2.1: 1830 | version "1.2.2" 1831 | resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" 1832 | integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== 1833 | dependencies: 1834 | define-data-property "^1.1.4" 1835 | es-errors "^1.3.0" 1836 | function-bind "^1.1.2" 1837 | get-intrinsic "^1.2.4" 1838 | gopd "^1.0.1" 1839 | has-property-descriptors "^1.0.2" 1840 | 1841 | shebang-command@^2.0.0: 1842 | version "2.0.0" 1843 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1844 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1845 | dependencies: 1846 | shebang-regex "^3.0.0" 1847 | 1848 | shebang-regex@^3.0.0: 1849 | version "3.0.0" 1850 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1851 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1852 | 1853 | side-channel@^1.0.6: 1854 | version "1.0.6" 1855 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" 1856 | integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== 1857 | dependencies: 1858 | call-bind "^1.0.7" 1859 | es-errors "^1.3.0" 1860 | get-intrinsic "^1.2.4" 1861 | object-inspect "^1.13.1" 1862 | 1863 | signal-exit@^4.0.1: 1864 | version "4.1.0" 1865 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 1866 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 1867 | 1868 | sigstore@^2.2.0: 1869 | version "2.3.1" 1870 | resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-2.3.1.tgz#0755dd2cc4820f2e922506da54d3d628e13bfa39" 1871 | integrity sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ== 1872 | dependencies: 1873 | "@sigstore/bundle" "^2.3.2" 1874 | "@sigstore/core" "^1.0.0" 1875 | "@sigstore/protobuf-specs" "^0.3.2" 1876 | "@sigstore/sign" "^2.3.2" 1877 | "@sigstore/tuf" "^2.3.4" 1878 | "@sigstore/verify" "^1.2.1" 1879 | 1880 | smart-buffer@^4.2.0: 1881 | version "4.2.0" 1882 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" 1883 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== 1884 | 1885 | socks-proxy-agent@^8.0.3: 1886 | version "8.0.4" 1887 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" 1888 | integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== 1889 | dependencies: 1890 | agent-base "^7.1.1" 1891 | debug "^4.3.4" 1892 | socks "^2.8.3" 1893 | 1894 | socks@^2.8.3: 1895 | version "2.8.3" 1896 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" 1897 | integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== 1898 | dependencies: 1899 | ip-address "^9.0.5" 1900 | smart-buffer "^4.2.0" 1901 | 1902 | spdx-correct@^3.0.0: 1903 | version "3.2.0" 1904 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" 1905 | integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== 1906 | dependencies: 1907 | spdx-expression-parse "^3.0.0" 1908 | spdx-license-ids "^3.0.0" 1909 | 1910 | spdx-exceptions@^2.1.0: 1911 | version "2.5.0" 1912 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" 1913 | integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== 1914 | 1915 | spdx-expression-parse@^3.0.0: 1916 | version "3.0.1" 1917 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1918 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1919 | dependencies: 1920 | spdx-exceptions "^2.1.0" 1921 | spdx-license-ids "^3.0.0" 1922 | 1923 | spdx-expression-parse@^4.0.0: 1924 | version "4.0.0" 1925 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz#a23af9f3132115465dac215c099303e4ceac5794" 1926 | integrity sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== 1927 | dependencies: 1928 | spdx-exceptions "^2.1.0" 1929 | spdx-license-ids "^3.0.0" 1930 | 1931 | spdx-license-ids@^3.0.0: 1932 | version "3.0.20" 1933 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" 1934 | integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== 1935 | 1936 | sprintf-js@^1.1.3: 1937 | version "1.1.3" 1938 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" 1939 | integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== 1940 | 1941 | ssri@^10.0.0, ssri@^10.0.6: 1942 | version "10.0.6" 1943 | resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" 1944 | integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== 1945 | dependencies: 1946 | minipass "^7.0.3" 1947 | 1948 | "string-width-cjs@npm:string-width@^4.2.0": 1949 | version "4.2.3" 1950 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1951 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1952 | dependencies: 1953 | emoji-regex "^8.0.0" 1954 | is-fullwidth-code-point "^3.0.0" 1955 | strip-ansi "^6.0.1" 1956 | 1957 | string-width@^4.1.0, string-width@^4.2.3: 1958 | version "4.2.3" 1959 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1960 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1961 | dependencies: 1962 | emoji-regex "^8.0.0" 1963 | is-fullwidth-code-point "^3.0.0" 1964 | strip-ansi "^6.0.1" 1965 | 1966 | string-width@^5.0.1, string-width@^5.1.2: 1967 | version "5.1.2" 1968 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 1969 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1970 | dependencies: 1971 | eastasianwidth "^0.2.0" 1972 | emoji-regex "^9.2.2" 1973 | strip-ansi "^7.0.1" 1974 | 1975 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 1976 | version "6.0.1" 1977 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1978 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1979 | dependencies: 1980 | ansi-regex "^5.0.1" 1981 | 1982 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1983 | version "6.0.1" 1984 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1985 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1986 | dependencies: 1987 | ansi-regex "^5.0.1" 1988 | 1989 | strip-ansi@^7.0.1: 1990 | version "7.1.0" 1991 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" 1992 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 1993 | dependencies: 1994 | ansi-regex "^6.0.1" 1995 | 1996 | supports-color@^7.1.0: 1997 | version "7.2.0" 1998 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1999 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2000 | dependencies: 2001 | has-flag "^4.0.0" 2002 | 2003 | supports-color@^9.4.0: 2004 | version "9.4.0" 2005 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" 2006 | integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== 2007 | 2008 | table-layout@^4.1.0: 2009 | version "4.1.1" 2010 | resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-4.1.1.tgz#0f72965de1a5c0c1419c9ba21cae4e73a2f73a42" 2011 | integrity sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA== 2012 | dependencies: 2013 | array-back "^6.2.2" 2014 | wordwrapjs "^5.1.0" 2015 | 2016 | tar@^6.1.11, tar@^6.2.1: 2017 | version "6.2.1" 2018 | resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" 2019 | integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== 2020 | dependencies: 2021 | chownr "^2.0.0" 2022 | fs-minipass "^2.0.0" 2023 | minipass "^5.0.0" 2024 | minizlib "^2.1.1" 2025 | mkdirp "^1.0.3" 2026 | yallist "^4.0.0" 2027 | 2028 | text-table@~0.2.0: 2029 | version "0.2.0" 2030 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2031 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2032 | 2033 | tiny-relative-date@^1.3.0: 2034 | version "1.3.0" 2035 | resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" 2036 | integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== 2037 | 2038 | tr46@~0.0.3: 2039 | version "0.0.3" 2040 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 2041 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 2042 | 2043 | treeverse@^3.0.0: 2044 | version "3.0.0" 2045 | resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" 2046 | integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== 2047 | 2048 | tslib@^2.4.0, tslib@^2.6.2: 2049 | version "2.7.0" 2050 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" 2051 | integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== 2052 | 2053 | tuf-js@^2.2.1: 2054 | version "2.2.1" 2055 | resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-2.2.1.tgz#fdd8794b644af1a75c7aaa2b197ddffeb2911b56" 2056 | integrity sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA== 2057 | dependencies: 2058 | "@tufjs/models" "2.0.1" 2059 | debug "^4.3.4" 2060 | make-fetch-happen "^13.0.1" 2061 | 2062 | typical@^4.0.0: 2063 | version "4.0.0" 2064 | resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" 2065 | integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== 2066 | 2067 | typical@^7.1.1: 2068 | version "7.1.1" 2069 | resolved "https://registry.yarnpkg.com/typical/-/typical-7.1.1.tgz#ba177ab7ab103b78534463ffa4c0c9754523ac1f" 2070 | integrity sha512-T+tKVNs6Wu7IWiAce5BgMd7OZfNYUndHwc5MknN+UHOudi7sGZzuHdCadllRuqJ3fPtgFtIH9+lt9qRv6lmpfA== 2071 | 2072 | undici-types@~5.26.4: 2073 | version "5.26.5" 2074 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 2075 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 2076 | 2077 | undici-types@~6.19.2: 2078 | version "6.19.8" 2079 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" 2080 | integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== 2081 | 2082 | unique-filename@^3.0.0: 2083 | version "3.0.0" 2084 | resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" 2085 | integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== 2086 | dependencies: 2087 | unique-slug "^4.0.0" 2088 | 2089 | unique-slug@^4.0.0: 2090 | version "4.0.0" 2091 | resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" 2092 | integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== 2093 | dependencies: 2094 | imurmurhash "^0.1.4" 2095 | 2096 | util-deprecate@^1.0.2: 2097 | version "1.0.2" 2098 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2099 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 2100 | 2101 | uuid@^10.0.0: 2102 | version "10.0.0" 2103 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294" 2104 | integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ== 2105 | 2106 | validate-npm-package-license@^3.0.4: 2107 | version "3.0.4" 2108 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2109 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2110 | dependencies: 2111 | spdx-correct "^3.0.0" 2112 | spdx-expression-parse "^3.0.0" 2113 | 2114 | validate-npm-package-name@^5.0.0, validate-npm-package-name@^5.0.1: 2115 | version "5.0.1" 2116 | resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz#a316573e9b49f3ccd90dbb6eb52b3f06c6d604e8" 2117 | integrity sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ== 2118 | 2119 | walk-up-path@^3.0.1: 2120 | version "3.0.1" 2121 | resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" 2122 | integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== 2123 | 2124 | web-streams-polyfill@4.0.0-beta.3: 2125 | version "4.0.0-beta.3" 2126 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38" 2127 | integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug== 2128 | 2129 | webidl-conversions@^3.0.0: 2130 | version "3.0.1" 2131 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 2132 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 2133 | 2134 | whatwg-url@^5.0.0: 2135 | version "5.0.0" 2136 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 2137 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 2138 | dependencies: 2139 | tr46 "~0.0.3" 2140 | webidl-conversions "^3.0.0" 2141 | 2142 | which@^2.0.1: 2143 | version "2.0.2" 2144 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2145 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2146 | dependencies: 2147 | isexe "^2.0.0" 2148 | 2149 | which@^4.0.0: 2150 | version "4.0.0" 2151 | resolved "https://registry.yarnpkg.com/which/-/which-4.0.0.tgz#cd60b5e74503a3fbcfbf6cd6b4138a8bae644c1a" 2152 | integrity sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg== 2153 | dependencies: 2154 | isexe "^3.1.1" 2155 | 2156 | wordwrapjs@^5.1.0: 2157 | version "5.1.0" 2158 | resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" 2159 | integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== 2160 | 2161 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 2162 | version "7.0.0" 2163 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2164 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2165 | dependencies: 2166 | ansi-styles "^4.0.0" 2167 | string-width "^4.1.0" 2168 | strip-ansi "^6.0.0" 2169 | 2170 | wrap-ansi@^8.1.0: 2171 | version "8.1.0" 2172 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 2173 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 2174 | dependencies: 2175 | ansi-styles "^6.1.0" 2176 | string-width "^5.0.1" 2177 | strip-ansi "^7.0.1" 2178 | 2179 | write-file-atomic@^5.0.0, write-file-atomic@^5.0.1: 2180 | version "5.0.1" 2181 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" 2182 | integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== 2183 | dependencies: 2184 | imurmurhash "^0.1.4" 2185 | signal-exit "^4.0.1" 2186 | 2187 | yallist@^4.0.0: 2188 | version "4.0.0" 2189 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2190 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2191 | 2192 | yaml@^2.2.1: 2193 | version "2.5.0" 2194 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" 2195 | integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== 2196 | 2197 | zod-to-json-schema@^3.22.3, zod-to-json-schema@^3.22.5: 2198 | version "3.23.2" 2199 | resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz#bc7e379c8050462538383e382964c03d8fe008f9" 2200 | integrity sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw== 2201 | 2202 | zod@^3.22.3, zod@^3.22.4, zod@^3.23.8: 2203 | version "3.23.8" 2204 | resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" 2205 | integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== 2206 | --------------------------------------------------------------------------------