diff --git a/Cargo.lock b/Cargo.lock index 470fbfb..6934b26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -283,9 +283,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.71.1" +version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ "bitflags", "cexpr", @@ -4494,23 +4494,24 @@ dependencies = [ [[package]] name = "whisper-rs" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71ea5d2401f30f51d08126a2d133fee4c1955136519d7ac6cf6f5ac0a91e6bc8" +checksum = "2088172d00f936c348d6a72f488dc2660ab3f507263a195df308a3c2383229f6" dependencies = [ "whisper-rs-sys", ] [[package]] name = "whisper-rs-sys" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e2a6e06e7ac7b8f53c53a5f50bb0bc823ba69b63ecd887339f807a5598bbd2" +checksum = "6986c0fe081241d391f09b9a071fbcbb59720c3563628c3c829057cf69f2a56f" dependencies = [ "bindgen", "cfg-if", "cmake", "fs_extra", + "semver", ] [[package]] diff --git a/cortex-mem-service/src/main.rs b/cortex-mem-service/src/main.rs index 13fb3f9..d98b24c 100644 --- a/cortex-mem-service/src/main.rs +++ b/cortex-mem-service/src/main.rs @@ -25,7 +25,7 @@ struct Cli { data_dir: String, /// Server host - #[arg(long, default_value = "127.0.0.1")] + #[arg(long, default_value = "localhost")] host: String, /// Server port diff --git a/examples/@memclaw/bin-darwin-arm64/.gitattributes b/examples/@memclaw/bin-darwin-arm64/.gitattributes new file mode 100644 index 0000000..ca2fc43 --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/.gitattributes @@ -0,0 +1 @@ +bin/* filter=lfs diff=lfs merge=lfs -text diff --git a/examples/@memclaw/bin-darwin-arm64/.gitignore b/examples/@memclaw/bin-darwin-arm64/.gitignore new file mode 100644 index 0000000..91cda48 --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/.gitignore @@ -0,0 +1,5 @@ +# Dependencies +node_modules/ + +# Build artifacts +*.tsbuildinfo diff --git a/examples/@memclaw/bin-darwin-arm64/bin/README.md b/examples/@memclaw/bin-darwin-arm64/bin/README.md new file mode 100644 index 0000000..7ec724a --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/bin/README.md @@ -0,0 +1,22 @@ +# MemClaw Binaries for macOS Apple Silicon + +Place the following binaries in this directory: + +- `qdrant` - Qdrant vector database +- `cortex-mem-service` - Cortex Memory HTTP service +- `cortex-mem-cli` - Cortex Memory CLI tool + +## Build from source + +```bash +# In cortex-mem project root +cargo build --release --target aarch64-apple-darwin + +# Copy binaries +cp target/aarch64-apple-darwin/release/cortex-mem-service bin/ +cp target/aarch64-apple-darwin/release/cortex-mem-cli bin/ +``` + +## Download Qdrant + +Download from: https://github.com/qdrant/qdrant/releases diff --git a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli new file mode 100755 index 0000000..1ce137e --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b15bd57c2165fb884c0cf88dd53cd737b09408fd4e7b23b07b8cf3ce4e34dd8d +size 18292816 diff --git a/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service new file mode 100755 index 0000000..fb8deea --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/bin/cortex-mem-service @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4bdc7455b025b170325967d559ba10a652bb09eb462443cd29cd81696264c5a +size 17431216 diff --git a/examples/@memclaw/bin-darwin-arm64/bin/qdrant b/examples/@memclaw/bin-darwin-arm64/bin/qdrant new file mode 100644 index 0000000..d5626d2 --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/bin/qdrant @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dccb9eb8fac8a8bb3cad10ade931c4f61ceeed4723c6442193ffe2e970b9c844 +size 64870688 diff --git a/examples/@memclaw/bin-darwin-arm64/package.json b/examples/@memclaw/bin-darwin-arm64/package.json new file mode 100644 index 0000000..a89376b --- /dev/null +++ b/examples/@memclaw/bin-darwin-arm64/package.json @@ -0,0 +1,21 @@ +{ + "name": "@memclaw/bin-darwin-arm64", + "version": "0.1.0", + "description": "MemClaw binaries for macOS Apple Silicon", + "os": [ + "darwin" + ], + "cpu": [ + "arm64" + ], + "files": [ + "bin/" + ], + "author": "Sopaco", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/bin-darwin-arm64" + } +} diff --git a/examples/@memclaw/bin-win-x64/.gitattributes b/examples/@memclaw/bin-win-x64/.gitattributes new file mode 100644 index 0000000..5135af0 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/.gitattributes @@ -0,0 +1 @@ +*.exe filter=lfs diff=lfs merge=lfs -text diff --git a/examples/@memclaw/bin-win-x64/.gitignore b/examples/@memclaw/bin-win-x64/.gitignore new file mode 100644 index 0000000..91cda48 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/.gitignore @@ -0,0 +1,5 @@ +# Dependencies +node_modules/ + +# Build artifacts +*.tsbuildinfo diff --git a/examples/@memclaw/bin-win-x64/bin/README.md b/examples/@memclaw/bin-win-x64/bin/README.md new file mode 100644 index 0000000..62324ee --- /dev/null +++ b/examples/@memclaw/bin-win-x64/bin/README.md @@ -0,0 +1,22 @@ +# MemClaw Binaries for Windows x64 + +Place the following binaries in this directory: + +- `qdrant.exe` - Qdrant vector database +- `cortex-mem-service.exe` - Cortex Memory HTTP service +- `cortex-mem-cli.exe` - Cortex Memory CLI tool + +## Build from source + +```powershell +# In cortex-mem project root +cargo build --release --target x86_64-pc-windows-msvc + +# Copy binaries +copy target\x86_64-pc-windows-msvc\release\cortex-mem-service.exe bin\ +copy target\x86_64-pc-windows-msvc\release\cortex-mem-cli.exe bin\ +``` + +## Download Qdrant + +Download from: https://github.com/qdrant/qdrant/releases diff --git a/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe b/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe new file mode 100644 index 0000000..0cfb6c1 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/bin/cortex-mem-cli.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ad96c99c0dcb0444d0ae9a7207360d59e76e1791bc56f419a6c3c93a37b250 +size 17488384 diff --git a/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe b/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe new file mode 100644 index 0000000..deabf32 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/bin/cortex-mem-service.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49af474a007fe67a2c42a7b177b7b3577ce56095013bfebee12f062425730d7b +size 16015360 diff --git a/examples/@memclaw/bin-win-x64/bin/qdrant.exe b/examples/@memclaw/bin-win-x64/bin/qdrant.exe new file mode 100644 index 0000000..7941560 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/bin/qdrant.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbebdfbf4c38d469755a83df7109b3c9fb42e6f1f1e9177e2e6ede4e8f85511e +size 79816704 diff --git a/examples/@memclaw/bin-win-x64/package.json b/examples/@memclaw/bin-win-x64/package.json new file mode 100644 index 0000000..dd80f70 --- /dev/null +++ b/examples/@memclaw/bin-win-x64/package.json @@ -0,0 +1,21 @@ +{ + "name": "@memclaw/bin-win-x64", + "version": "0.1.0", + "description": "MemClaw binaries for Windows x64", + "os": [ + "win32" + ], + "cpu": [ + "x64" + ], + "files": [ + "bin/" + ], + "author": "Sopaco", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/sopaco/cortex-mem.git", + "directory": "examples/@memclaw/bin-win-x64" + } +} diff --git a/examples/cortex-mem-openclaw/.gitignore b/examples/cortex-mem-openclaw/.gitignore deleted file mode 100644 index c2658d7..0000000 --- a/examples/cortex-mem-openclaw/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/examples/cortex-mem-openclaw/README.md b/examples/cortex-mem-openclaw/README.md deleted file mode 100644 index af2b722..0000000 --- a/examples/cortex-mem-openclaw/README.md +++ /dev/null @@ -1,190 +0,0 @@ -# Cortex Memory Plugin for OpenClaw - -English | [中文](./README_zh.md) - -A plugin that provides layered semantic memory capabilities for OpenClaw, supporting L0/L1/L2 tiered retrieval. - -## Features - -- **Layered Semantic Search**: L0 (Abstract) → L1 (Overview) → L2 (Full Content) tiered retrieval -- **Automatic Vectorization**: Messages are automatically embedded for semantic similarity search -- **Session Isolation**: Supports independent memory spaces across multiple sessions -- **HTTP API**: Communicates with the core service via cortex-mem-service REST API - -## Prerequisites - -1. **cortex-mem-service** running - ```bash - # From cortex-mem project root - cargo run -p cortex-mem-service -- --data-dir ./cortex-data - ``` - -2. **Qdrant Vector Database** (optional, for vector search) -3. **Embedding Service** (OpenAI-compatible API) - -## Installation - -### Option 1: Local Link Installation (Development Mode) - -```bash -# From cortex-mem project root -cd examples/cortex-mem-openclaw - -# Install dependencies and build -npm install -npm run build - -# Link to OpenClaw -openclaw plugins install --link $(pwd) -``` - -### Option 2: Install from npm (After Publishing) - -```bash -openclaw plugins install @cortex-mem/openclaw-plugin -``` - -## Configuration - -Add the following to your OpenClaw configuration file (`~/.openclaw/openclaw.json` or project directory): - -```json -{ - "plugins": { - "entries": { - "cortex-mem": { - "enabled": true, - "config": { - "serviceUrl": "http://127.0.0.1:8085", - "tenantId": "tenant_claw", - "defaultSessionId": "default", - "searchLimit": 10, - "minScore": 0.6 - } - } - } - } -} -``` - -### Configuration Reference - -| Parameter | Type | Default | Description | -|-----------|------|---------|-------------| -| `serviceUrl` | string | `http://127.0.0.1:8085` | HTTP endpoint of cortex-mem-service | -| `tenantId` | string | `tenant_claw` | Tenant identifier for data isolation (Qdrant collection & filesystem) | -| `defaultSessionId` | string | `default` | Default session ID | -| `searchLimit` | integer | 10 | Maximum number of search results | -| `minScore` | number | 0.6 | Minimum relevance score threshold | - -## Tools - -### cortex_search - -Layered semantic search returning relevant memory snippets. - -```json -{ - "query": "user preferences settings", - "scope": "session-123", // optional, limits search scope - "limit": 10, - "min_score": 0.6 -} -``` - -Response: -```json -{ - "results": [ - { - "uri": "cortex://session/abc/timeline/2026-03/11/10_30_00_xxx.md", - "score": 0.89, - "snippet": "User prefers dark theme..." - } - ], - "total": 1 -} -``` - -### cortex_recall - -Layered memory recall with configurable detail levels. - -```json -{ - "query": "project architecture decisions", - "layers": ["L0", "L1"], // L0=Abstract, L1=Overview, L2=Full Content - "scope": "session-123", - "limit": 5 -} -``` - -### cortex_add_memory - -Add a memory to a specific session. - -```json -{ - "content": "User selected PostgreSQL as the primary database", - "role": "assistant", // user/assistant/system - "session_id": "session-123" // optional, uses defaultSessionId if not specified -} -``` - -### cortex_list_sessions - -List all memory sessions. - -```json -{} -``` - -Response: -```json -{ - "sessions": [ - { - "thread_id": "session-123", - "status": "active", - "message_count": 42, - "created_at": "2026-03-11T10:00:00Z" - } - ] -} -``` - -## Architecture - -``` -OpenClaw Gateway - │ - ▼ -cortex-mem-plugin (TypeScript) - │ - ▼ HTTP REST -cortex-mem-service (Rust) - │ - ├─► Qdrant (Vector Store) - ├─► CortexFilesystem (File Store) - └─► LLM (Layer Generation) -``` - -## Development - -```bash -# Install dependencies -npm install - -# Development mode (watch compilation) -npm run dev - -# Build -npm run build - -# Run tests -npm test -``` - -## License - -MIT diff --git a/examples/cortex-mem-openclaw/README_zh.md b/examples/cortex-mem-openclaw/README_zh.md deleted file mode 100644 index 4daa21d..0000000 --- a/examples/cortex-mem-openclaw/README_zh.md +++ /dev/null @@ -1,190 +0,0 @@ -# Cortex Memory Plugin for OpenClaw - -[English](./README.md) | 中文 - -为 OpenClaw 提供层级语义记忆能力的插件,支持 L0/L1/L2 三层检索。 - -## 功能特性 - -- **层级语义搜索**:L0(摘要)→ L1(概览)→ L2(完整内容)逐层检索 -- **自动向量化**:消息自动生成向量嵌入,支持语义相似度搜索 -- **会话隔离**:支持多会话独立记忆空间 -- **HTTP API**:通过 cortex-mem-service REST API 与核心服务通信 - -## 前置条件 - -1. **cortex-mem-service** 运行中 - ```bash - # 在 cortex-mem 项目根目录 - cargo run -p cortex-mem-service -- --data-dir ./cortex-data - ``` - -2. **Qdrant 向量数据库**(可选,用于向量搜索) -3. **Embedding 服务**(OpenAI 兼容 API) - -## 安装 - -### 方式一:本地链接安装(开发模式) - -```bash -# 在 cortex-mem 项目根目录 -cd examples/cortex-mem-openclaw - -# 安装依赖并构建 -npm install -npm run build - -# 链接到 OpenClaw -openclaw plugins install --link $(pwd) -``` - -### 方式二:npm 发布后安装 - -```bash -openclaw plugins install @cortex-mem/openclaw-plugin -``` - -## 配置 - -在 OpenClaw 配置文件(`~/.openclaw/openclaw.json` 或项目目录)中添加: - -```json -{ - "plugins": { - "entries": { - "cortex-mem": { - "enabled": true, - "config": { - "serviceUrl": "http://127.0.0.1:8085", - "tenantId": "tenant_claw", - "defaultSessionId": "default", - "searchLimit": 10, - "minScore": 0.6 - } - } - } - } -} -``` - -### 配置说明 - -| 参数 | 类型 | 默认值 | 说明 | -|------|------|--------|------| -| `serviceUrl` | string | `http://127.0.0.1:8085` | cortex-mem-service 的 HTTP 端点 | -| `tenantId` | string | `tenant_claw` | 租户隔离标识,用于 Qdrant collection 与文件系统隔离 | -| `defaultSessionId` | string | `default` | 默认会话 ID | -| `searchLimit` | integer | 10 | 搜索结果最大数量 | -| `minScore` | number | 0.6 | 最小相关性分数阈值 | - -## 工具说明 - -### cortex_search - -层级语义搜索,返回相关记忆片段。 - -```json -{ - "query": "用户偏好设置", - "scope": "session-123", // 可选,限定搜索范围 - "limit": 10, - "min_score": 0.6 -} -``` - -返回: -```json -{ - "results": [ - { - "uri": "cortex://session/abc/timeline/2026-03/11/10_30_00_xxx.md", - "score": 0.89, - "snippet": "用户偏好深色主题..." - } - ], - "total": 1 -} -``` - -### cortex_recall - -分层召回记忆,支持指定返回层级。 - -```json -{ - "query": "项目架构决策", - "layers": ["L0", "L1"], // L0=摘要, L1=概览, L2=完整内容 - "scope": "session-123", - "limit": 5 -} -``` - -### cortex_add_memory - -向指定会话添加记忆。 - -```json -{ - "content": "用户选择了 PostgreSQL 作为主数据库", - "role": "assistant", // user/assistant/system - "session_id": "session-123" // 可选,默认使用 defaultSessionId -} -``` - -### cortex_list_sessions - -列出所有记忆会话。 - -```json -{} -``` - -返回: -```json -{ - "sessions": [ - { - "thread_id": "session-123", - "status": "active", - "message_count": 42, - "created_at": "2026-03-11T10:00:00Z" - } - ] -} -``` - -## 架构 - -``` -OpenClaw Gateway - │ - ▼ -cortex-mem-plugin (TypeScript) - │ - ▼ HTTP REST -cortex-mem-service (Rust) - │ - ├─► Qdrant (向量存储) - ├─► CortexFilesystem (文件存储) - └─► LLM (层级生成) -``` - -## 开发 - -```bash -# 安装依赖 -npm install - -# 开发模式(监视编译) -npm run dev - -# 构建 -npm run build - -# 运行测试 -npm test -``` - -## 许可证 - -MIT diff --git a/examples/cortex-mem-openclaw/bun.lock b/examples/cortex-mem-openclaw/bun.lock deleted file mode 100644 index 742c957..0000000 --- a/examples/cortex-mem-openclaw/bun.lock +++ /dev/null @@ -1,2157 +0,0 @@ -{ - "lockfileVersion": 1, - "configVersion": 1, - "workspaces": { - "": { - "name": "@cortex-mem/openclaw-plugin", - "devDependencies": { - "@types/node": "^22.0.0", - "typescript": "^5.7.0", - "vitest": "^2.0.0", - }, - }, - }, - "packages": { - "@acemir/cssom": ["@acemir/cssom@0.9.31", "https://npm.corp.kuaishou.com/@acemir/cssom/-/cssom-0.9.31.tgz", {}, "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA=="], - - "@adobe/css-tools": ["@adobe/css-tools@4.3.3", "https://npm.corp.kuaishou.com/@adobe/css-tools/-/css-tools-4.3.3.tgz", {}, "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ=="], - - "@asamuzakjp/css-color": ["@asamuzakjp/css-color@5.0.1", "https://npm.corp.kuaishou.com/@asamuzakjp/css-color/-/css-color-5.0.1.tgz", { "dependencies": { "@csstools/css-calc": "^3.1.1", "@csstools/css-color-parser": "^4.0.2", "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-tokenizer": "^4.0.0", "lru-cache": "^11.2.6" } }, "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw=="], - - "@asamuzakjp/dom-selector": ["@asamuzakjp/dom-selector@6.8.1", "https://npm.corp.kuaishou.com/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", { "dependencies": { "@asamuzakjp/nwsapi": "^2.3.9", "bidi-js": "^1.0.3", "css-tree": "^3.1.0", "is-potential-custom-element-name": "^1.0.1", "lru-cache": "^11.2.6" } }, "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ=="], - - "@asamuzakjp/nwsapi": ["@asamuzakjp/nwsapi@2.3.9", "https://npm.corp.kuaishou.com/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", {}, "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q=="], - - "@babel/code-frame": ["@babel/code-frame@7.29.0", "https://npm.corp.kuaishou.com/@babel/code-frame/-/code-frame-7.29.0.tgz", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], - - "@babel/compat-data": ["@babel/compat-data@7.29.0", "https://npm.corp.kuaishou.com/@babel/compat-data/-/compat-data-7.29.0.tgz", {}, "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg=="], - - "@babel/core": ["@babel/core@7.29.0", "https://npm.corp.kuaishou.com/@babel/core/-/core-7.29.0.tgz", { "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA=="], - - "@babel/generator": ["@babel/generator@7.29.1", "https://npm.corp.kuaishou.com/@babel/generator/-/generator-7.29.1.tgz", { "dependencies": { "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw=="], - - "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "https://npm.corp.kuaishou.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], - - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA=="], - - "@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/traverse": "^7.28.6", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow=="], - - "@babel/helper-create-regexp-features-plugin": ["@babel/helper-create-regexp-features-plugin@7.28.5", "https://npm.corp.kuaishou.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "regexpu-core": "^6.3.1", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw=="], - - "@babel/helper-define-polyfill-provider": ["@babel/helper-define-polyfill-provider@0.6.7", "https://npm.corp.kuaishou.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.7.tgz", { "dependencies": { "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "debug": "^4.4.3", "lodash.debounce": "^4.0.8", "resolve": "^1.22.11" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-6Fqi8MtQ/PweQ9xvux65emkLQ83uB+qAVtfHkC9UodyHMIZdxNI01HjLCLUtybElp2KY2XNE0nOgyP1E1vXw9w=="], - - "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "https://npm.corp.kuaishou.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], - - "@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.28.5", "https://npm.corp.kuaishou.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", { "dependencies": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" } }, "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg=="], - - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", { "dependencies": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw=="], - - "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", { "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA=="], - - "@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.27.1", "https://npm.corp.kuaishou.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", { "dependencies": { "@babel/types": "^7.27.1" } }, "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw=="], - - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", {}, "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug=="], - - "@babel/helper-remap-async-to-generator": ["@babel/helper-remap-async-to-generator@7.27.1", "https://npm.corp.kuaishou.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.1", "@babel/helper-wrap-function": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA=="], - - "@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg=="], - - "@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.27.1", "https://npm.corp.kuaishou.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg=="], - - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "https://npm.corp.kuaishou.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], - - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "https://npm.corp.kuaishou.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], - - "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "https://npm.corp.kuaishou.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], - - "@babel/helper-wrap-function": ["@babel/helper-wrap-function@7.28.6", "https://npm.corp.kuaishou.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", { "dependencies": { "@babel/template": "^7.28.6", "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ=="], - - "@babel/helpers": ["@babel/helpers@7.28.6", "https://npm.corp.kuaishou.com/@babel/helpers/-/helpers-7.28.6.tgz", { "dependencies": { "@babel/template": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw=="], - - "@babel/parser": ["@babel/parser@7.29.0", "https://npm.corp.kuaishou.com/@babel/parser/-/parser-7.29.0.tgz", { "dependencies": { "@babel/types": "^7.29.0" }, "bin": "./bin/babel-parser.js" }, "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww=="], - - "@babel/plugin-proposal-export-default-from": ["@babel/plugin-proposal-export-default-from@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw=="], - - "@babel/plugin-syntax-async-generators": ["@babel/plugin-syntax-async-generators@7.8.4", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw=="], - - "@babel/plugin-syntax-bigint": ["@babel/plugin-syntax-bigint@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg=="], - - "@babel/plugin-syntax-class-properties": ["@babel/plugin-syntax-class-properties@7.12.13", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA=="], - - "@babel/plugin-syntax-class-static-block": ["@babel/plugin-syntax-class-static-block@7.14.5", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw=="], - - "@babel/plugin-syntax-dynamic-import": ["@babel/plugin-syntax-dynamic-import@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ=="], - - "@babel/plugin-syntax-export-default-from": ["@babel/plugin-syntax-export-default-from@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Svlx1fjJFnNz0LZeUaybRukSxZI3KkpApUmIRzEdXC5k8ErTOz0OD0kNrICi5Vc3GlpP5ZCeRyRO+mfWTSz+iQ=="], - - "@babel/plugin-syntax-flow": ["@babel/plugin-syntax-flow@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew=="], - - "@babel/plugin-syntax-import-attributes": ["@babel/plugin-syntax-import-attributes@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw=="], - - "@babel/plugin-syntax-import-meta": ["@babel/plugin-syntax-import-meta@7.10.4", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g=="], - - "@babel/plugin-syntax-json-strings": ["@babel/plugin-syntax-json-strings@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA=="], - - "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w=="], - - "@babel/plugin-syntax-logical-assignment-operators": ["@babel/plugin-syntax-logical-assignment-operators@7.10.4", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig=="], - - "@babel/plugin-syntax-nullish-coalescing-operator": ["@babel/plugin-syntax-nullish-coalescing-operator@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ=="], - - "@babel/plugin-syntax-numeric-separator": ["@babel/plugin-syntax-numeric-separator@7.10.4", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug=="], - - "@babel/plugin-syntax-object-rest-spread": ["@babel/plugin-syntax-object-rest-spread@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA=="], - - "@babel/plugin-syntax-optional-catch-binding": ["@babel/plugin-syntax-optional-catch-binding@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q=="], - - "@babel/plugin-syntax-optional-chaining": ["@babel/plugin-syntax-optional-chaining@7.8.3", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg=="], - - "@babel/plugin-syntax-private-property-in-object": ["@babel/plugin-syntax-private-property-in-object@7.14.5", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg=="], - - "@babel/plugin-syntax-top-level-await": ["@babel/plugin-syntax-top-level-await@7.14.5", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw=="], - - "@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A=="], - - "@babel/plugin-transform-async-generator-functions": ["@babel/plugin-transform-async-generator-functions@7.29.0", "https://npm.corp.kuaishou.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1", "@babel/traverse": "^7.29.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w=="], - - "@babel/plugin-transform-async-to-generator": ["@babel/plugin-transform-async-to-generator@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", { "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-remap-async-to-generator": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g=="], - - "@babel/plugin-transform-block-scoping": ["@babel/plugin-transform-block-scoping@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw=="], - - "@babel/plugin-transform-class-properties": ["@babel/plugin-transform-class-properties@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw=="], - - "@babel/plugin-transform-classes": ["@babel/plugin-transform-classes@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-globals": "^7.28.0", "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-replace-supers": "^7.28.6", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q=="], - - "@babel/plugin-transform-destructuring": ["@babel/plugin-transform-destructuring@7.28.5", "https://npm.corp.kuaishou.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.28.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw=="], - - "@babel/plugin-transform-flow-strip-types": ["@babel/plugin-transform-flow-strip-types@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/plugin-syntax-flow": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg=="], - - "@babel/plugin-transform-for-of": ["@babel/plugin-transform-for-of@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw=="], - - "@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", { "dependencies": { "@babel/helper-module-transforms": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA=="], - - "@babel/plugin-transform-named-capturing-groups-regex": ["@babel/plugin-transform-named-capturing-groups-regex@7.29.0", "https://npm.corp.kuaishou.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.28.5", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ=="], - - "@babel/plugin-transform-nullish-coalescing-operator": ["@babel/plugin-transform-nullish-coalescing-operator@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg=="], - - "@babel/plugin-transform-optional-catch-binding": ["@babel/plugin-transform-optional-catch-binding@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ=="], - - "@babel/plugin-transform-optional-chaining": ["@babel/plugin-transform-optional-chaining@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w=="], - - "@babel/plugin-transform-private-methods": ["@babel/plugin-transform-private-methods@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", { "dependencies": { "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg=="], - - "@babel/plugin-transform-private-property-in-object": ["@babel/plugin-transform-private-property-in-object@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA=="], - - "@babel/plugin-transform-react-display-name": ["@babel/plugin-transform-react-display-name@7.28.0", "https://npm.corp.kuaishou.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA=="], - - "@babel/plugin-transform-react-jsx": ["@babel/plugin-transform-react-jsx@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-module-imports": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "@babel/plugin-syntax-jsx": "^7.28.6", "@babel/types": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow=="], - - "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw=="], - - "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw=="], - - "@babel/plugin-transform-regenerator": ["@babel/plugin-transform-regenerator@7.29.0", "https://npm.corp.kuaishou.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog=="], - - "@babel/plugin-transform-runtime": ["@babel/plugin-transform-runtime@7.29.0", "https://npm.corp.kuaishou.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", { "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "babel-plugin-polyfill-corejs2": "^0.4.14", "babel-plugin-polyfill-corejs3": "^0.13.0", "babel-plugin-polyfill-regenerator": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w=="], - - "@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.28.6", "https://npm.corp.kuaishou.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw=="], - - "@babel/plugin-transform-unicode-regex": ["@babel/plugin-transform-unicode-regex@7.27.1", "https://npm.corp.kuaishou.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", { "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.27.1", "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw=="], - - "@babel/runtime": ["@babel/runtime@7.28.6", "https://npm.corp.kuaishou.com/@babel/runtime/-/runtime-7.28.6.tgz", {}, "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA=="], - - "@babel/template": ["@babel/template@7.28.6", "https://npm.corp.kuaishou.com/@babel/template/-/template-7.28.6.tgz", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ=="], - - "@babel/traverse": ["@babel/traverse@7.29.0", "https://npm.corp.kuaishou.com/@babel/traverse/-/traverse-7.29.0.tgz", { "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", "@babel/types": "^7.29.0", "debug": "^4.3.1" } }, "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA=="], - - "@babel/types": ["@babel/types@7.29.0", "https://npm.corp.kuaishou.com/@babel/types/-/types-7.29.0.tgz", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A=="], - - "@bramus/specificity": ["@bramus/specificity@2.4.2", "https://npm.corp.kuaishou.com/@bramus/specificity/-/specificity-2.4.2.tgz", { "dependencies": { "css-tree": "^3.0.0" }, "bin": { "specificity": "bin/cli.js" } }, "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw=="], - - "@bufbuild/protobuf": ["@bufbuild/protobuf@2.11.0", "https://npm.corp.kuaishou.com/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", {}, "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ=="], - - "@csstools/color-helpers": ["@csstools/color-helpers@6.0.2", "https://npm.corp.kuaishou.com/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", {}, "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q=="], - - "@csstools/css-calc": ["@csstools/css-calc@3.1.1", "https://npm.corp.kuaishou.com/@csstools/css-calc/-/css-calc-3.1.1.tgz", { "peerDependencies": { "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-tokenizer": "^4.0.0" } }, "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ=="], - - "@csstools/css-color-parser": ["@csstools/css-color-parser@4.0.2", "https://npm.corp.kuaishou.com/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz", { "dependencies": { "@csstools/color-helpers": "^6.0.2", "@csstools/css-calc": "^3.1.1" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-tokenizer": "^4.0.0" } }, "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw=="], - - "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@4.0.0", "https://npm.corp.kuaishou.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", { "peerDependencies": { "@csstools/css-tokenizer": "^4.0.0" } }, "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w=="], - - "@csstools/css-syntax-patches-for-csstree": ["@csstools/css-syntax-patches-for-csstree@1.1.0", "https://npm.corp.kuaishou.com/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.0.tgz", {}, "sha512-H4tuz2nhWgNKLt1inYpoVCfbJbMwX/lQKp3g69rrrIMIYlFD9+zTykOKhNR8uGrAmbS/kT9n6hTFkmDkxLgeTA=="], - - "@csstools/css-tokenizer": ["@csstools/css-tokenizer@4.0.0", "https://npm.corp.kuaishou.com/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", {}, "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA=="], - - "@edge-runtime/primitives": ["@edge-runtime/primitives@6.0.0", "https://npm.corp.kuaishou.com/@edge-runtime/primitives/-/primitives-6.0.0.tgz", {}, "sha512-FqoxaBT+prPBHBwE1WXS1ocnu/VLTQyZ6NMUBAdbP7N2hsFTTxMC/jMu2D/8GAlMQfxeuppcPuCUk/HO3fpIvA=="], - - "@edge-runtime/vm": ["@edge-runtime/vm@5.0.0", "https://npm.corp.kuaishou.com/@edge-runtime/vm/-/vm-5.0.0.tgz", { "dependencies": { "@edge-runtime/primitives": "6.0.0" } }, "sha512-NKBGBSIKUG584qrS1tyxVpX/AKJKQw5HgjYEnPLC0QsTw79JrGn+qUr8CXFb955Iy7GUdiiUv1rJ6JBGvaKb6w=="], - - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", {}, "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ=="], - - "@esbuild/android-arm": ["@esbuild/android-arm@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", {}, "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg=="], - - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", {}, "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A=="], - - "@esbuild/android-x64": ["@esbuild/android-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", {}, "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA=="], - - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", {}, "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ=="], - - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", {}, "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw=="], - - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", {}, "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g=="], - - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", {}, "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ=="], - - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", {}, "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA=="], - - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", {}, "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q=="], - - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", {}, "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg=="], - - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", {}, "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg=="], - - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", {}, "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg=="], - - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", {}, "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w=="], - - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", {}, "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA=="], - - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", {}, "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A=="], - - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", {}, "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ=="], - - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", {}, "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg=="], - - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", {}, "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow=="], - - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", {}, "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg=="], - - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", {}, "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A=="], - - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", {}, "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA=="], - - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.21.5", "https://npm.corp.kuaishou.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", {}, "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw=="], - - "@exodus/bytes": ["@exodus/bytes@1.15.0", "https://npm.corp.kuaishou.com/@exodus/bytes/-/bytes-1.15.0.tgz", { "peerDependencies": { "@noble/hashes": "^1.8.0 || ^2.0.0" } }, "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ=="], - - "@hapi/hoek": ["@hapi/hoek@9.3.0", "https://npm.corp.kuaishou.com/@hapi/hoek/-/hoek-9.3.0.tgz", {}, "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="], - - "@hapi/topo": ["@hapi/topo@5.1.0", "https://npm.corp.kuaishou.com/@hapi/topo/-/topo-5.1.0.tgz", { "dependencies": { "@hapi/hoek": "^9.0.0" } }, "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg=="], - - "@inquirer/ansi": ["@inquirer/ansi@1.0.2", "https://npm.corp.kuaishou.com/@inquirer/ansi/-/ansi-1.0.2.tgz", {}, "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ=="], - - "@inquirer/confirm": ["@inquirer/confirm@5.1.21", "https://npm.corp.kuaishou.com/@inquirer/confirm/-/confirm-5.1.21.tgz", { "dependencies": { "@inquirer/core": "^10.3.2", "@inquirer/type": "^3.0.10" }, "peerDependencies": { "@types/node": ">=18" } }, "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ=="], - - "@inquirer/core": ["@inquirer/core@10.3.2", "https://npm.corp.kuaishou.com/@inquirer/core/-/core-10.3.2.tgz", { "dependencies": { "@inquirer/ansi": "^1.0.2", "@inquirer/figures": "^1.0.15", "@inquirer/type": "^3.0.10", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.3" }, "peerDependencies": { "@types/node": ">=18" } }, "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A=="], - - "@inquirer/figures": ["@inquirer/figures@1.0.15", "https://npm.corp.kuaishou.com/@inquirer/figures/-/figures-1.0.15.tgz", {}, "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g=="], - - "@inquirer/type": ["@inquirer/type@3.0.10", "https://npm.corp.kuaishou.com/@inquirer/type/-/type-3.0.10.tgz", { "peerDependencies": { "@types/node": ">=18" } }, "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA=="], - - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "https://npm.corp.kuaishou.com/@isaacs/cliui/-/cliui-8.0.2.tgz", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], - - "@isaacs/ttlcache": ["@isaacs/ttlcache@1.4.1", "https://npm.corp.kuaishou.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", {}, "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA=="], - - "@istanbuljs/load-nyc-config": ["@istanbuljs/load-nyc-config@1.1.0", "https://npm.corp.kuaishou.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", { "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" } }, "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ=="], - - "@istanbuljs/schema": ["@istanbuljs/schema@0.1.3", "https://npm.corp.kuaishou.com/@istanbuljs/schema/-/schema-0.1.3.tgz", {}, "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA=="], - - "@jest/create-cache-key-function": ["@jest/create-cache-key-function@29.7.0", "https://npm.corp.kuaishou.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3" } }, "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA=="], - - "@jest/environment": ["@jest/environment@29.7.0", "https://npm.corp.kuaishou.com/@jest/environment/-/environment-29.7.0.tgz", { "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0" } }, "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw=="], - - "@jest/fake-timers": ["@jest/fake-timers@29.7.0", "https://npm.corp.kuaishou.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", "jest-message-util": "^29.7.0", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ=="], - - "@jest/schemas": ["@jest/schemas@29.6.3", "https://npm.corp.kuaishou.com/@jest/schemas/-/schemas-29.6.3.tgz", { "dependencies": { "@sinclair/typebox": "^0.27.8" } }, "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA=="], - - "@jest/transform": ["@jest/transform@29.7.0", "https://npm.corp.kuaishou.com/@jest/transform/-/transform-29.7.0.tgz", { "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" } }, "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw=="], - - "@jest/types": ["@jest/types@29.6.3", "https://npm.corp.kuaishou.com/@jest/types/-/types-29.6.3.tgz", { "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw=="], - - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "https://npm.corp.kuaishou.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - - "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "https://npm.corp.kuaishou.com/@jridgewell/remapping/-/remapping-2.3.5.tgz", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], - - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "https://npm.corp.kuaishou.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - - "@jridgewell/source-map": ["@jridgewell/source-map@0.3.11", "https://npm.corp.kuaishou.com/@jridgewell/source-map/-/source-map-0.3.11.tgz", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" } }, "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "https://npm.corp.kuaishou.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "https://npm.corp.kuaishou.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - - "@mswjs/interceptors": ["@mswjs/interceptors@0.41.3", "https://npm.corp.kuaishou.com/@mswjs/interceptors/-/interceptors-0.41.3.tgz", { "dependencies": { "@open-draft/deferred-promise": "^2.2.0", "@open-draft/logger": "^0.3.0", "@open-draft/until": "^2.0.0", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "strict-event-emitter": "^0.5.1" } }, "sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA=="], - - "@noble/hashes": ["@noble/hashes@2.0.1", "https://npm.corp.kuaishou.com/@noble/hashes/-/hashes-2.0.1.tgz", {}, "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw=="], - - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "https://npm.corp.kuaishou.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], - - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "https://npm.corp.kuaishou.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], - - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "https://npm.corp.kuaishou.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - - "@open-draft/deferred-promise": ["@open-draft/deferred-promise@2.2.0", "https://npm.corp.kuaishou.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", {}, "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA=="], - - "@open-draft/logger": ["@open-draft/logger@0.3.0", "https://npm.corp.kuaishou.com/@open-draft/logger/-/logger-0.3.0.tgz", { "dependencies": { "is-node-process": "^1.2.0", "outvariant": "^1.4.0" } }, "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ=="], - - "@open-draft/until": ["@open-draft/until@2.1.0", "https://npm.corp.kuaishou.com/@open-draft/until/-/until-2.1.0.tgz", {}, "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg=="], - - "@parcel/watcher": ["@parcel/watcher@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher/-/watcher-2.5.6.tgz", { "dependencies": { "detect-libc": "^2.0.3", "is-glob": "^4.0.3", "node-addon-api": "^7.0.0", "picomatch": "^4.0.3" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.6", "@parcel/watcher-darwin-arm64": "2.5.6", "@parcel/watcher-darwin-x64": "2.5.6", "@parcel/watcher-freebsd-x64": "2.5.6", "@parcel/watcher-linux-arm-glibc": "2.5.6", "@parcel/watcher-linux-arm-musl": "2.5.6", "@parcel/watcher-linux-arm64-glibc": "2.5.6", "@parcel/watcher-linux-arm64-musl": "2.5.6", "@parcel/watcher-linux-x64-glibc": "2.5.6", "@parcel/watcher-linux-x64-musl": "2.5.6", "@parcel/watcher-win32-arm64": "2.5.6", "@parcel/watcher-win32-ia32": "2.5.6", "@parcel/watcher-win32-x64": "2.5.6" } }, "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ=="], - - "@parcel/watcher-android-arm64": ["@parcel/watcher-android-arm64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", {}, "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A=="], - - "@parcel/watcher-darwin-arm64": ["@parcel/watcher-darwin-arm64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", {}, "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA=="], - - "@parcel/watcher-darwin-x64": ["@parcel/watcher-darwin-x64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", {}, "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg=="], - - "@parcel/watcher-freebsd-x64": ["@parcel/watcher-freebsd-x64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", {}, "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng=="], - - "@parcel/watcher-linux-arm-glibc": ["@parcel/watcher-linux-arm-glibc@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", {}, "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ=="], - - "@parcel/watcher-linux-arm-musl": ["@parcel/watcher-linux-arm-musl@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", {}, "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg=="], - - "@parcel/watcher-linux-arm64-glibc": ["@parcel/watcher-linux-arm64-glibc@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", {}, "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA=="], - - "@parcel/watcher-linux-arm64-musl": ["@parcel/watcher-linux-arm64-musl@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", {}, "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA=="], - - "@parcel/watcher-linux-x64-glibc": ["@parcel/watcher-linux-x64-glibc@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", {}, "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ=="], - - "@parcel/watcher-linux-x64-musl": ["@parcel/watcher-linux-x64-musl@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", {}, "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg=="], - - "@parcel/watcher-win32-arm64": ["@parcel/watcher-win32-arm64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", {}, "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q=="], - - "@parcel/watcher-win32-ia32": ["@parcel/watcher-win32-ia32@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", {}, "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g=="], - - "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.6", "https://npm.corp.kuaishou.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", {}, "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw=="], - - "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "https://npm.corp.kuaishou.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - - "@polka/url": ["@polka/url@1.0.0-next.29", "https://npm.corp.kuaishou.com/@polka/url/-/url-1.0.0-next.29.tgz", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="], - - "@promptbook/utils": ["@promptbook/utils@0.69.5", "https://npm.corp.kuaishou.com/@promptbook/utils/-/utils-0.69.5.tgz", { "dependencies": { "spacetrim": "0.11.59" } }, "sha512-xm5Ti/Hp3o4xHrsK9Yy3MS6KbDxYbq485hDsFvxqaNA7equHLPdo8H8faTitTeb14QCDfLW4iwCxdVYu5sn6YQ=="], - - "@puppeteer/browsers": ["@puppeteer/browsers@2.13.0", "https://npm.corp.kuaishou.com/@puppeteer/browsers/-/browsers-2.13.0.tgz", { "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.4", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA=="], - - "@react-native-community/cli": ["@react-native-community/cli@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli/-/cli-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-clean": "20.1.2", "@react-native-community/cli-config": "20.1.2", "@react-native-community/cli-doctor": "20.1.2", "@react-native-community/cli-server-api": "20.1.2", "@react-native-community/cli-tools": "20.1.2", "@react-native-community/cli-types": "20.1.2", "commander": "^9.4.1", "deepmerge": "^4.3.0", "execa": "^5.0.0", "find-up": "^5.0.0", "fs-extra": "^8.1.0", "graceful-fs": "^4.1.3", "picocolors": "^1.1.1", "prompts": "^2.4.2", "semver": "^7.5.2" }, "bin": { "rnc-cli": "build/bin.js" } }, "sha512-48GRnGfm1+4ueV8ESNJmKAKW01QdbB8H6qrVxCqpHYvuRkeFBaPpwRY2bEjSwqruw3Pn9ppzGfpAxYQDiUWQxQ=="], - - "@react-native-community/cli-clean": ["@react-native-community/cli-clean@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-clean/-/cli-clean-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-tools": "20.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", "picocolors": "^1.1.1" } }, "sha512-XcNlmFnYOVDjvHQQn0qreI4FPLEUx8p43EdOmKbtzqwqc9T/EdBdzUnUc5wWQPO1CN7BdMfxW8fyvosz8NIlrg=="], - - "@react-native-community/cli-config": ["@react-native-community/cli-config@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-config/-/cli-config-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-tools": "20.1.2", "cosmiconfig": "^9.0.0", "deepmerge": "^4.3.0", "fast-glob": "^3.3.2", "joi": "^17.2.1", "picocolors": "^1.1.1" } }, "sha512-7aPE14QA8aXpfuQ1jmfiBfjC/N6gdbg6PpBTwb3cl8c/KaeVm+OQYoC2kn2b3XS0NPgw5Ix/VxVaX6AAUQRFuA=="], - - "@react-native-community/cli-config-android": ["@react-native-community/cli-config-android@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-config-android/-/cli-config-android-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-tools": "20.1.2", "fast-glob": "^3.3.2", "fast-xml-parser": "^5.3.6", "picocolors": "^1.1.1" } }, "sha512-W0Qx+lW8pbQMz8x3Rlf/H7D2j2u8O+u9HnrZnKzDl1DaXgaOQqL484lTZlMEQofjq7eLXdmzWxuZdqS6K1QfmQ=="], - - "@react-native-community/cli-config-apple": ["@react-native-community/cli-config-apple@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-config-apple/-/cli-config-apple-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-tools": "20.1.2", "execa": "^5.0.0", "fast-glob": "^3.3.2", "picocolors": "^1.1.1" } }, "sha512-Dhi1N1EoMMmJ4dnDlmNWCrJggfv7X/kl3l8uax72uaxepQI/CfohJP2rBdG2mWis+vzrCIk14z2keY0ixxsN8g=="], - - "@react-native-community/cli-doctor": ["@react-native-community/cli-doctor@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-doctor/-/cli-doctor-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-config": "20.1.2", "@react-native-community/cli-platform-android": "20.1.2", "@react-native-community/cli-platform-apple": "20.1.2", "@react-native-community/cli-platform-ios": "20.1.2", "@react-native-community/cli-tools": "20.1.2", "command-exists": "^1.2.8", "deepmerge": "^4.3.0", "envinfo": "^7.13.0", "execa": "^5.0.0", "node-stream-zip": "^1.9.1", "ora": "^5.4.1", "picocolors": "^1.1.1", "semver": "^7.5.2", "wcwidth": "^1.0.1", "yaml": "^2.2.1" } }, "sha512-bbT1EhomvHz5ZtzxY2czA4/JMXhP4aIAxRDsqiW6wfZA9A9/HXqA4uv6CxP0wZUUmovmPNRl3kW/LWXrRmdv3A=="], - - "@react-native-community/cli-platform-android": ["@react-native-community/cli-platform-android@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-platform-android/-/cli-platform-android-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-config-android": "20.1.2", "@react-native-community/cli-tools": "20.1.2", "execa": "^5.0.0", "logkitty": "^0.7.1", "picocolors": "^1.1.1" } }, "sha512-1iHB8cTTJpMyEKhxWTRYsxhBBsiOq3tVguGX/HtBdHRzhlCeDpanE6U+aKxWfMFetMcFL+HLe5nQPcJXf9EtKg=="], - - "@react-native-community/cli-platform-apple": ["@react-native-community/cli-platform-apple@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-platform-apple/-/cli-platform-apple-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-config-apple": "20.1.2", "@react-native-community/cli-tools": "20.1.2", "execa": "^5.0.0", "fast-xml-parser": "^5.3.6", "picocolors": "^1.1.1" } }, "sha512-UvzjcRGotO3E2xaty8YWE2XMGkkDDaXRtQtNRjzmtcoNY40C+y4iMHxd0o3xbD0bzYM/PO79tXye9MxTWdyVkg=="], - - "@react-native-community/cli-platform-ios": ["@react-native-community/cli-platform-ios@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-platform-apple": "20.1.2" } }, "sha512-ZzdLwJMt7ehjO0iy/rQGPgH6uZqMYXeS5uXzSi1DeLYwurV1wOqFc0SLm4TAz5FKYQmHpwBXlMiI12rUmkZxcg=="], - - "@react-native-community/cli-server-api": ["@react-native-community/cli-server-api@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-server-api/-/cli-server-api-20.1.2.tgz", { "dependencies": { "@react-native-community/cli-tools": "20.1.2", "body-parser": "^2.2.2", "compression": "^1.7.1", "connect": "^3.6.5", "errorhandler": "^1.5.1", "nocache": "^3.0.1", "open": "^6.2.0", "pretty-format": "^29.7.0", "serve-static": "^1.13.1", "strict-url-sanitise": "0.0.1", "ws": "^6.2.3" } }, "sha512-ZlINtIYoDAwSemwTU9OavI1IixCCmAPPw1s3Mp0cOvrddFSZ0hx1N1IR+imLyo4lhFfM8OO3rUe9oVJj1SHUCA=="], - - "@react-native-community/cli-tools": ["@react-native-community/cli-tools@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-tools/-/cli-tools-20.1.2.tgz", { "dependencies": { "@vscode/sudo-prompt": "^9.0.0", "appdirsjs": "^1.2.4", "execa": "^5.0.0", "find-up": "^5.0.0", "launch-editor": "^2.9.1", "mime": "^2.4.1", "ora": "^5.4.1", "picocolors": "^1.1.1", "prompts": "^2.4.2", "semver": "^7.5.2" } }, "sha512-on2VUBZb68RlMxvIrEdK6+NiOEYu/z+t/cz746yGtxn49fwW6Wafzmh1QNZj8HPAuZ8+Ds61LiXbwoDDkzNSSA=="], - - "@react-native-community/cli-types": ["@react-native-community/cli-types@20.1.2", "https://npm.corp.kuaishou.com/@react-native-community/cli-types/-/cli-types-20.1.2.tgz", { "dependencies": { "joi": "^17.2.1" } }, "sha512-WYK98VdcJE+lRuyRzigE/GQAbaJZOKkjpaLwhmMMItXVTqMmIccfGu9b4pRoQOVfs1aLq87DuwUOi9sxz6OG1g=="], - - "@react-native/assets-registry": ["@react-native/assets-registry@0.84.1", "https://npm.corp.kuaishou.com/@react-native/assets-registry/-/assets-registry-0.84.1.tgz", {}, "sha512-lAJ6PDZv95FdT9s9uhc9ivhikW1Zwh4j9XdXM7J2l4oUA3t37qfoBmTSDLuPyE3Bi+Xtwa11hJm0BUTT2sc/gg=="], - - "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.84.1", "https://npm.corp.kuaishou.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.84.1.tgz", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.84.1" } }, "sha512-vorvcvptGxtK0qTDCFQb+W3CU6oIhzcX5dduetWRBoAhXdthEQM0MQnF+GTXoXL8/luffKgy7PlZRG/WeI/oRQ=="], - - "@react-native/babel-preset": ["@react-native/babel-preset@0.84.1", "https://npm.corp.kuaishou.com/@react-native/babel-preset/-/babel-preset-0.84.1.tgz", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@react-native/babel-plugin-codegen": "0.84.1", "babel-plugin-syntax-hermes-parser": "0.32.0", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-3GpmCKk21f4oe32bKIdmkdn+WydvhhZL+1nsoFBGi30Qrq9vL16giKu31OcnWshYz139x+mVAvCyoyzgn8RXSw=="], - - "@react-native/codegen": ["@react-native/codegen@0.84.1", "https://npm.corp.kuaishou.com/@react-native/codegen/-/codegen-0.84.1.tgz", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "hermes-parser": "0.32.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "tinyglobby": "^0.2.15", "yargs": "^17.6.2" } }, "sha512-n1RIU0QAavgCg1uC5+s53arL7/mpM+16IBhJ3nCFSd/iK5tUmCwxQDcIDC703fuXfpub/ZygeSjVN8bcOWn0gA=="], - - "@react-native/community-cli-plugin": ["@react-native/community-cli-plugin@0.84.1", "https://npm.corp.kuaishou.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.84.1.tgz", { "dependencies": { "@react-native/dev-middleware": "0.84.1", "debug": "^4.4.0", "invariant": "^2.2.4", "metro": "^0.83.3", "metro-config": "^0.83.3", "metro-core": "^0.83.3", "semver": "^7.1.3" }, "peerDependencies": { "@react-native-community/cli": "*", "@react-native/metro-config": "*" } }, "sha512-f6a+mJEJ6Joxlt/050TqYUr7uRRbeKnz8lnpL7JajhpsgZLEbkJRjH8HY5QiLcRdUwWFtizml4V+vcO3P4RxoQ=="], - - "@react-native/debugger-frontend": ["@react-native/debugger-frontend@0.84.1", "https://npm.corp.kuaishou.com/@react-native/debugger-frontend/-/debugger-frontend-0.84.1.tgz", {}, "sha512-rUU/Pyh3R5zT0WkVgB+yA6VwOp7HM5Hz4NYE97ajFS07OUIcv8JzBL3MXVdSSjLfldfqOuPEuKUaZcAOwPgabw=="], - - "@react-native/debugger-shell": ["@react-native/debugger-shell@0.84.1", "https://npm.corp.kuaishou.com/@react-native/debugger-shell/-/debugger-shell-0.84.1.tgz", { "dependencies": { "cross-spawn": "^7.0.6", "debug": "^4.4.0", "fb-dotslash": "0.5.8" } }, "sha512-LIGhh4q4ette3yW5OzmukNMYwmINYrRGDZqKyTYc/VZyNpblZPw72coXVHXdfpPT6+YlxHqXzn3UjFZpNODGCQ=="], - - "@react-native/dev-middleware": ["@react-native/dev-middleware@0.84.1", "https://npm.corp.kuaishou.com/@react-native/dev-middleware/-/dev-middleware-0.84.1.tgz", { "dependencies": { "@isaacs/ttlcache": "^1.4.1", "@react-native/debugger-frontend": "0.84.1", "@react-native/debugger-shell": "0.84.1", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", "debug": "^4.4.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "open": "^7.0.3", "serve-static": "^1.16.2", "ws": "^7.5.10" } }, "sha512-Z83ra+Gk6ElAhH3XRrv3vwbwCPTb04sPPlNpotxcFZb5LtRQZwT91ZQEXw3GOJCVIFp9EQ/gj8AQbVvtHKOUlQ=="], - - "@react-native/gradle-plugin": ["@react-native/gradle-plugin@0.84.1", "https://npm.corp.kuaishou.com/@react-native/gradle-plugin/-/gradle-plugin-0.84.1.tgz", {}, "sha512-7uVlPBE3uluRNRX4MW7PUJIO1LDBTpAqStKHU7LHH+GRrdZbHsWtOEAX8PiY4GFfBEvG8hEjiuTOqAxMjV+hDg=="], - - "@react-native/js-polyfills": ["@react-native/js-polyfills@0.84.1", "https://npm.corp.kuaishou.com/@react-native/js-polyfills/-/js-polyfills-0.84.1.tgz", {}, "sha512-UsTe2AbUugsfyI7XIHMQq4E7xeC8a6GrYwuK+NohMMMJMxmyM3JkzIk+GB9e2il6ScEQNMJNaj+q+i5za8itxQ=="], - - "@react-native/metro-babel-transformer": ["@react-native/metro-babel-transformer@0.84.1", "https://npm.corp.kuaishou.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.84.1.tgz", { "dependencies": { "@babel/core": "^7.25.2", "@react-native/babel-preset": "0.84.1", "hermes-parser": "0.32.0", "nullthrows": "^1.1.1" } }, "sha512-NswINguTz0eg1Dc0oGO/1dejXSr6iQaz8/NnCRn5HJdA3dGfqadS7zlYv0YjiWpgKgcW6uENaIEgJOQww0KSpw=="], - - "@react-native/metro-config": ["@react-native/metro-config@0.84.1", "https://npm.corp.kuaishou.com/@react-native/metro-config/-/metro-config-0.84.1.tgz", { "dependencies": { "@react-native/js-polyfills": "0.84.1", "@react-native/metro-babel-transformer": "0.84.1", "metro-config": "^0.83.3", "metro-runtime": "^0.83.3" } }, "sha512-KlRawK4aXxRLlR3HYVfZKhfQp7sejQefQ/LttUWUkErhKO0AFt+yznoSLq7xwIrH9K3A3YwImHuFVtUtuDmurA=="], - - "@react-native/normalize-colors": ["@react-native/normalize-colors@0.84.1", "https://npm.corp.kuaishou.com/@react-native/normalize-colors/-/normalize-colors-0.84.1.tgz", {}, "sha512-/UPaQ4jl95soXnLDEJ6Cs6lnRXhwbxtT4KbZz+AFDees7prMV2NOLcHfCnzmTabf5Y3oxENMVBL666n4GMLcTA=="], - - "@react-native/virtualized-lists": ["@react-native/virtualized-lists@0.84.1", "https://npm.corp.kuaishou.com/@react-native/virtualized-lists/-/virtualized-lists-0.84.1.tgz", { "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "peerDependencies": { "@types/react": "^19.2.0", "react": "*", "react-native": "*" } }, "sha512-sJoDunzhci8ZsqxlUiKoLut4xQeQcmbIgvDHGQKeBz6uEq9HgU+hCWOijMRr6sLP0slQVfBAza34Rq7IbXZZOA=="], - - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", {}, "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg=="], - - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", {}, "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q=="], - - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", {}, "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg=="], - - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", {}, "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w=="], - - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", {}, "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA=="], - - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", {}, "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg=="], - - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", {}, "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw=="], - - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", {}, "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA=="], - - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", {}, "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA=="], - - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", {}, "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA=="], - - "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", {}, "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg=="], - - "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", {}, "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q=="], - - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", {}, "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA=="], - - "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", {}, "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA=="], - - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", {}, "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg=="], - - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", {}, "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg=="], - - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", {}, "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w=="], - - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", {}, "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg=="], - - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", {}, "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg=="], - - "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", {}, "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ=="], - - "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", {}, "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA=="], - - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", {}, "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A=="], - - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", {}, "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA=="], - - "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", {}, "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA=="], - - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.59.0", "https://npm.corp.kuaishou.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", {}, "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA=="], - - "@sideway/address": ["@sideway/address@4.1.5", "https://npm.corp.kuaishou.com/@sideway/address/-/address-4.1.5.tgz", { "dependencies": { "@hapi/hoek": "^9.0.0" } }, "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q=="], - - "@sideway/formula": ["@sideway/formula@3.0.1", "https://npm.corp.kuaishou.com/@sideway/formula/-/formula-3.0.1.tgz", {}, "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="], - - "@sideway/pinpoint": ["@sideway/pinpoint@2.0.0", "https://npm.corp.kuaishou.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", {}, "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="], - - "@sinclair/typebox": ["@sinclair/typebox@0.27.10", "https://npm.corp.kuaishou.com/@sinclair/typebox/-/typebox-0.27.10.tgz", {}, "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA=="], - - "@sinonjs/commons": ["@sinonjs/commons@3.0.1", "https://npm.corp.kuaishou.com/@sinonjs/commons/-/commons-3.0.1.tgz", { "dependencies": { "type-detect": "4.0.8" } }, "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ=="], - - "@sinonjs/fake-timers": ["@sinonjs/fake-timers@10.3.0", "https://npm.corp.kuaishou.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", { "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA=="], - - "@testing-library/dom": ["@testing-library/dom@10.4.1", "https://npm.corp.kuaishou.com/@testing-library/dom/-/dom-10.4.1.tgz", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="], - - "@testing-library/user-event": ["@testing-library/user-event@14.6.1", "https://npm.corp.kuaishou.com/@testing-library/user-event/-/user-event-14.6.1.tgz", { "peerDependencies": { "@testing-library/dom": ">=7.21.4" } }, "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw=="], - - "@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "https://npm.corp.kuaishou.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="], - - "@types/aria-query": ["@types/aria-query@5.0.4", "https://npm.corp.kuaishou.com/@types/aria-query/-/aria-query-5.0.4.tgz", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="], - - "@types/babel__core": ["@types/babel__core@7.20.5", "https://npm.corp.kuaishou.com/@types/babel__core/-/babel__core-7.20.5.tgz", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], - - "@types/babel__generator": ["@types/babel__generator@7.27.0", "https://npm.corp.kuaishou.com/@types/babel__generator/-/babel__generator-7.27.0.tgz", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="], - - "@types/babel__template": ["@types/babel__template@7.4.4", "https://npm.corp.kuaishou.com/@types/babel__template/-/babel__template-7.4.4.tgz", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="], - - "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "https://npm.corp.kuaishou.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], - - "@types/estree": ["@types/estree@1.0.8", "https://npm.corp.kuaishou.com/@types/estree/-/estree-1.0.8.tgz", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - - "@types/graceful-fs": ["@types/graceful-fs@4.1.9", "https://npm.corp.kuaishou.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ=="], - - "@types/istanbul-lib-coverage": ["@types/istanbul-lib-coverage@2.0.6", "https://npm.corp.kuaishou.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", {}, "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w=="], - - "@types/istanbul-lib-report": ["@types/istanbul-lib-report@3.0.3", "https://npm.corp.kuaishou.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", { "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA=="], - - "@types/istanbul-reports": ["@types/istanbul-reports@3.0.4", "https://npm.corp.kuaishou.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", { "dependencies": { "@types/istanbul-lib-report": "*" } }, "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ=="], - - "@types/node": ["@types/node@22.19.15", "https://npm.corp.kuaishou.com/@types/node/-/node-22.19.15.tgz", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg=="], - - "@types/react": ["@types/react@19.2.14", "https://npm.corp.kuaishou.com/@types/react/-/react-19.2.14.tgz", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], - - "@types/sinonjs__fake-timers": ["@types/sinonjs__fake-timers@8.1.5", "https://npm.corp.kuaishou.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", {}, "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ=="], - - "@types/stack-utils": ["@types/stack-utils@2.0.3", "https://npm.corp.kuaishou.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", {}, "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw=="], - - "@types/statuses": ["@types/statuses@2.0.6", "https://npm.corp.kuaishou.com/@types/statuses/-/statuses-2.0.6.tgz", {}, "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA=="], - - "@types/whatwg-mimetype": ["@types/whatwg-mimetype@3.0.2", "https://npm.corp.kuaishou.com/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz", {}, "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA=="], - - "@types/which": ["@types/which@2.0.2", "https://npm.corp.kuaishou.com/@types/which/-/which-2.0.2.tgz", {}, "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw=="], - - "@types/ws": ["@types/ws@8.18.1", "https://npm.corp.kuaishou.com/@types/ws/-/ws-8.18.1.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], - - "@types/yargs": ["@types/yargs@17.0.35", "https://npm.corp.kuaishou.com/@types/yargs/-/yargs-17.0.35.tgz", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="], - - "@types/yargs-parser": ["@types/yargs-parser@21.0.3", "https://npm.corp.kuaishou.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="], - - "@types/yauzl": ["@types/yauzl@2.10.3", "https://npm.corp.kuaishou.com/@types/yauzl/-/yauzl-2.10.3.tgz", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="], - - "@vitest/browser": ["@vitest/browser@2.1.9", "https://npm.corp.kuaishou.com/@vitest/browser/-/browser-2.1.9.tgz", { "dependencies": { "@testing-library/dom": "^10.4.0", "@testing-library/user-event": "^14.5.2", "@vitest/mocker": "2.1.9", "@vitest/utils": "2.1.9", "magic-string": "^0.30.12", "msw": "^2.6.4", "sirv": "^3.0.0", "tinyrainbow": "^1.2.0", "ws": "^8.18.0" }, "peerDependencies": { "playwright": "*", "vitest": "2.1.9", "webdriverio": "*" } }, "sha512-AHDanTP4Ed6J5R6wRBcWRQ+AxgMnNJxsbaa229nFQz5KOMFZqlW11QkIDoLgCjBOpQ1+c78lTN5jVxO8ME+S4w=="], - - "@vitest/expect": ["@vitest/expect@2.1.9", "https://npm.corp.kuaishou.com/@vitest/expect/-/expect-2.1.9.tgz", { "dependencies": { "@vitest/spy": "2.1.9", "@vitest/utils": "2.1.9", "chai": "^5.1.2", "tinyrainbow": "^1.2.0" } }, "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw=="], - - "@vitest/mocker": ["@vitest/mocker@2.1.9", "https://npm.corp.kuaishou.com/@vitest/mocker/-/mocker-2.1.9.tgz", { "dependencies": { "@vitest/spy": "2.1.9", "estree-walker": "^3.0.3", "magic-string": "^0.30.12" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^5.0.0" } }, "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg=="], - - "@vitest/pretty-format": ["@vitest/pretty-format@2.1.9", "https://npm.corp.kuaishou.com/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", { "dependencies": { "tinyrainbow": "^1.2.0" } }, "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ=="], - - "@vitest/runner": ["@vitest/runner@2.1.9", "https://npm.corp.kuaishou.com/@vitest/runner/-/runner-2.1.9.tgz", { "dependencies": { "@vitest/utils": "2.1.9", "pathe": "^1.1.2" } }, "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g=="], - - "@vitest/snapshot": ["@vitest/snapshot@2.1.9", "https://npm.corp.kuaishou.com/@vitest/snapshot/-/snapshot-2.1.9.tgz", { "dependencies": { "@vitest/pretty-format": "2.1.9", "magic-string": "^0.30.12", "pathe": "^1.1.2" } }, "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ=="], - - "@vitest/spy": ["@vitest/spy@2.1.9", "https://npm.corp.kuaishou.com/@vitest/spy/-/spy-2.1.9.tgz", { "dependencies": { "tinyspy": "^3.0.2" } }, "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ=="], - - "@vitest/ui": ["@vitest/ui@2.1.9", "https://npm.corp.kuaishou.com/@vitest/ui/-/ui-2.1.9.tgz", { "dependencies": { "@vitest/utils": "2.1.9", "fflate": "^0.8.2", "flatted": "^3.3.1", "pathe": "^1.1.2", "sirv": "^3.0.0", "tinyglobby": "^0.2.10", "tinyrainbow": "^1.2.0" }, "peerDependencies": { "vitest": "2.1.9" } }, "sha512-izzd2zmnk8Nl5ECYkW27328RbQ1nKvkm6Bb5DAaz1Gk59EbLkiCMa6OLT0NoaAYTjOFS6N+SMYW1nh4/9ljPiw=="], - - "@vitest/utils": ["@vitest/utils@2.1.9", "https://npm.corp.kuaishou.com/@vitest/utils/-/utils-2.1.9.tgz", { "dependencies": { "@vitest/pretty-format": "2.1.9", "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" } }, "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ=="], - - "@vscode/sudo-prompt": ["@vscode/sudo-prompt@9.3.2", "https://npm.corp.kuaishou.com/@vscode/sudo-prompt/-/sudo-prompt-9.3.2.tgz", {}, "sha512-gcXoCN00METUNFeQOFJ+C9xUI0DKB+0EGMVg7wbVYRHBw2Eq3fKisDZOkRdOz3kqXRKOENMfShPOmypw1/8nOw=="], - - "@wdio/config": ["@wdio/config@9.25.0", "https://npm.corp.kuaishou.com/@wdio/config/-/config-9.25.0.tgz", { "dependencies": { "@wdio/logger": "9.18.0", "@wdio/types": "9.25.0", "@wdio/utils": "9.25.0", "deepmerge-ts": "^7.0.3", "glob": "^10.2.2", "import-meta-resolve": "^4.0.0", "jiti": "^2.6.1" } }, "sha512-EWa7l1rrbSNthCRDpdBw7ESAa1/jAjSsWCGkaVAO0HMOGlQjzvYI6gNi4KUeymnurDZ2IPr0jr+f9We6AWi6QA=="], - - "@wdio/logger": ["@wdio/logger@9.18.0", "https://npm.corp.kuaishou.com/@wdio/logger/-/logger-9.18.0.tgz", { "dependencies": { "chalk": "^5.1.2", "loglevel": "^1.6.0", "loglevel-plugin-prefix": "^0.8.4", "safe-regex2": "^5.0.0", "strip-ansi": "^7.1.0" } }, "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww=="], - - "@wdio/protocols": ["@wdio/protocols@9.25.0", "https://npm.corp.kuaishou.com/@wdio/protocols/-/protocols-9.25.0.tgz", {}, "sha512-PErbZqdpFmE69bRuku3OR34Ro2xuZNNLXYFOcJnjXJVzf5+ApDyGHYrMlvhtrrSy9/55LUybk851ppjS+3RoDA=="], - - "@wdio/repl": ["@wdio/repl@9.16.2", "https://npm.corp.kuaishou.com/@wdio/repl/-/repl-9.16.2.tgz", { "dependencies": { "@types/node": "^20.1.0" } }, "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ=="], - - "@wdio/types": ["@wdio/types@9.25.0", "https://npm.corp.kuaishou.com/@wdio/types/-/types-9.25.0.tgz", { "dependencies": { "@types/node": "^20.1.0" } }, "sha512-ovSEcUBLz6gVDIsBZYKQXz8EGU37jS8sqbmlOe5+jB4XbsTBCyTLjQK/rO7LWQAKJcs0vBq+Pd+VrlsFtA7tTQ=="], - - "@wdio/utils": ["@wdio/utils@9.25.0", "https://npm.corp.kuaishou.com/@wdio/utils/-/utils-9.25.0.tgz", { "dependencies": { "@puppeteer/browsers": "^2.2.0", "@wdio/logger": "9.18.0", "@wdio/types": "9.25.0", "decamelize": "^6.0.0", "deepmerge-ts": "^7.0.3", "edgedriver": "^6.1.2", "geckodriver": "^6.1.0", "get-port": "^7.0.0", "import-meta-resolve": "^4.0.0", "locate-app": "^2.2.24", "mitt": "^3.0.1", "safaridriver": "^1.0.0", "split2": "^4.2.0", "wait-port": "^1.1.0" } }, "sha512-w/ej8gZkc2tZr8L91ATyA1AWrbPDYDOvblQ7r+zt1uPRobuA4H98GME7Zm7i3FIP695BvV4G35Gcs5NssZW1pw=="], - - "@zip.js/zip.js": ["@zip.js/zip.js@2.8.23", "https://npm.corp.kuaishou.com/@zip.js/zip.js/-/zip.js-2.8.23.tgz", {}, "sha512-RB+RLnxPJFPrGvQ9rgO+4JOcsob6lD32OcF0QE0yg24oeW9q8KnTTNlugcDaIveEcCbclobJcZP+fLQ++sH0bw=="], - - "abort-controller": ["abort-controller@3.0.0", "https://npm.corp.kuaishou.com/abort-controller/-/abort-controller-3.0.0.tgz", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], - - "accepts": ["accepts@2.0.0", "https://npm.corp.kuaishou.com/accepts/-/accepts-2.0.0.tgz", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], - - "acorn": ["acorn@8.16.0", "https://npm.corp.kuaishou.com/acorn/-/acorn-8.16.0.tgz", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="], - - "agent-base": ["agent-base@7.1.4", "https://npm.corp.kuaishou.com/agent-base/-/agent-base-7.1.4.tgz", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], - - "anser": ["anser@1.4.10", "https://npm.corp.kuaishou.com/anser/-/anser-1.4.10.tgz", {}, "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww=="], - - "ansi-fragments": ["ansi-fragments@0.2.1", "https://npm.corp.kuaishou.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz", { "dependencies": { "colorette": "^1.0.7", "slice-ansi": "^2.0.0", "strip-ansi": "^5.0.0" } }, "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w=="], - - "ansi-regex": ["ansi-regex@5.0.1", "https://npm.corp.kuaishou.com/ansi-regex/-/ansi-regex-5.0.1.tgz", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "ansi-styles": ["ansi-styles@5.2.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-5.2.0.tgz", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], - - "anymatch": ["anymatch@3.1.3", "https://npm.corp.kuaishou.com/anymatch/-/anymatch-3.1.3.tgz", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], - - "appdirsjs": ["appdirsjs@1.2.7", "https://npm.corp.kuaishou.com/appdirsjs/-/appdirsjs-1.2.7.tgz", {}, "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw=="], - - "archiver": ["archiver@7.0.1", "https://npm.corp.kuaishou.com/archiver/-/archiver-7.0.1.tgz", { "dependencies": { "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", "zip-stream": "^6.0.1" } }, "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ=="], - - "archiver-utils": ["archiver-utils@5.0.2", "https://npm.corp.kuaishou.com/archiver-utils/-/archiver-utils-5.0.2.tgz", { "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA=="], - - "argparse": ["argparse@1.0.10", "https://npm.corp.kuaishou.com/argparse/-/argparse-1.0.10.tgz", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - - "aria-query": ["aria-query@5.3.0", "https://npm.corp.kuaishou.com/aria-query/-/aria-query-5.3.0.tgz", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="], - - "asap": ["asap@2.0.6", "https://npm.corp.kuaishou.com/asap/-/asap-2.0.6.tgz", {}, "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="], - - "assertion-error": ["assertion-error@2.0.1", "https://npm.corp.kuaishou.com/assertion-error/-/assertion-error-2.0.1.tgz", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], - - "ast-types": ["ast-types@0.13.4", "https://npm.corp.kuaishou.com/ast-types/-/ast-types-0.13.4.tgz", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="], - - "astral-regex": ["astral-regex@1.0.0", "https://npm.corp.kuaishou.com/astral-regex/-/astral-regex-1.0.0.tgz", {}, "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="], - - "async": ["async@3.2.6", "https://npm.corp.kuaishou.com/async/-/async-3.2.6.tgz", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], - - "async-limiter": ["async-limiter@1.0.1", "https://npm.corp.kuaishou.com/async-limiter/-/async-limiter-1.0.1.tgz", {}, "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="], - - "b4a": ["b4a@1.8.0", "https://npm.corp.kuaishou.com/b4a/-/b4a-1.8.0.tgz", { "peerDependencies": { "react-native-b4a": "*" } }, "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg=="], - - "babel-jest": ["babel-jest@29.7.0", "https://npm.corp.kuaishou.com/babel-jest/-/babel-jest-29.7.0.tgz", { "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" } }, "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg=="], - - "babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "https://npm.corp.kuaishou.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], - - "babel-plugin-jest-hoist": ["babel-plugin-jest-hoist@29.6.3", "https://npm.corp.kuaishou.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", { "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", "@types/babel__core": "^7.1.14", "@types/babel__traverse": "^7.0.6" } }, "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg=="], - - "babel-plugin-polyfill-corejs2": ["babel-plugin-polyfill-corejs2@0.4.16", "https://npm.corp.kuaishou.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.16.tgz", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-define-polyfill-provider": "^0.6.7", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-xaVwwSfebXf0ooE11BJovZYKhFjIvQo7TsyVpETuIeH2JHv0k/T6Y5j22pPTvqYqmpkxdlPAJlyJ0tfOJAoMxw=="], - - "babel-plugin-polyfill-corejs3": ["babel-plugin-polyfill-corejs3@0.13.0", "https://npm.corp.kuaishou.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.5", "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A=="], - - "babel-plugin-polyfill-regenerator": ["babel-plugin-polyfill-regenerator@0.6.7", "https://npm.corp.kuaishou.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.7.tgz", { "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.7" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "sha512-OTYbUlSwXhNgr4g6efMZgsO8//jA61P7ZbRX3iTT53VON8l+WQS8IAUEVo4a4cWknrg2W8Cj4gQhRYNCJ8GkAA=="], - - "babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.32.0", "https://npm.corp.kuaishou.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz", { "dependencies": { "hermes-parser": "0.32.0" } }, "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg=="], - - "babel-plugin-transform-flow-enums": ["babel-plugin-transform-flow-enums@0.0.2", "https://npm.corp.kuaishou.com/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", { "dependencies": { "@babel/plugin-syntax-flow": "^7.12.1" } }, "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ=="], - - "babel-preset-current-node-syntax": ["babel-preset-current-node-syntax@1.2.0", "https://npm.corp.kuaishou.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", { "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg=="], - - "babel-preset-jest": ["babel-preset-jest@29.6.3", "https://npm.corp.kuaishou.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", { "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA=="], - - "balanced-match": ["balanced-match@1.0.2", "https://npm.corp.kuaishou.com/balanced-match/-/balanced-match-1.0.2.tgz", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "bare-abort-controller": ["bare-abort-controller@1.1.0", "https://npm.corp.kuaishou.com/bare-abort-controller/-/bare-abort-controller-1.1.0.tgz", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-ycBxndojKqfYfGTX2NgZP1YnCCV3w5d4Co2BnKTN8ZKEmTyPPKMuEHrVKtsWlqBzzZws9UsLMcdmJf7a/37lWw=="], - - "bare-buffer": ["bare-buffer@3.6.0", "https://npm.corp.kuaishou.com/bare-buffer/-/bare-buffer-3.6.0.tgz", {}, "sha512-/maRWEQ2eBkVNMbNFVsq1pHXJYVj4Y3AixwruB24eKZDs5Gtu0fixzvjYmBIuTsBMtVH5Yb27pQO9BhFa+IlIQ=="], - - "bare-events": ["bare-events@2.8.2", "https://npm.corp.kuaishou.com/bare-events/-/bare-events-2.8.2.tgz", { "peerDependencies": { "bare-abort-controller": "*" } }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="], - - "bare-fs": ["bare-fs@4.5.5", "https://npm.corp.kuaishou.com/bare-fs/-/bare-fs-4.5.5.tgz", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" } }, "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w=="], - - "bare-os": ["bare-os@3.7.1", "https://npm.corp.kuaishou.com/bare-os/-/bare-os-3.7.1.tgz", {}, "sha512-ebvMaS5BgZKmJlvuWh14dg9rbUI84QeV3WlWn6Ph6lFI8jJoh7ADtVTyD2c93euwbe+zgi0DVrl4YmqXeM9aIA=="], - - "bare-path": ["bare-path@3.0.0", "https://npm.corp.kuaishou.com/bare-path/-/bare-path-3.0.0.tgz", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="], - - "bare-stream": ["bare-stream@2.8.1", "https://npm.corp.kuaishou.com/bare-stream/-/bare-stream-2.8.1.tgz", { "dependencies": { "streamx": "^2.21.0", "teex": "^1.0.1" }, "peerDependencies": { "bare-buffer": "*", "bare-events": "*" } }, "sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg=="], - - "bare-url": ["bare-url@2.3.2", "https://npm.corp.kuaishou.com/bare-url/-/bare-url-2.3.2.tgz", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw=="], - - "base64-js": ["base64-js@1.5.1", "https://npm.corp.kuaishou.com/base64-js/-/base64-js-1.5.1.tgz", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - - "baseline-browser-mapping": ["baseline-browser-mapping@2.10.0", "https://npm.corp.kuaishou.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA=="], - - "basic-ftp": ["basic-ftp@5.2.0", "https://npm.corp.kuaishou.com/basic-ftp/-/basic-ftp-5.2.0.tgz", {}, "sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw=="], - - "bidi-js": ["bidi-js@1.0.3", "https://npm.corp.kuaishou.com/bidi-js/-/bidi-js-1.0.3.tgz", { "dependencies": { "require-from-string": "^2.0.2" } }, "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw=="], - - "bl": ["bl@4.1.0", "https://npm.corp.kuaishou.com/bl/-/bl-4.1.0.tgz", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], - - "body-parser": ["body-parser@2.2.2", "https://npm.corp.kuaishou.com/body-parser/-/body-parser-2.2.2.tgz", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.3", "http-errors": "^2.0.0", "iconv-lite": "^0.7.0", "on-finished": "^2.4.1", "qs": "^6.14.1", "raw-body": "^3.0.1", "type-is": "^2.0.1" } }, "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA=="], - - "boolbase": ["boolbase@1.0.0", "https://npm.corp.kuaishou.com/boolbase/-/boolbase-1.0.0.tgz", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], - - "brace-expansion": ["brace-expansion@2.0.2", "https://npm.corp.kuaishou.com/brace-expansion/-/brace-expansion-2.0.2.tgz", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], - - "braces": ["braces@3.0.3", "https://npm.corp.kuaishou.com/braces/-/braces-3.0.3.tgz", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - - "browserslist": ["browserslist@4.28.1", "https://npm.corp.kuaishou.com/browserslist/-/browserslist-4.28.1.tgz", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], - - "bser": ["bser@2.1.1", "https://npm.corp.kuaishou.com/bser/-/bser-2.1.1.tgz", { "dependencies": { "node-int64": "^0.4.0" } }, "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ=="], - - "buffer": ["buffer@6.0.3", "https://npm.corp.kuaishou.com/buffer/-/buffer-6.0.3.tgz", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], - - "buffer-crc32": ["buffer-crc32@1.0.0", "https://npm.corp.kuaishou.com/buffer-crc32/-/buffer-crc32-1.0.0.tgz", {}, "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w=="], - - "buffer-from": ["buffer-from@1.1.2", "https://npm.corp.kuaishou.com/buffer-from/-/buffer-from-1.1.2.tgz", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - - "bufferutil": ["bufferutil@4.1.0", "https://npm.corp.kuaishou.com/bufferutil/-/bufferutil-4.1.0.tgz", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-ZMANVnAixE6AWWnPzlW2KpUrxhm9woycYvPOo67jWHyFowASTEd9s+QN1EIMsSDtwhIxN4sWE1jotpuDUIgyIw=="], - - "bytes": ["bytes@3.1.2", "https://npm.corp.kuaishou.com/bytes/-/bytes-3.1.2.tgz", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], - - "cac": ["cac@6.7.14", "https://npm.corp.kuaishou.com/cac/-/cac-6.7.14.tgz", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], - - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "https://npm.corp.kuaishou.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - - "call-bound": ["call-bound@1.0.4", "https://npm.corp.kuaishou.com/call-bound/-/call-bound-1.0.4.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - - "callsites": ["callsites@3.1.0", "https://npm.corp.kuaishou.com/callsites/-/callsites-3.1.0.tgz", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - - "camelcase": ["camelcase@6.3.0", "https://npm.corp.kuaishou.com/camelcase/-/camelcase-6.3.0.tgz", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - - "caniuse-lite": ["caniuse-lite@1.0.30001778", "https://npm.corp.kuaishou.com/caniuse-lite/-/caniuse-lite-1.0.30001778.tgz", {}, "sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg=="], - - "canvas": ["canvas@3.2.1", "https://npm.corp.kuaishou.com/canvas/-/canvas-3.2.1.tgz", { "dependencies": { "node-addon-api": "^7.0.0", "prebuild-install": "^7.1.3" } }, "sha512-ej1sPFR5+0YWtaVp6S1N1FVz69TQCqmrkGeRvQxZeAB1nAIcjNTHVwrZtYtWFFBmQsF40/uDLehsW5KuYC99mg=="], - - "chai": ["chai@5.3.3", "https://npm.corp.kuaishou.com/chai/-/chai-5.3.3.tgz", { "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", "deep-eql": "^5.0.1", "loupe": "^3.1.0", "pathval": "^2.0.0" } }, "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw=="], - - "chalk": ["chalk@5.6.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-5.6.2.tgz", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - - "check-error": ["check-error@2.1.3", "https://npm.corp.kuaishou.com/check-error/-/check-error-2.1.3.tgz", {}, "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA=="], - - "cheerio": ["cheerio@1.2.0", "https://npm.corp.kuaishou.com/cheerio/-/cheerio-1.2.0.tgz", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "encoding-sniffer": "^0.2.1", "htmlparser2": "^10.1.0", "parse5": "^7.3.0", "parse5-htmlparser2-tree-adapter": "^7.1.0", "parse5-parser-stream": "^7.1.2", "undici": "^7.19.0", "whatwg-mimetype": "^4.0.0" } }, "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg=="], - - "cheerio-select": ["cheerio-select@2.1.0", "https://npm.corp.kuaishou.com/cheerio-select/-/cheerio-select-2.1.0.tgz", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="], - - "chokidar": ["chokidar@4.0.3", "https://npm.corp.kuaishou.com/chokidar/-/chokidar-4.0.3.tgz", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "chownr": ["chownr@1.1.4", "https://npm.corp.kuaishou.com/chownr/-/chownr-1.1.4.tgz", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], - - "chrome-launcher": ["chrome-launcher@0.15.2", "https://npm.corp.kuaishou.com/chrome-launcher/-/chrome-launcher-0.15.2.tgz", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0" }, "bin": { "print-chrome-path": "bin/print-chrome-path.js" } }, "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ=="], - - "chromium-bidi": ["chromium-bidi@14.0.0", "https://npm.corp.kuaishou.com/chromium-bidi/-/chromium-bidi-14.0.0.tgz", { "dependencies": { "mitt": "^3.0.1", "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw=="], - - "chromium-edge-launcher": ["chromium-edge-launcher@0.2.0", "https://npm.corp.kuaishou.com/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0", "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg=="], - - "ci-info": ["ci-info@2.0.0", "https://npm.corp.kuaishou.com/ci-info/-/ci-info-2.0.0.tgz", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], - - "cli-cursor": ["cli-cursor@3.1.0", "https://npm.corp.kuaishou.com/cli-cursor/-/cli-cursor-3.1.0.tgz", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], - - "cli-spinners": ["cli-spinners@2.9.2", "https://npm.corp.kuaishou.com/cli-spinners/-/cli-spinners-2.9.2.tgz", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], - - "cli-width": ["cli-width@4.1.0", "https://npm.corp.kuaishou.com/cli-width/-/cli-width-4.1.0.tgz", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], - - "cliui": ["cliui@8.0.1", "https://npm.corp.kuaishou.com/cliui/-/cliui-8.0.1.tgz", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - - "clone": ["clone@1.0.4", "https://npm.corp.kuaishou.com/clone/-/clone-1.0.4.tgz", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], - - "color-convert": ["color-convert@2.0.1", "https://npm.corp.kuaishou.com/color-convert/-/color-convert-2.0.1.tgz", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "color-name": ["color-name@1.1.4", "https://npm.corp.kuaishou.com/color-name/-/color-name-1.1.4.tgz", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "colorette": ["colorette@1.4.0", "https://npm.corp.kuaishou.com/colorette/-/colorette-1.4.0.tgz", {}, "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g=="], - - "colorjs.io": ["colorjs.io@0.5.2", "https://npm.corp.kuaishou.com/colorjs.io/-/colorjs.io-0.5.2.tgz", {}, "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw=="], - - "command-exists": ["command-exists@1.2.9", "https://npm.corp.kuaishou.com/command-exists/-/command-exists-1.2.9.tgz", {}, "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="], - - "commander": ["commander@2.20.3", "https://npm.corp.kuaishou.com/commander/-/commander-2.20.3.tgz", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], - - "compress-commons": ["compress-commons@6.0.2", "https://npm.corp.kuaishou.com/compress-commons/-/compress-commons-6.0.2.tgz", { "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" } }, "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg=="], - - "compressible": ["compressible@2.0.18", "https://npm.corp.kuaishou.com/compressible/-/compressible-2.0.18.tgz", { "dependencies": { "mime-db": ">= 1.43.0 < 2" } }, "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg=="], - - "compression": ["compression@1.8.1", "https://npm.corp.kuaishou.com/compression/-/compression-1.8.1.tgz", { "dependencies": { "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" } }, "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w=="], - - "concat-map": ["concat-map@0.0.1", "https://npm.corp.kuaishou.com/concat-map/-/concat-map-0.0.1.tgz", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - - "connect": ["connect@3.7.0", "https://npm.corp.kuaishou.com/connect/-/connect-3.7.0.tgz", { "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ=="], - - "content-type": ["content-type@1.0.5", "https://npm.corp.kuaishou.com/content-type/-/content-type-1.0.5.tgz", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], - - "convert-source-map": ["convert-source-map@2.0.0", "https://npm.corp.kuaishou.com/convert-source-map/-/convert-source-map-2.0.0.tgz", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "cookie": ["cookie@1.1.1", "https://npm.corp.kuaishou.com/cookie/-/cookie-1.1.1.tgz", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], - - "copy-anything": ["copy-anything@3.0.5", "https://npm.corp.kuaishou.com/copy-anything/-/copy-anything-3.0.5.tgz", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="], - - "core-js-compat": ["core-js-compat@3.48.0", "https://npm.corp.kuaishou.com/core-js-compat/-/core-js-compat-3.48.0.tgz", { "dependencies": { "browserslist": "^4.28.1" } }, "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q=="], - - "core-util-is": ["core-util-is@1.0.3", "https://npm.corp.kuaishou.com/core-util-is/-/core-util-is-1.0.3.tgz", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], - - "cosmiconfig": ["cosmiconfig@9.0.1", "https://npm.corp.kuaishou.com/cosmiconfig/-/cosmiconfig-9.0.1.tgz", { "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.9.5" } }, "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ=="], - - "crc-32": ["crc-32@1.2.2", "https://npm.corp.kuaishou.com/crc-32/-/crc-32-1.2.2.tgz", { "bin": { "crc32": "bin/crc32.njs" } }, "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="], - - "crc32-stream": ["crc32-stream@6.0.0", "https://npm.corp.kuaishou.com/crc32-stream/-/crc32-stream-6.0.0.tgz", { "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^4.0.0" } }, "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g=="], - - "cross-spawn": ["cross-spawn@7.0.6", "https://npm.corp.kuaishou.com/cross-spawn/-/cross-spawn-7.0.6.tgz", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - - "css-select": ["css-select@5.2.2", "https://npm.corp.kuaishou.com/css-select/-/css-select-5.2.2.tgz", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], - - "css-shorthand-properties": ["css-shorthand-properties@1.1.2", "https://npm.corp.kuaishou.com/css-shorthand-properties/-/css-shorthand-properties-1.1.2.tgz", {}, "sha512-C2AugXIpRGQTxaCW0N7n5jD/p5irUmCrwl03TrnMFBHDbdq44CFWR2zO7rK9xPN4Eo3pUxC4vQzQgbIpzrD1PQ=="], - - "css-tree": ["css-tree@3.2.1", "https://npm.corp.kuaishou.com/css-tree/-/css-tree-3.2.1.tgz", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], - - "css-value": ["css-value@0.0.1", "https://npm.corp.kuaishou.com/css-value/-/css-value-0.0.1.tgz", {}, "sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q=="], - - "css-what": ["css-what@6.2.2", "https://npm.corp.kuaishou.com/css-what/-/css-what-6.2.2.tgz", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], - - "cssstyle": ["cssstyle@6.2.0", "https://npm.corp.kuaishou.com/cssstyle/-/cssstyle-6.2.0.tgz", { "dependencies": { "@asamuzakjp/css-color": "^5.0.1", "@csstools/css-syntax-patches-for-csstree": "^1.0.28", "css-tree": "^3.1.0", "lru-cache": "^11.2.6" } }, "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig=="], - - "csstype": ["csstype@3.2.3", "https://npm.corp.kuaishou.com/csstype/-/csstype-3.2.3.tgz", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], - - "data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "https://npm.corp.kuaishou.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], - - "data-urls": ["data-urls@7.0.0", "https://npm.corp.kuaishou.com/data-urls/-/data-urls-7.0.0.tgz", { "dependencies": { "whatwg-mimetype": "^5.0.0", "whatwg-url": "^16.0.0" } }, "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA=="], - - "dayjs": ["dayjs@1.11.20", "https://npm.corp.kuaishou.com/dayjs/-/dayjs-1.11.20.tgz", {}, "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ=="], - - "debug": ["debug@4.4.3", "https://npm.corp.kuaishou.com/debug/-/debug-4.4.3.tgz", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], - - "decamelize": ["decamelize@6.0.1", "https://npm.corp.kuaishou.com/decamelize/-/decamelize-6.0.1.tgz", {}, "sha512-G7Cqgaelq68XHJNGlZ7lrNQyhZGsFqpwtGFexqUv4IQdjKoSYF7ipZ9UuTJZUSQXFj/XaoBLuEVIVqr8EJngEQ=="], - - "decimal.js": ["decimal.js@10.6.0", "https://npm.corp.kuaishou.com/decimal.js/-/decimal.js-10.6.0.tgz", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], - - "decompress-response": ["decompress-response@6.0.0", "https://npm.corp.kuaishou.com/decompress-response/-/decompress-response-6.0.0.tgz", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], - - "deep-eql": ["deep-eql@5.0.2", "https://npm.corp.kuaishou.com/deep-eql/-/deep-eql-5.0.2.tgz", {}, "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="], - - "deep-extend": ["deep-extend@0.6.0", "https://npm.corp.kuaishou.com/deep-extend/-/deep-extend-0.6.0.tgz", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], - - "deepmerge": ["deepmerge@4.3.1", "https://npm.corp.kuaishou.com/deepmerge/-/deepmerge-4.3.1.tgz", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - - "deepmerge-ts": ["deepmerge-ts@7.1.5", "https://npm.corp.kuaishou.com/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", {}, "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw=="], - - "defaults": ["defaults@1.0.4", "https://npm.corp.kuaishou.com/defaults/-/defaults-1.0.4.tgz", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], - - "degenerator": ["degenerator@5.0.1", "https://npm.corp.kuaishou.com/degenerator/-/degenerator-5.0.1.tgz", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="], - - "depd": ["depd@2.0.0", "https://npm.corp.kuaishou.com/depd/-/depd-2.0.0.tgz", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], - - "dequal": ["dequal@2.0.3", "https://npm.corp.kuaishou.com/dequal/-/dequal-2.0.3.tgz", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], - - "destroy": ["destroy@1.2.0", "https://npm.corp.kuaishou.com/destroy/-/destroy-1.2.0.tgz", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], - - "detect-libc": ["detect-libc@2.1.2", "https://npm.corp.kuaishou.com/detect-libc/-/detect-libc-2.1.2.tgz", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - - "devtools-protocol": ["devtools-protocol@0.0.1581282", "https://npm.corp.kuaishou.com/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", {}, "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ=="], - - "dom-accessibility-api": ["dom-accessibility-api@0.5.16", "https://npm.corp.kuaishou.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="], - - "dom-serializer": ["dom-serializer@2.0.0", "https://npm.corp.kuaishou.com/dom-serializer/-/dom-serializer-2.0.0.tgz", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], - - "domelementtype": ["domelementtype@2.3.0", "https://npm.corp.kuaishou.com/domelementtype/-/domelementtype-2.3.0.tgz", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], - - "domhandler": ["domhandler@5.0.3", "https://npm.corp.kuaishou.com/domhandler/-/domhandler-5.0.3.tgz", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - - "domutils": ["domutils@3.2.2", "https://npm.corp.kuaishou.com/domutils/-/domutils-3.2.2.tgz", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - - "dunder-proto": ["dunder-proto@1.0.1", "https://npm.corp.kuaishou.com/dunder-proto/-/dunder-proto-1.0.1.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - - "eastasianwidth": ["eastasianwidth@0.2.0", "https://npm.corp.kuaishou.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - - "edge-paths": ["edge-paths@3.0.5", "https://npm.corp.kuaishou.com/edge-paths/-/edge-paths-3.0.5.tgz", { "dependencies": { "@types/which": "^2.0.1", "which": "^2.0.2" } }, "sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg=="], - - "edgedriver": ["edgedriver@6.3.0", "https://npm.corp.kuaishou.com/edgedriver/-/edgedriver-6.3.0.tgz", { "dependencies": { "@wdio/logger": "^9.18.0", "@zip.js/zip.js": "^2.8.11", "decamelize": "^6.0.1", "edge-paths": "^3.0.5", "fast-xml-parser": "^5.3.3", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "which": "^6.0.0" }, "bin": { "edgedriver": "bin/edgedriver.js" } }, "sha512-ggEQL+oEyIcM4nP2QC3AtCQ04o4kDNefRM3hja0odvlPSnsaxiruMxEZ93v3gDCKWYW6BXUr51PPradb+3nffw=="], - - "ee-first": ["ee-first@1.1.1", "https://npm.corp.kuaishou.com/ee-first/-/ee-first-1.1.1.tgz", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], - - "electron-to-chromium": ["electron-to-chromium@1.5.313", "https://npm.corp.kuaishou.com/electron-to-chromium/-/electron-to-chromium-1.5.313.tgz", {}, "sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA=="], - - "emoji-regex": ["emoji-regex@8.0.0", "https://npm.corp.kuaishou.com/emoji-regex/-/emoji-regex-8.0.0.tgz", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "encodeurl": ["encodeurl@2.0.0", "https://npm.corp.kuaishou.com/encodeurl/-/encodeurl-2.0.0.tgz", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], - - "encoding-sniffer": ["encoding-sniffer@0.2.1", "https://npm.corp.kuaishou.com/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw=="], - - "end-of-stream": ["end-of-stream@1.4.5", "https://npm.corp.kuaishou.com/end-of-stream/-/end-of-stream-1.4.5.tgz", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], - - "entities": ["entities@7.0.1", "https://npm.corp.kuaishou.com/entities/-/entities-7.0.1.tgz", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="], - - "env-paths": ["env-paths@2.2.1", "https://npm.corp.kuaishou.com/env-paths/-/env-paths-2.2.1.tgz", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], - - "envinfo": ["envinfo@7.21.0", "https://npm.corp.kuaishou.com/envinfo/-/envinfo-7.21.0.tgz", { "bin": { "envinfo": "dist/cli.js" } }, "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow=="], - - "errno": ["errno@0.1.8", "https://npm.corp.kuaishou.com/errno/-/errno-0.1.8.tgz", { "dependencies": { "prr": "~1.0.1" }, "bin": { "errno": "cli.js" } }, "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A=="], - - "error-ex": ["error-ex@1.3.4", "https://npm.corp.kuaishou.com/error-ex/-/error-ex-1.3.4.tgz", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], - - "error-stack-parser": ["error-stack-parser@2.1.4", "https://npm.corp.kuaishou.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", { "dependencies": { "stackframe": "^1.3.4" } }, "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ=="], - - "errorhandler": ["errorhandler@1.5.2", "https://npm.corp.kuaishou.com/errorhandler/-/errorhandler-1.5.2.tgz", { "dependencies": { "accepts": "~1.3.8", "escape-html": "~1.0.3" } }, "sha512-kNAL7hESndBCrWwS72QyV3IVOTrVmj9D062FV5BQswNL5zEdeRmz/WJFyh6Aj/plvvSOrzddkxW57HgkZcR9Fw=="], - - "es-define-property": ["es-define-property@1.0.1", "https://npm.corp.kuaishou.com/es-define-property/-/es-define-property-1.0.1.tgz", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - - "es-errors": ["es-errors@1.3.0", "https://npm.corp.kuaishou.com/es-errors/-/es-errors-1.3.0.tgz", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "es-module-lexer": ["es-module-lexer@1.7.0", "https://npm.corp.kuaishou.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], - - "es-object-atoms": ["es-object-atoms@1.1.1", "https://npm.corp.kuaishou.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - - "esbuild": ["esbuild@0.21.5", "https://npm.corp.kuaishou.com/esbuild/-/esbuild-0.21.5.tgz", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.21.5", "@esbuild/android-arm": "0.21.5", "@esbuild/android-arm64": "0.21.5", "@esbuild/android-x64": "0.21.5", "@esbuild/darwin-arm64": "0.21.5", "@esbuild/darwin-x64": "0.21.5", "@esbuild/freebsd-arm64": "0.21.5", "@esbuild/freebsd-x64": "0.21.5", "@esbuild/linux-arm": "0.21.5", "@esbuild/linux-arm64": "0.21.5", "@esbuild/linux-ia32": "0.21.5", "@esbuild/linux-loong64": "0.21.5", "@esbuild/linux-mips64el": "0.21.5", "@esbuild/linux-ppc64": "0.21.5", "@esbuild/linux-riscv64": "0.21.5", "@esbuild/linux-s390x": "0.21.5", "@esbuild/linux-x64": "0.21.5", "@esbuild/netbsd-x64": "0.21.5", "@esbuild/openbsd-x64": "0.21.5", "@esbuild/sunos-x64": "0.21.5", "@esbuild/win32-arm64": "0.21.5", "@esbuild/win32-ia32": "0.21.5", "@esbuild/win32-x64": "0.21.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw=="], - - "escalade": ["escalade@3.2.0", "https://npm.corp.kuaishou.com/escalade/-/escalade-3.2.0.tgz", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - - "escape-html": ["escape-html@1.0.3", "https://npm.corp.kuaishou.com/escape-html/-/escape-html-1.0.3.tgz", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], - - "escape-string-regexp": ["escape-string-regexp@4.0.0", "https://npm.corp.kuaishou.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - - "escodegen": ["escodegen@2.1.0", "https://npm.corp.kuaishou.com/escodegen/-/escodegen-2.1.0.tgz", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], - - "esprima": ["esprima@4.0.1", "https://npm.corp.kuaishou.com/esprima/-/esprima-4.0.1.tgz", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], - - "estraverse": ["estraverse@5.3.0", "https://npm.corp.kuaishou.com/estraverse/-/estraverse-5.3.0.tgz", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - - "estree-walker": ["estree-walker@3.0.3", "https://npm.corp.kuaishou.com/estree-walker/-/estree-walker-3.0.3.tgz", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], - - "esutils": ["esutils@2.0.3", "https://npm.corp.kuaishou.com/esutils/-/esutils-2.0.3.tgz", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], - - "etag": ["etag@1.8.1", "https://npm.corp.kuaishou.com/etag/-/etag-1.8.1.tgz", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], - - "event-target-shim": ["event-target-shim@5.0.1", "https://npm.corp.kuaishou.com/event-target-shim/-/event-target-shim-5.0.1.tgz", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], - - "events": ["events@3.3.0", "https://npm.corp.kuaishou.com/events/-/events-3.3.0.tgz", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], - - "events-universal": ["events-universal@1.0.1", "https://npm.corp.kuaishou.com/events-universal/-/events-universal-1.0.1.tgz", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="], - - "execa": ["execa@5.1.1", "https://npm.corp.kuaishou.com/execa/-/execa-5.1.1.tgz", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], - - "expand-template": ["expand-template@2.0.3", "https://npm.corp.kuaishou.com/expand-template/-/expand-template-2.0.3.tgz", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], - - "expect-type": ["expect-type@1.3.0", "https://npm.corp.kuaishou.com/expect-type/-/expect-type-1.3.0.tgz", {}, "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA=="], - - "exponential-backoff": ["exponential-backoff@3.1.3", "https://npm.corp.kuaishou.com/exponential-backoff/-/exponential-backoff-3.1.3.tgz", {}, "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA=="], - - "extract-zip": ["extract-zip@2.0.1", "https://npm.corp.kuaishou.com/extract-zip/-/extract-zip-2.0.1.tgz", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], - - "fast-deep-equal": ["fast-deep-equal@2.0.1", "https://npm.corp.kuaishou.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", {}, "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w=="], - - "fast-fifo": ["fast-fifo@1.3.2", "https://npm.corp.kuaishou.com/fast-fifo/-/fast-fifo-1.3.2.tgz", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="], - - "fast-glob": ["fast-glob@3.3.3", "https://npm.corp.kuaishou.com/fast-glob/-/fast-glob-3.3.3.tgz", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], - - "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "https://npm.corp.kuaishou.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], - - "fast-xml-builder": ["fast-xml-builder@1.1.2", "https://npm.corp.kuaishou.com/fast-xml-builder/-/fast-xml-builder-1.1.2.tgz", { "dependencies": { "path-expression-matcher": "^1.1.3" } }, "sha512-NJAmiuVaJEjVa7TjLZKlYd7RqmzOC91EtPFXHvlTcqBVo50Qh7XV5IwvXi1c7NRz2Q/majGX9YLcwJtWgHjtkA=="], - - "fast-xml-parser": ["fast-xml-parser@5.5.3", "https://npm.corp.kuaishou.com/fast-xml-parser/-/fast-xml-parser-5.5.3.tgz", { "dependencies": { "fast-xml-builder": "^1.1.2", "path-expression-matcher": "^1.1.3", "strnum": "^2.1.2" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-Ymnuefk6VzAhT3SxLzVUw+nMio/wB1NGypHkgetwtXcK1JfryaHk4DWQFGVwQ9XgzyS5iRZ7C2ZGI4AMsdMZ6A=="], - - "fastq": ["fastq@1.20.1", "https://npm.corp.kuaishou.com/fastq/-/fastq-1.20.1.tgz", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], - - "fb-dotslash": ["fb-dotslash@0.5.8", "https://npm.corp.kuaishou.com/fb-dotslash/-/fb-dotslash-0.5.8.tgz", { "bin": { "dotslash": "bin/dotslash" } }, "sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA=="], - - "fb-watchman": ["fb-watchman@2.0.2", "https://npm.corp.kuaishou.com/fb-watchman/-/fb-watchman-2.0.2.tgz", { "dependencies": { "bser": "2.1.1" } }, "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA=="], - - "fd-slicer": ["fd-slicer@1.1.0", "https://npm.corp.kuaishou.com/fd-slicer/-/fd-slicer-1.1.0.tgz", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="], - - "fdir": ["fdir@6.5.0", "https://npm.corp.kuaishou.com/fdir/-/fdir-6.5.0.tgz", { "peerDependencies": { "picomatch": "^3 || ^4" } }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - - "fflate": ["fflate@0.8.2", "https://npm.corp.kuaishou.com/fflate/-/fflate-0.8.2.tgz", {}, "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="], - - "fill-range": ["fill-range@7.1.1", "https://npm.corp.kuaishou.com/fill-range/-/fill-range-7.1.1.tgz", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], - - "finalhandler": ["finalhandler@1.1.2", "https://npm.corp.kuaishou.com/finalhandler/-/finalhandler-1.1.2.tgz", { "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="], - - "find-up": ["find-up@5.0.0", "https://npm.corp.kuaishou.com/find-up/-/find-up-5.0.0.tgz", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], - - "flatted": ["flatted@3.4.1", "https://npm.corp.kuaishou.com/flatted/-/flatted-3.4.1.tgz", {}, "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ=="], - - "flow-enums-runtime": ["flow-enums-runtime@0.0.6", "https://npm.corp.kuaishou.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", {}, "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw=="], - - "foreground-child": ["foreground-child@3.3.1", "https://npm.corp.kuaishou.com/foreground-child/-/foreground-child-3.3.1.tgz", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], - - "fresh": ["fresh@0.5.2", "https://npm.corp.kuaishou.com/fresh/-/fresh-0.5.2.tgz", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], - - "fs-constants": ["fs-constants@1.0.0", "https://npm.corp.kuaishou.com/fs-constants/-/fs-constants-1.0.0.tgz", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], - - "fs-extra": ["fs-extra@8.1.0", "https://npm.corp.kuaishou.com/fs-extra/-/fs-extra-8.1.0.tgz", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], - - "fs.realpath": ["fs.realpath@1.0.0", "https://npm.corp.kuaishou.com/fs.realpath/-/fs.realpath-1.0.0.tgz", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], - - "fsevents": ["fsevents@2.3.3", "https://npm.corp.kuaishou.com/fsevents/-/fsevents-2.3.3.tgz", {}, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "https://npm.corp.kuaishou.com/function-bind/-/function-bind-1.1.2.tgz", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - - "geckodriver": ["geckodriver@6.1.0", "https://npm.corp.kuaishou.com/geckodriver/-/geckodriver-6.1.0.tgz", { "dependencies": { "@wdio/logger": "^9.18.0", "@zip.js/zip.js": "^2.8.11", "decamelize": "^6.0.1", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "modern-tar": "^0.7.2" }, "bin": { "geckodriver": "bin/geckodriver.js" } }, "sha512-ZRXLa4ZaYTTgUO4Eefw+RsQCleugU2QLb1ME7qTYxxuRj51yAhfnXaItXNs5/vUzfIaDHuZ+YnSF005hfp07nQ=="], - - "gensync": ["gensync@1.0.0-beta.2", "https://npm.corp.kuaishou.com/gensync/-/gensync-1.0.0-beta.2.tgz", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], - - "get-caller-file": ["get-caller-file@2.0.5", "https://npm.corp.kuaishou.com/get-caller-file/-/get-caller-file-2.0.5.tgz", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - - "get-intrinsic": ["get-intrinsic@1.3.0", "https://npm.corp.kuaishou.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - - "get-package-type": ["get-package-type@0.1.0", "https://npm.corp.kuaishou.com/get-package-type/-/get-package-type-0.1.0.tgz", {}, "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="], - - "get-port": ["get-port@7.1.0", "https://npm.corp.kuaishou.com/get-port/-/get-port-7.1.0.tgz", {}, "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw=="], - - "get-proto": ["get-proto@1.0.1", "https://npm.corp.kuaishou.com/get-proto/-/get-proto-1.0.1.tgz", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - - "get-stream": ["get-stream@5.2.0", "https://npm.corp.kuaishou.com/get-stream/-/get-stream-5.2.0.tgz", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="], - - "get-uri": ["get-uri@6.0.5", "https://npm.corp.kuaishou.com/get-uri/-/get-uri-6.0.5.tgz", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="], - - "github-from-package": ["github-from-package@0.0.0", "https://npm.corp.kuaishou.com/github-from-package/-/github-from-package-0.0.0.tgz", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], - - "glob": ["glob@10.5.0", "https://npm.corp.kuaishou.com/glob/-/glob-10.5.0.tgz", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], - - "glob-parent": ["glob-parent@5.1.2", "https://npm.corp.kuaishou.com/glob-parent/-/glob-parent-5.1.2.tgz", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "gopd": ["gopd@1.2.0", "https://npm.corp.kuaishou.com/gopd/-/gopd-1.2.0.tgz", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - - "graceful-fs": ["graceful-fs@4.2.11", "https://npm.corp.kuaishou.com/graceful-fs/-/graceful-fs-4.2.11.tgz", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - - "grapheme-splitter": ["grapheme-splitter@1.0.4", "https://npm.corp.kuaishou.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", {}, "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="], - - "graphql": ["graphql@16.13.1", "https://npm.corp.kuaishou.com/graphql/-/graphql-16.13.1.tgz", {}, "sha512-gGgrVCoDKlIZ8fIqXBBb0pPKqDgki0Z/FSKNiQzSGj2uEYHr1tq5wmBegGwJx6QB5S5cM0khSBpi/JFHMCvsmQ=="], - - "happy-dom": ["happy-dom@20.8.3", "https://npm.corp.kuaishou.com/happy-dom/-/happy-dom-20.8.3.tgz", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", "ws": "^8.18.3" } }, "sha512-lMHQRRwIPyJ70HV0kkFT7jH/gXzSI7yDkQFe07E2flwmNDFoWUTRMKpW2sglsnpeA7b6S2TJPp98EbQxai8eaQ=="], - - "has-flag": ["has-flag@4.0.0", "https://npm.corp.kuaishou.com/has-flag/-/has-flag-4.0.0.tgz", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - - "has-symbols": ["has-symbols@1.1.0", "https://npm.corp.kuaishou.com/has-symbols/-/has-symbols-1.1.0.tgz", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - - "hasown": ["hasown@2.0.2", "https://npm.corp.kuaishou.com/hasown/-/hasown-2.0.2.tgz", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], - - "headers-polyfill": ["headers-polyfill@4.0.3", "https://npm.corp.kuaishou.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz", {}, "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ=="], - - "hermes-compiler": ["hermes-compiler@250829098.0.9", "https://npm.corp.kuaishou.com/hermes-compiler/-/hermes-compiler-250829098.0.9.tgz", {}, "sha512-hZ5O7PDz1vQ99TS7HD3FJ9zVynfU1y+VWId6U1Pldvd8hmAYrNec/XLPYJKD3dLOW6NXak6aAQAuMuSo3ji0tQ=="], - - "hermes-estree": ["hermes-estree@0.32.0", "https://npm.corp.kuaishou.com/hermes-estree/-/hermes-estree-0.32.0.tgz", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], - - "hermes-parser": ["hermes-parser@0.32.0", "https://npm.corp.kuaishou.com/hermes-parser/-/hermes-parser-0.32.0.tgz", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], - - "html-encoding-sniffer": ["html-encoding-sniffer@6.0.0", "https://npm.corp.kuaishou.com/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", { "dependencies": { "@exodus/bytes": "^1.6.0" } }, "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg=="], - - "htmlfy": ["htmlfy@0.8.1", "https://npm.corp.kuaishou.com/htmlfy/-/htmlfy-0.8.1.tgz", {}, "sha512-xWROBw9+MEGwxpotll0h672KCaLrKKiCYzsyN8ZgL9cQbVumFnyvsk2JqiB9ELAV1GLj1GG/jxZUjV9OZZi/yQ=="], - - "htmlparser2": ["htmlparser2@10.1.0", "https://npm.corp.kuaishou.com/htmlparser2/-/htmlparser2-10.1.0.tgz", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="], - - "http-errors": ["http-errors@2.0.1", "https://npm.corp.kuaishou.com/http-errors/-/http-errors-2.0.1.tgz", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], - - "http-proxy-agent": ["http-proxy-agent@7.0.2", "https://npm.corp.kuaishou.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], - - "https-proxy-agent": ["https-proxy-agent@7.0.6", "https://npm.corp.kuaishou.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - - "human-signals": ["human-signals@2.1.0", "https://npm.corp.kuaishou.com/human-signals/-/human-signals-2.1.0.tgz", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], - - "iconv-lite": ["iconv-lite@0.6.3", "https://npm.corp.kuaishou.com/iconv-lite/-/iconv-lite-0.6.3.tgz", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], - - "ieee754": ["ieee754@1.2.1", "https://npm.corp.kuaishou.com/ieee754/-/ieee754-1.2.1.tgz", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - - "image-size": ["image-size@0.5.5", "https://npm.corp.kuaishou.com/image-size/-/image-size-0.5.5.tgz", { "bin": { "image-size": "bin/image-size.js" } }, "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ=="], - - "immediate": ["immediate@3.0.6", "https://npm.corp.kuaishou.com/immediate/-/immediate-3.0.6.tgz", {}, "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="], - - "immutable": ["immutable@5.1.5", "https://npm.corp.kuaishou.com/immutable/-/immutable-5.1.5.tgz", {}, "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A=="], - - "import-fresh": ["import-fresh@3.3.1", "https://npm.corp.kuaishou.com/import-fresh/-/import-fresh-3.3.1.tgz", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - - "import-meta-resolve": ["import-meta-resolve@4.2.0", "https://npm.corp.kuaishou.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], - - "imurmurhash": ["imurmurhash@0.1.4", "https://npm.corp.kuaishou.com/imurmurhash/-/imurmurhash-0.1.4.tgz", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - - "inflight": ["inflight@1.0.6", "https://npm.corp.kuaishou.com/inflight/-/inflight-1.0.6.tgz", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "https://npm.corp.kuaishou.com/inherits/-/inherits-2.0.4.tgz", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "ini": ["ini@1.3.8", "https://npm.corp.kuaishou.com/ini/-/ini-1.3.8.tgz", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], - - "invariant": ["invariant@2.2.4", "https://npm.corp.kuaishou.com/invariant/-/invariant-2.2.4.tgz", { "dependencies": { "loose-envify": "^1.0.0" } }, "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA=="], - - "ip-address": ["ip-address@10.1.0", "https://npm.corp.kuaishou.com/ip-address/-/ip-address-10.1.0.tgz", {}, "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q=="], - - "is-arrayish": ["is-arrayish@0.2.1", "https://npm.corp.kuaishou.com/is-arrayish/-/is-arrayish-0.2.1.tgz", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - - "is-core-module": ["is-core-module@2.16.1", "https://npm.corp.kuaishou.com/is-core-module/-/is-core-module-2.16.1.tgz", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], - - "is-docker": ["is-docker@2.2.1", "https://npm.corp.kuaishou.com/is-docker/-/is-docker-2.2.1.tgz", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], - - "is-extglob": ["is-extglob@2.1.1", "https://npm.corp.kuaishou.com/is-extglob/-/is-extglob-2.1.1.tgz", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], - - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "https://npm.corp.kuaishou.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "is-glob": ["is-glob@4.0.3", "https://npm.corp.kuaishou.com/is-glob/-/is-glob-4.0.3.tgz", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - - "is-interactive": ["is-interactive@1.0.0", "https://npm.corp.kuaishou.com/is-interactive/-/is-interactive-1.0.0.tgz", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], - - "is-node-process": ["is-node-process@1.2.0", "https://npm.corp.kuaishou.com/is-node-process/-/is-node-process-1.2.0.tgz", {}, "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw=="], - - "is-number": ["is-number@7.0.0", "https://npm.corp.kuaishou.com/is-number/-/is-number-7.0.0.tgz", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], - - "is-plain-obj": ["is-plain-obj@4.1.0", "https://npm.corp.kuaishou.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], - - "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "https://npm.corp.kuaishou.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="], - - "is-stream": ["is-stream@2.0.1", "https://npm.corp.kuaishou.com/is-stream/-/is-stream-2.0.1.tgz", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], - - "is-unicode-supported": ["is-unicode-supported@0.1.0", "https://npm.corp.kuaishou.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], - - "is-what": ["is-what@4.1.16", "https://npm.corp.kuaishou.com/is-what/-/is-what-4.1.16.tgz", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="], - - "is-wsl": ["is-wsl@2.2.0", "https://npm.corp.kuaishou.com/is-wsl/-/is-wsl-2.2.0.tgz", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - - "isarray": ["isarray@1.0.0", "https://npm.corp.kuaishou.com/isarray/-/isarray-1.0.0.tgz", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], - - "isexe": ["isexe@4.0.0", "https://npm.corp.kuaishou.com/isexe/-/isexe-4.0.0.tgz", {}, "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw=="], - - "istanbul-lib-coverage": ["istanbul-lib-coverage@3.2.2", "https://npm.corp.kuaishou.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", {}, "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg=="], - - "istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "https://npm.corp.kuaishou.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], - - "jackspeak": ["jackspeak@3.4.3", "https://npm.corp.kuaishou.com/jackspeak/-/jackspeak-3.4.3.tgz", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - - "jest-environment-node": ["jest-environment-node@29.7.0", "https://npm.corp.kuaishou.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw=="], - - "jest-get-type": ["jest-get-type@29.6.3", "https://npm.corp.kuaishou.com/jest-get-type/-/jest-get-type-29.6.3.tgz", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="], - - "jest-haste-map": ["jest-haste-map@29.7.0", "https://npm.corp.kuaishou.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA=="], - - "jest-message-util": ["jest-message-util@29.7.0", "https://npm.corp.kuaishou.com/jest-message-util/-/jest-message-util-29.7.0.tgz", { "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", "pretty-format": "^29.7.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w=="], - - "jest-mock": ["jest-mock@29.7.0", "https://npm.corp.kuaishou.com/jest-mock/-/jest-mock-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "jest-util": "^29.7.0" } }, "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw=="], - - "jest-regex-util": ["jest-regex-util@29.6.3", "https://npm.corp.kuaishou.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz", {}, "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg=="], - - "jest-util": ["jest-util@29.7.0", "https://npm.corp.kuaishou.com/jest-util/-/jest-util-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" } }, "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA=="], - - "jest-validate": ["jest-validate@29.7.0", "https://npm.corp.kuaishou.com/jest-validate/-/jest-validate-29.7.0.tgz", { "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", "pretty-format": "^29.7.0" } }, "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw=="], - - "jest-worker": ["jest-worker@29.7.0", "https://npm.corp.kuaishou.com/jest-worker/-/jest-worker-29.7.0.tgz", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="], - - "jiti": ["jiti@2.6.1", "https://npm.corp.kuaishou.com/jiti/-/jiti-2.6.1.tgz", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], - - "joi": ["joi@17.13.3", "https://npm.corp.kuaishou.com/joi/-/joi-17.13.3.tgz", { "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", "@sideway/address": "^4.1.5", "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } }, "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA=="], - - "js-tokens": ["js-tokens@4.0.0", "https://npm.corp.kuaishou.com/js-tokens/-/js-tokens-4.0.0.tgz", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - - "js-yaml": ["js-yaml@3.14.2", "https://npm.corp.kuaishou.com/js-yaml/-/js-yaml-3.14.2.tgz", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], - - "jsc-safe-url": ["jsc-safe-url@0.2.4", "https://npm.corp.kuaishou.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", {}, "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q=="], - - "jsdom": ["jsdom@28.1.0", "https://npm.corp.kuaishou.com/jsdom/-/jsdom-28.1.0.tgz", { "dependencies": { "@acemir/cssom": "^0.9.31", "@asamuzakjp/dom-selector": "^6.8.1", "@bramus/specificity": "^2.4.2", "@exodus/bytes": "^1.11.0", "cssstyle": "^6.0.1", "data-urls": "^7.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^6.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "parse5": "^8.0.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^6.0.0", "undici": "^7.21.0", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", "whatwg-url": "^16.0.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" } }, "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug=="], - - "jsesc": ["jsesc@3.1.0", "https://npm.corp.kuaishou.com/jsesc/-/jsesc-3.1.0.tgz", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - - "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "https://npm.corp.kuaishou.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], - - "json5": ["json5@2.2.3", "https://npm.corp.kuaishou.com/json5/-/json5-2.2.3.tgz", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], - - "jsonfile": ["jsonfile@4.0.0", "https://npm.corp.kuaishou.com/jsonfile/-/jsonfile-4.0.0.tgz", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "jszip": ["jszip@3.10.1", "https://npm.corp.kuaishou.com/jszip/-/jszip-3.10.1.tgz", { "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "setimmediate": "^1.0.5" } }, "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g=="], - - "kleur": ["kleur@3.0.3", "https://npm.corp.kuaishou.com/kleur/-/kleur-3.0.3.tgz", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - - "launch-editor": ["launch-editor@2.13.1", "https://npm.corp.kuaishou.com/launch-editor/-/launch-editor-2.13.1.tgz", { "dependencies": { "picocolors": "^1.1.1", "shell-quote": "^1.8.3" } }, "sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA=="], - - "lazystream": ["lazystream@1.0.1", "https://npm.corp.kuaishou.com/lazystream/-/lazystream-1.0.1.tgz", { "dependencies": { "readable-stream": "^2.0.5" } }, "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw=="], - - "less": ["less@4.6.3", "https://npm.corp.kuaishou.com/less/-/less-4.6.3.tgz", { "dependencies": { "copy-anything": "^3.0.5", "parse-node-version": "^1.0.1" }, "optionalDependencies": { "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", "make-dir": "^2.1.0", "mime": "^1.4.1", "needle": "^3.1.0", "source-map": "~0.6.0" }, "bin": { "lessc": "bin/lessc" } }, "sha512-xxjVIiz0rvWAhx49t8YLA/Dj6Uig4XdJgTRI5hbYHGmiDSh+S8hi2Wxsed2trjl/uur4kbW2+e2a8Mrk9Rcgbw=="], - - "leven": ["leven@3.1.0", "https://npm.corp.kuaishou.com/leven/-/leven-3.1.0.tgz", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="], - - "lie": ["lie@3.3.0", "https://npm.corp.kuaishou.com/lie/-/lie-3.3.0.tgz", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ=="], - - "lighthouse-logger": ["lighthouse-logger@1.4.2", "https://npm.corp.kuaishou.com/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", { "dependencies": { "debug": "^2.6.9", "marky": "^1.2.2" } }, "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g=="], - - "lightningcss": ["lightningcss@1.32.0", "https://npm.corp.kuaishou.com/lightningcss/-/lightningcss-1.32.0.tgz", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], - - "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", {}, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], - - "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", {}, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], - - "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", {}, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], - - "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", {}, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], - - "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", {}, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], - - "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", {}, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], - - "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", {}, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], - - "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", {}, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], - - "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", {}, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], - - "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", {}, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], - - "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "https://npm.corp.kuaishou.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", {}, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], - - "lines-and-columns": ["lines-and-columns@1.2.4", "https://npm.corp.kuaishou.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - - "locate-app": ["locate-app@2.5.0", "https://npm.corp.kuaishou.com/locate-app/-/locate-app-2.5.0.tgz", { "dependencies": { "@promptbook/utils": "0.69.5", "type-fest": "4.26.0", "userhome": "1.0.1" } }, "sha512-xIqbzPMBYArJRmPGUZD9CzV9wOqmVtQnaAn3wrj3s6WYW0bQvPI7x+sPYUGmDTYMHefVK//zc6HEYZ1qnxIK+Q=="], - - "locate-path": ["locate-path@6.0.0", "https://npm.corp.kuaishou.com/locate-path/-/locate-path-6.0.0.tgz", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], - - "lodash": ["lodash@4.17.23", "https://npm.corp.kuaishou.com/lodash/-/lodash-4.17.23.tgz", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="], - - "lodash.clonedeep": ["lodash.clonedeep@4.5.0", "https://npm.corp.kuaishou.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", {}, "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="], - - "lodash.debounce": ["lodash.debounce@4.0.8", "https://npm.corp.kuaishou.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", {}, "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="], - - "lodash.throttle": ["lodash.throttle@4.1.1", "https://npm.corp.kuaishou.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", {}, "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="], - - "lodash.zip": ["lodash.zip@4.2.0", "https://npm.corp.kuaishou.com/lodash.zip/-/lodash.zip-4.2.0.tgz", {}, "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg=="], - - "log-symbols": ["log-symbols@4.1.0", "https://npm.corp.kuaishou.com/log-symbols/-/log-symbols-4.1.0.tgz", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], - - "logkitty": ["logkitty@0.7.1", "https://npm.corp.kuaishou.com/logkitty/-/logkitty-0.7.1.tgz", { "dependencies": { "ansi-fragments": "^0.2.1", "dayjs": "^1.8.15", "yargs": "^15.1.0" }, "bin": { "logkitty": "bin/logkitty.js" } }, "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ=="], - - "loglevel": ["loglevel@1.9.2", "https://npm.corp.kuaishou.com/loglevel/-/loglevel-1.9.2.tgz", {}, "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg=="], - - "loglevel-plugin-prefix": ["loglevel-plugin-prefix@0.8.4", "https://npm.corp.kuaishou.com/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz", {}, "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g=="], - - "loose-envify": ["loose-envify@1.4.0", "https://npm.corp.kuaishou.com/loose-envify/-/loose-envify-1.4.0.tgz", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], - - "loupe": ["loupe@3.2.1", "https://npm.corp.kuaishou.com/loupe/-/loupe-3.2.1.tgz", {}, "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ=="], - - "lru-cache": ["lru-cache@11.2.6", "https://npm.corp.kuaishou.com/lru-cache/-/lru-cache-11.2.6.tgz", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="], - - "lz-string": ["lz-string@1.5.0", "https://npm.corp.kuaishou.com/lz-string/-/lz-string-1.5.0.tgz", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="], - - "magic-string": ["magic-string@0.30.21", "https://npm.corp.kuaishou.com/magic-string/-/magic-string-0.30.21.tgz", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - - "make-dir": ["make-dir@2.1.0", "https://npm.corp.kuaishou.com/make-dir/-/make-dir-2.1.0.tgz", { "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" } }, "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA=="], - - "makeerror": ["makeerror@1.0.12", "https://npm.corp.kuaishou.com/makeerror/-/makeerror-1.0.12.tgz", { "dependencies": { "tmpl": "1.0.5" } }, "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg=="], - - "marky": ["marky@1.3.0", "https://npm.corp.kuaishou.com/marky/-/marky-1.3.0.tgz", {}, "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ=="], - - "math-intrinsics": ["math-intrinsics@1.1.0", "https://npm.corp.kuaishou.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - - "mdn-data": ["mdn-data@2.27.1", "https://npm.corp.kuaishou.com/mdn-data/-/mdn-data-2.27.1.tgz", {}, "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ=="], - - "media-typer": ["media-typer@1.1.0", "https://npm.corp.kuaishou.com/media-typer/-/media-typer-1.1.0.tgz", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], - - "memoize-one": ["memoize-one@5.2.1", "https://npm.corp.kuaishou.com/memoize-one/-/memoize-one-5.2.1.tgz", {}, "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="], - - "merge-stream": ["merge-stream@2.0.0", "https://npm.corp.kuaishou.com/merge-stream/-/merge-stream-2.0.0.tgz", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], - - "merge2": ["merge2@1.4.1", "https://npm.corp.kuaishou.com/merge2/-/merge2-1.4.1.tgz", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - - "metro": ["metro@0.83.5", "https://npm.corp.kuaishou.com/metro/-/metro-0.83.5.tgz", { "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/core": "^7.25.2", "@babel/generator": "^7.29.1", "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "accepts": "^2.0.0", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "hermes-parser": "0.33.3", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", "metro-babel-transformer": "0.83.5", "metro-cache": "0.83.5", "metro-cache-key": "0.83.5", "metro-config": "0.83.5", "metro-core": "0.83.5", "metro-file-map": "0.83.5", "metro-resolver": "0.83.5", "metro-runtime": "0.83.5", "metro-source-map": "0.83.5", "metro-symbolicate": "0.83.5", "metro-transform-plugins": "0.83.5", "metro-transform-worker": "0.83.5", "mime-types": "^3.0.1", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" } }, "sha512-BgsXevY1MBac/3ZYv/RfNFf/4iuW9X7f4H8ZNkiH+r667HD9sVujxcmu4jvEzGCAm4/WyKdZCuyhAcyhTHOucQ=="], - - "metro-babel-transformer": ["metro-babel-transformer@0.83.5", "https://npm.corp.kuaishou.com/metro-babel-transformer/-/metro-babel-transformer-0.83.5.tgz", { "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", "hermes-parser": "0.33.3", "nullthrows": "^1.1.1" } }, "sha512-d9FfmgUEVejTiSb7bkQeLRGl6aeno2UpuPm3bo3rCYwxewj03ymvOn8s8vnS4fBqAPQ+cE9iQM40wh7nGXR+eA=="], - - "metro-cache": ["metro-cache@0.83.5", "https://npm.corp.kuaishou.com/metro-cache/-/metro-cache-0.83.5.tgz", { "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", "metro-core": "0.83.5" } }, "sha512-oH+s4U+IfZyg8J42bne2Skc90rcuESIYf86dYittcdWQtPfcaFXWpByPyTuWk3rR1Zz3Eh5HOrcVImfEhhJLng=="], - - "metro-cache-key": ["metro-cache-key@0.83.5", "https://npm.corp.kuaishou.com/metro-cache-key/-/metro-cache-key-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-Ycl8PBajB7bhbAI7Rt0xEyiF8oJ0RWX8EKkolV1KfCUlC++V/GStMSGpPLwnnBZXZWkCC5edBPzv1Hz1Yi0Euw=="], - - "metro-config": ["metro-config@0.83.5", "https://npm.corp.kuaishou.com/metro-config/-/metro-config-0.83.5.tgz", { "dependencies": { "connect": "^3.6.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", "metro": "0.83.5", "metro-cache": "0.83.5", "metro-core": "0.83.5", "metro-runtime": "0.83.5", "yaml": "^2.6.1" } }, "sha512-JQ/PAASXH7yczgV6OCUSRhZYME+NU8NYjI2RcaG5ga4QfQ3T/XdiLzpSb3awWZYlDCcQb36l4Vl7i0Zw7/Tf9w=="], - - "metro-core": ["metro-core@0.83.5", "https://npm.corp.kuaishou.com/metro-core/-/metro-core-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", "metro-resolver": "0.83.5" } }, "sha512-YcVcLCrf0ed4mdLa82Qob0VxYqfhmlRxUS8+TO4gosZo/gLwSvtdeOjc/Vt0pe/lvMNrBap9LlmvZM8FIsMgJQ=="], - - "metro-file-map": ["metro-file-map@0.83.5", "https://npm.corp.kuaishou.com/metro-file-map/-/metro-file-map-0.83.5.tgz", { "dependencies": { "debug": "^4.4.0", "fb-watchman": "^2.0.0", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1", "walker": "^1.0.7" } }, "sha512-ZEt8s3a1cnYbn40nyCD+CsZdYSlwtFh2kFym4lo+uvfM+UMMH+r/BsrC6rbNClSrt+B7rU9T+Te/sh/NL8ZZKQ=="], - - "metro-minify-terser": ["metro-minify-terser@0.83.5", "https://npm.corp.kuaishou.com/metro-minify-terser/-/metro-minify-terser-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" } }, "sha512-Toe4Md1wS1PBqbvB0cFxBzKEVyyuYTUb0sgifAZh/mSvLH84qA1NAWik9sISWatzvfWf3rOGoUoO5E3f193a3Q=="], - - "metro-resolver": ["metro-resolver@0.83.5", "https://npm.corp.kuaishou.com/metro-resolver/-/metro-resolver-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-7p3GtzVUpbAweJeCcUJihJeOQl1bDuimO5ueo1K0BUpUtR41q5EilbQ3klt16UTPPMpA+tISWBtsrqU556mY1A=="], - - "metro-runtime": ["metro-runtime@0.83.5", "https://npm.corp.kuaishou.com/metro-runtime/-/metro-runtime-0.83.5.tgz", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-f+b3ue9AWTVlZe2Xrki6TAoFtKIqw30jwfk7GQ1rDUBQaE0ZQ+NkiMEtb9uwH7uAjJ87U7Tdx1Jg1OJqUfEVlA=="], - - "metro-source-map": ["metro-source-map@0.83.5", "https://npm.corp.kuaishou.com/metro-source-map/-/metro-source-map-0.83.5.tgz", { "dependencies": { "@babel/traverse": "^7.29.0", "@babel/types": "^7.29.0", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.5", "nullthrows": "^1.1.1", "ob1": "0.83.5", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-VT9bb2KO2/4tWY9Z2yeZqTUao7CicKAOps9LUg2aQzsz+04QyuXL3qgf1cLUVRjA/D6G5u1RJAlN1w9VNHtODQ=="], - - "metro-symbolicate": ["metro-symbolicate@0.83.5", "https://npm.corp.kuaishou.com/metro-symbolicate/-/metro-symbolicate-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.5", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-EMIkrjNRz/hF+p0RDdxoE60+dkaTLPN3vaaGkFmX5lvFdO6HPfHA/Ywznzkev+za0VhPQ5KSdz49/MALBRteHA=="], - - "metro-transform-plugins": ["metro-transform-plugins@0.83.5", "https://npm.corp.kuaishou.com/metro-transform-plugins/-/metro-transform-plugins-0.83.5.tgz", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.29.1", "@babel/template": "^7.28.6", "@babel/traverse": "^7.29.0", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" } }, "sha512-KxYKzZL+lt3Os5H2nx7YkbkWVduLZL5kPrE/Yq+Prm/DE1VLhpfnO6HtPs8vimYFKOa58ncl60GpoX0h7Wm0Vw=="], - - "metro-transform-worker": ["metro-transform-worker@0.83.5", "https://npm.corp.kuaishou.com/metro-transform-worker/-/metro-transform-worker-0.83.5.tgz", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.29.1", "@babel/parser": "^7.29.0", "@babel/types": "^7.29.0", "flow-enums-runtime": "^0.0.6", "metro": "0.83.5", "metro-babel-transformer": "0.83.5", "metro-cache": "0.83.5", "metro-cache-key": "0.83.5", "metro-minify-terser": "0.83.5", "metro-source-map": "0.83.5", "metro-transform-plugins": "0.83.5", "nullthrows": "^1.1.1" } }, "sha512-8N4pjkNXc6ytlP9oAM6MwqkvUepNSW39LKYl9NjUMpRDazBQ7oBpQDc8Sz4aI8jnH6AGhF7s1m/ayxkN1t04yA=="], - - "micromatch": ["micromatch@4.0.8", "https://npm.corp.kuaishou.com/micromatch/-/micromatch-4.0.8.tgz", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - - "mime": ["mime@1.6.0", "https://npm.corp.kuaishou.com/mime/-/mime-1.6.0.tgz", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], - - "mime-db": ["mime-db@1.54.0", "https://npm.corp.kuaishou.com/mime-db/-/mime-db-1.54.0.tgz", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], - - "mime-types": ["mime-types@3.0.2", "https://npm.corp.kuaishou.com/mime-types/-/mime-types-3.0.2.tgz", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A=="], - - "mimic-fn": ["mimic-fn@2.1.0", "https://npm.corp.kuaishou.com/mimic-fn/-/mimic-fn-2.1.0.tgz", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - - "mimic-response": ["mimic-response@3.1.0", "https://npm.corp.kuaishou.com/mimic-response/-/mimic-response-3.1.0.tgz", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], - - "minimatch": ["minimatch@9.0.9", "https://npm.corp.kuaishou.com/minimatch/-/minimatch-9.0.9.tgz", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], - - "minimist": ["minimist@1.2.8", "https://npm.corp.kuaishou.com/minimist/-/minimist-1.2.8.tgz", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], - - "minipass": ["minipass@7.1.3", "https://npm.corp.kuaishou.com/minipass/-/minipass-7.1.3.tgz", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], - - "mitt": ["mitt@3.0.1", "https://npm.corp.kuaishou.com/mitt/-/mitt-3.0.1.tgz", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], - - "mkdirp": ["mkdirp@1.0.4", "https://npm.corp.kuaishou.com/mkdirp/-/mkdirp-1.0.4.tgz", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], - - "mkdirp-classic": ["mkdirp-classic@0.5.3", "https://npm.corp.kuaishou.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], - - "modern-tar": ["modern-tar@0.7.5", "https://npm.corp.kuaishou.com/modern-tar/-/modern-tar-0.7.5.tgz", {}, "sha512-YTefgdpKKFgoTDbEUqXqgUJct2OG6/4hs4XWLsxcHkDLj/x/V8WmKIRppPnXP5feQ7d1vuYWSp3qKkxfwaFaxA=="], - - "mrmime": ["mrmime@2.0.1", "https://npm.corp.kuaishou.com/mrmime/-/mrmime-2.0.1.tgz", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], - - "ms": ["ms@2.1.3", "https://npm.corp.kuaishou.com/ms/-/ms-2.1.3.tgz", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - - "msw": ["msw@2.12.10", "https://npm.corp.kuaishou.com/msw/-/msw-2.12.10.tgz", { "dependencies": { "@inquirer/confirm": "^5.0.0", "@mswjs/interceptors": "^0.41.2", "@open-draft/deferred-promise": "^2.2.0", "@types/statuses": "^2.0.6", "cookie": "^1.0.2", "graphql": "^16.12.0", "headers-polyfill": "^4.0.2", "is-node-process": "^1.2.0", "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "rettime": "^0.10.1", "statuses": "^2.0.2", "strict-event-emitter": "^0.5.1", "tough-cookie": "^6.0.0", "type-fest": "^5.2.0", "until-async": "^3.0.2", "yargs": "^17.7.2" }, "peerDependencies": { "typescript": ">= 4.8.x" }, "bin": { "msw": "cli/index.js" } }, "sha512-G3VUymSE0/iegFnuipujpwyTM2GuZAKXNeerUSrG2+Eg391wW63xFs5ixWsK9MWzr1AGoSkYGmyAzNgbR3+urw=="], - - "mute-stream": ["mute-stream@2.0.0", "https://npm.corp.kuaishou.com/mute-stream/-/mute-stream-2.0.0.tgz", {}, "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA=="], - - "nanoid": ["nanoid@3.3.11", "https://npm.corp.kuaishou.com/nanoid/-/nanoid-3.3.11.tgz", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - - "napi-build-utils": ["napi-build-utils@2.0.0", "https://npm.corp.kuaishou.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="], - - "needle": ["needle@3.3.1", "https://npm.corp.kuaishou.com/needle/-/needle-3.3.1.tgz", { "dependencies": { "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, "bin": { "needle": "bin/needle" } }, "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q=="], - - "negotiator": ["negotiator@1.0.0", "https://npm.corp.kuaishou.com/negotiator/-/negotiator-1.0.0.tgz", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - - "netmask": ["netmask@2.0.2", "https://npm.corp.kuaishou.com/netmask/-/netmask-2.0.2.tgz", {}, "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg=="], - - "nocache": ["nocache@3.0.4", "https://npm.corp.kuaishou.com/nocache/-/nocache-3.0.4.tgz", {}, "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw=="], - - "node-abi": ["node-abi@3.88.0", "https://npm.corp.kuaishou.com/node-abi/-/node-abi-3.88.0.tgz", { "dependencies": { "semver": "^7.3.5" } }, "sha512-At6b4UqIEVudaqPsXjmUO1r/N5BUr4yhDGs5PkBE8/oG5+TfLPhFechiskFsnT6Ql0VfUXbalUUCbfXxtj7K+w=="], - - "node-addon-api": ["node-addon-api@7.1.1", "https://npm.corp.kuaishou.com/node-addon-api/-/node-addon-api-7.1.1.tgz", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="], - - "node-gyp-build": ["node-gyp-build@4.8.4", "https://npm.corp.kuaishou.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], - - "node-int64": ["node-int64@0.4.0", "https://npm.corp.kuaishou.com/node-int64/-/node-int64-0.4.0.tgz", {}, "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw=="], - - "node-releases": ["node-releases@2.0.36", "https://npm.corp.kuaishou.com/node-releases/-/node-releases-2.0.36.tgz", {}, "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA=="], - - "node-stream-zip": ["node-stream-zip@1.15.0", "https://npm.corp.kuaishou.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz", {}, "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw=="], - - "normalize-path": ["normalize-path@3.0.0", "https://npm.corp.kuaishou.com/normalize-path/-/normalize-path-3.0.0.tgz", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - - "npm-run-path": ["npm-run-path@4.0.1", "https://npm.corp.kuaishou.com/npm-run-path/-/npm-run-path-4.0.1.tgz", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], - - "nth-check": ["nth-check@2.1.1", "https://npm.corp.kuaishou.com/nth-check/-/nth-check-2.1.1.tgz", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], - - "nullthrows": ["nullthrows@1.1.1", "https://npm.corp.kuaishou.com/nullthrows/-/nullthrows-1.1.1.tgz", {}, "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="], - - "ob1": ["ob1@0.83.5", "https://npm.corp.kuaishou.com/ob1/-/ob1-0.83.5.tgz", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-vNKPYC8L5ycVANANpF/S+WZHpfnRWKx/F3AYP4QMn6ZJTh+l2HOrId0clNkEmua58NB9vmI9Qh7YOoV/4folYg=="], - - "object-inspect": ["object-inspect@1.13.4", "https://npm.corp.kuaishou.com/object-inspect/-/object-inspect-1.13.4.tgz", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - - "on-finished": ["on-finished@2.3.0", "https://npm.corp.kuaishou.com/on-finished/-/on-finished-2.3.0.tgz", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww=="], - - "on-headers": ["on-headers@1.1.0", "https://npm.corp.kuaishou.com/on-headers/-/on-headers-1.1.0.tgz", {}, "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A=="], - - "once": ["once@1.4.0", "https://npm.corp.kuaishou.com/once/-/once-1.4.0.tgz", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - - "onetime": ["onetime@5.1.2", "https://npm.corp.kuaishou.com/onetime/-/onetime-5.1.2.tgz", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - - "open": ["open@7.4.2", "https://npm.corp.kuaishou.com/open/-/open-7.4.2.tgz", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], - - "ora": ["ora@5.4.1", "https://npm.corp.kuaishou.com/ora/-/ora-5.4.1.tgz", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], - - "outvariant": ["outvariant@1.4.3", "https://npm.corp.kuaishou.com/outvariant/-/outvariant-1.4.3.tgz", {}, "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA=="], - - "p-limit": ["p-limit@3.1.0", "https://npm.corp.kuaishou.com/p-limit/-/p-limit-3.1.0.tgz", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], - - "p-locate": ["p-locate@5.0.0", "https://npm.corp.kuaishou.com/p-locate/-/p-locate-5.0.0.tgz", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - - "p-try": ["p-try@2.2.0", "https://npm.corp.kuaishou.com/p-try/-/p-try-2.2.0.tgz", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="], - - "pac-proxy-agent": ["pac-proxy-agent@7.2.0", "https://npm.corp.kuaishou.com/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="], - - "pac-resolver": ["pac-resolver@7.0.1", "https://npm.corp.kuaishou.com/pac-resolver/-/pac-resolver-7.0.1.tgz", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="], - - "package-json-from-dist": ["package-json-from-dist@1.0.1", "https://npm.corp.kuaishou.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - - "pako": ["pako@1.0.11", "https://npm.corp.kuaishou.com/pako/-/pako-1.0.11.tgz", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], - - "parent-module": ["parent-module@1.0.1", "https://npm.corp.kuaishou.com/parent-module/-/parent-module-1.0.1.tgz", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], - - "parse-json": ["parse-json@5.2.0", "https://npm.corp.kuaishou.com/parse-json/-/parse-json-5.2.0.tgz", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], - - "parse-node-version": ["parse-node-version@1.0.1", "https://npm.corp.kuaishou.com/parse-node-version/-/parse-node-version-1.0.1.tgz", {}, "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="], - - "parse5": ["parse5@8.0.0", "https://npm.corp.kuaishou.com/parse5/-/parse5-8.0.0.tgz", { "dependencies": { "entities": "^6.0.0" } }, "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA=="], - - "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "https://npm.corp.kuaishou.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="], - - "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "https://npm.corp.kuaishou.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="], - - "parseurl": ["parseurl@1.3.3", "https://npm.corp.kuaishou.com/parseurl/-/parseurl-1.3.3.tgz", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], - - "path-exists": ["path-exists@4.0.0", "https://npm.corp.kuaishou.com/path-exists/-/path-exists-4.0.0.tgz", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - - "path-expression-matcher": ["path-expression-matcher@1.1.3", "https://npm.corp.kuaishou.com/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz", {}, "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ=="], - - "path-is-absolute": ["path-is-absolute@1.0.1", "https://npm.corp.kuaishou.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], - - "path-key": ["path-key@3.1.1", "https://npm.corp.kuaishou.com/path-key/-/path-key-3.1.1.tgz", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], - - "path-parse": ["path-parse@1.0.7", "https://npm.corp.kuaishou.com/path-parse/-/path-parse-1.0.7.tgz", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - - "path-scurry": ["path-scurry@1.11.1", "https://npm.corp.kuaishou.com/path-scurry/-/path-scurry-1.11.1.tgz", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - - "path-to-regexp": ["path-to-regexp@6.3.0", "https://npm.corp.kuaishou.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz", {}, "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ=="], - - "pathe": ["pathe@1.1.2", "https://npm.corp.kuaishou.com/pathe/-/pathe-1.1.2.tgz", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], - - "pathval": ["pathval@2.0.1", "https://npm.corp.kuaishou.com/pathval/-/pathval-2.0.1.tgz", {}, "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ=="], - - "pend": ["pend@1.2.0", "https://npm.corp.kuaishou.com/pend/-/pend-1.2.0.tgz", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="], - - "picocolors": ["picocolors@1.1.1", "https://npm.corp.kuaishou.com/picocolors/-/picocolors-1.1.1.tgz", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@4.0.3", "https://npm.corp.kuaishou.com/picomatch/-/picomatch-4.0.3.tgz", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], - - "pify": ["pify@4.0.1", "https://npm.corp.kuaishou.com/pify/-/pify-4.0.1.tgz", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="], - - "pirates": ["pirates@4.0.7", "https://npm.corp.kuaishou.com/pirates/-/pirates-4.0.7.tgz", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], - - "playwright": ["playwright@1.58.2", "https://npm.corp.kuaishou.com/playwright/-/playwright-1.58.2.tgz", { "dependencies": { "playwright-core": "1.58.2" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A=="], - - "playwright-core": ["playwright-core@1.58.2", "https://npm.corp.kuaishou.com/playwright-core/-/playwright-core-1.58.2.tgz", { "bin": { "playwright-core": "cli.js" } }, "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg=="], - - "postcss": ["postcss@8.5.8", "https://npm.corp.kuaishou.com/postcss/-/postcss-8.5.8.tgz", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="], - - "prebuild-install": ["prebuild-install@7.1.3", "https://npm.corp.kuaishou.com/prebuild-install/-/prebuild-install-7.1.3.tgz", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="], - - "pretty-format": ["pretty-format@27.5.1", "https://npm.corp.kuaishou.com/pretty-format/-/pretty-format-27.5.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], - - "process": ["process@0.11.10", "https://npm.corp.kuaishou.com/process/-/process-0.11.10.tgz", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="], - - "process-nextick-args": ["process-nextick-args@2.0.1", "https://npm.corp.kuaishou.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], - - "progress": ["progress@2.0.3", "https://npm.corp.kuaishou.com/progress/-/progress-2.0.3.tgz", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="], - - "promise": ["promise@8.3.0", "https://npm.corp.kuaishou.com/promise/-/promise-8.3.0.tgz", { "dependencies": { "asap": "~2.0.6" } }, "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg=="], - - "prompts": ["prompts@2.4.2", "https://npm.corp.kuaishou.com/prompts/-/prompts-2.4.2.tgz", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - - "proxy-agent": ["proxy-agent@6.5.0", "https://npm.corp.kuaishou.com/proxy-agent/-/proxy-agent-6.5.0.tgz", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "http-proxy-agent": "^7.0.1", "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "^8.0.5" } }, "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A=="], - - "proxy-from-env": ["proxy-from-env@1.1.0", "https://npm.corp.kuaishou.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], - - "prr": ["prr@1.0.1", "https://npm.corp.kuaishou.com/prr/-/prr-1.0.1.tgz", {}, "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw=="], - - "pump": ["pump@3.0.4", "https://npm.corp.kuaishou.com/pump/-/pump-3.0.4.tgz", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA=="], - - "punycode": ["punycode@2.3.1", "https://npm.corp.kuaishou.com/punycode/-/punycode-2.3.1.tgz", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], - - "puppeteer-core": ["puppeteer-core@24.39.0", "https://npm.corp.kuaishou.com/puppeteer-core/-/puppeteer-core-24.39.0.tgz", { "dependencies": { "@puppeteer/browsers": "2.13.0", "chromium-bidi": "14.0.0", "debug": "^4.4.3", "devtools-protocol": "0.0.1581282", "typed-query-selector": "^2.12.1", "webdriver-bidi-protocol": "0.4.1", "ws": "^8.19.0" } }, "sha512-SzIxz76Kgu17HUIi57HOejPiN0JKa9VCd2GcPY1sAh6RA4BzGZarFQdOYIYrBdUVbtyH7CrDb9uhGEwVXK/YNA=="], - - "qs": ["qs@6.15.0", "https://npm.corp.kuaishou.com/qs/-/qs-6.15.0.tgz", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ=="], - - "query-selector-shadow-dom": ["query-selector-shadow-dom@1.0.1", "https://npm.corp.kuaishou.com/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.1.tgz", {}, "sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw=="], - - "queue": ["queue@6.0.2", "https://npm.corp.kuaishou.com/queue/-/queue-6.0.2.tgz", { "dependencies": { "inherits": "~2.0.3" } }, "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA=="], - - "queue-microtask": ["queue-microtask@1.2.3", "https://npm.corp.kuaishou.com/queue-microtask/-/queue-microtask-1.2.3.tgz", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], - - "range-parser": ["range-parser@1.2.1", "https://npm.corp.kuaishou.com/range-parser/-/range-parser-1.2.1.tgz", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], - - "raw-body": ["raw-body@3.0.2", "https://npm.corp.kuaishou.com/raw-body/-/raw-body-3.0.2.tgz", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.7.0", "unpipe": "~1.0.0" } }, "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA=="], - - "rc": ["rc@1.2.8", "https://npm.corp.kuaishou.com/rc/-/rc-1.2.8.tgz", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], - - "react": ["react@19.2.4", "https://npm.corp.kuaishou.com/react/-/react-19.2.4.tgz", {}, "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ=="], - - "react-devtools-core": ["react-devtools-core@6.1.5", "https://npm.corp.kuaishou.com/react-devtools-core/-/react-devtools-core-6.1.5.tgz", { "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" } }, "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA=="], - - "react-is": ["react-is@17.0.2", "https://npm.corp.kuaishou.com/react-is/-/react-is-17.0.2.tgz", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], - - "react-native": ["react-native@0.84.1", "https://npm.corp.kuaishou.com/react-native/-/react-native-0.84.1.tgz", { "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@react-native/assets-registry": "0.84.1", "@react-native/codegen": "0.84.1", "@react-native/community-cli-plugin": "0.84.1", "@react-native/gradle-plugin": "0.84.1", "@react-native/js-polyfills": "0.84.1", "@react-native/normalize-colors": "0.84.1", "@react-native/virtualized-lists": "0.84.1", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", "babel-plugin-syntax-hermes-parser": "0.32.0", "base64-js": "^1.5.1", "commander": "^12.0.0", "flow-enums-runtime": "^0.0.6", "hermes-compiler": "250829098.0.9", "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.83.3", "metro-source-map": "^0.83.3", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.27.0", "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "tinyglobby": "^0.2.15", "whatwg-fetch": "^3.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "peerDependencies": { "@types/react": "^19.1.1", "react": "^19.2.3" }, "bin": { "react-native": "cli.js" } }, "sha512-0PjxOyXRu3tZ8EobabxSukvhKje2HJbsZikR0U+pvS0pYZza2hXKjcSBiBdFN4h9D0S3v6a8kkrDK6WTRKMwzg=="], - - "react-native-b4a": ["react-native-b4a@0.1.0", "https://npm.corp.kuaishou.com/react-native-b4a/-/react-native-b4a-0.1.0.tgz", { "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-NpkV/mDIe3Yme6E3kZBhqyN7BoKwHfw3vv2vY0h4fz5Wd0ElICsWnzGAS7W8aUVL45hIUk7nJgzrikEGXQlavA=="], - - "react-refresh": ["react-refresh@0.14.2", "https://npm.corp.kuaishou.com/react-refresh/-/react-refresh-0.14.2.tgz", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], - - "readable-stream": ["readable-stream@4.7.0", "https://npm.corp.kuaishou.com/readable-stream/-/readable-stream-4.7.0.tgz", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], - - "readdir-glob": ["readdir-glob@1.1.3", "https://npm.corp.kuaishou.com/readdir-glob/-/readdir-glob-1.1.3.tgz", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="], - - "readdirp": ["readdirp@4.1.2", "https://npm.corp.kuaishou.com/readdirp/-/readdirp-4.1.2.tgz", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - - "regenerate": ["regenerate@1.4.2", "https://npm.corp.kuaishou.com/regenerate/-/regenerate-1.4.2.tgz", {}, "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="], - - "regenerate-unicode-properties": ["regenerate-unicode-properties@10.2.2", "https://npm.corp.kuaishou.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", { "dependencies": { "regenerate": "^1.4.2" } }, "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g=="], - - "regenerator-runtime": ["regenerator-runtime@0.13.11", "https://npm.corp.kuaishou.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", {}, "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="], - - "regexpu-core": ["regexpu-core@6.4.0", "https://npm.corp.kuaishou.com/regexpu-core/-/regexpu-core-6.4.0.tgz", { "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.2", "regjsgen": "^0.8.0", "regjsparser": "^0.13.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.2.1" } }, "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA=="], - - "regjsgen": ["regjsgen@0.8.0", "https://npm.corp.kuaishou.com/regjsgen/-/regjsgen-0.8.0.tgz", {}, "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q=="], - - "regjsparser": ["regjsparser@0.13.0", "https://npm.corp.kuaishou.com/regjsparser/-/regjsparser-0.13.0.tgz", { "dependencies": { "jsesc": "~3.1.0" }, "bin": { "regjsparser": "bin/parser" } }, "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q=="], - - "require-directory": ["require-directory@2.1.1", "https://npm.corp.kuaishou.com/require-directory/-/require-directory-2.1.1.tgz", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - - "require-from-string": ["require-from-string@2.0.2", "https://npm.corp.kuaishou.com/require-from-string/-/require-from-string-2.0.2.tgz", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - - "require-main-filename": ["require-main-filename@2.0.0", "https://npm.corp.kuaishou.com/require-main-filename/-/require-main-filename-2.0.0.tgz", {}, "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="], - - "resolve": ["resolve@1.22.11", "https://npm.corp.kuaishou.com/resolve/-/resolve-1.22.11.tgz", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], - - "resolve-from": ["resolve-from@5.0.0", "https://npm.corp.kuaishou.com/resolve-from/-/resolve-from-5.0.0.tgz", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - - "resq": ["resq@1.11.0", "https://npm.corp.kuaishou.com/resq/-/resq-1.11.0.tgz", { "dependencies": { "fast-deep-equal": "^2.0.1" } }, "sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw=="], - - "restore-cursor": ["restore-cursor@3.1.0", "https://npm.corp.kuaishou.com/restore-cursor/-/restore-cursor-3.1.0.tgz", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="], - - "ret": ["ret@0.5.0", "https://npm.corp.kuaishou.com/ret/-/ret-0.5.0.tgz", {}, "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw=="], - - "rettime": ["rettime@0.10.1", "https://npm.corp.kuaishou.com/rettime/-/rettime-0.10.1.tgz", {}, "sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw=="], - - "reusify": ["reusify@1.1.0", "https://npm.corp.kuaishou.com/reusify/-/reusify-1.1.0.tgz", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], - - "rgb2hex": ["rgb2hex@0.2.5", "https://npm.corp.kuaishou.com/rgb2hex/-/rgb2hex-0.2.5.tgz", {}, "sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw=="], - - "rimraf": ["rimraf@3.0.2", "https://npm.corp.kuaishou.com/rimraf/-/rimraf-3.0.2.tgz", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="], - - "rollup": ["rollup@4.59.0", "https://npm.corp.kuaishou.com/rollup/-/rollup-4.59.0.tgz", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.59.0", "@rollup/rollup-android-arm64": "4.59.0", "@rollup/rollup-darwin-arm64": "4.59.0", "@rollup/rollup-darwin-x64": "4.59.0", "@rollup/rollup-freebsd-arm64": "4.59.0", "@rollup/rollup-freebsd-x64": "4.59.0", "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", "@rollup/rollup-linux-arm-musleabihf": "4.59.0", "@rollup/rollup-linux-arm64-gnu": "4.59.0", "@rollup/rollup-linux-arm64-musl": "4.59.0", "@rollup/rollup-linux-loong64-gnu": "4.59.0", "@rollup/rollup-linux-loong64-musl": "4.59.0", "@rollup/rollup-linux-ppc64-gnu": "4.59.0", "@rollup/rollup-linux-ppc64-musl": "4.59.0", "@rollup/rollup-linux-riscv64-gnu": "4.59.0", "@rollup/rollup-linux-riscv64-musl": "4.59.0", "@rollup/rollup-linux-s390x-gnu": "4.59.0", "@rollup/rollup-linux-x64-gnu": "4.59.0", "@rollup/rollup-linux-x64-musl": "4.59.0", "@rollup/rollup-openbsd-x64": "4.59.0", "@rollup/rollup-openharmony-arm64": "4.59.0", "@rollup/rollup-win32-arm64-msvc": "4.59.0", "@rollup/rollup-win32-ia32-msvc": "4.59.0", "@rollup/rollup-win32-x64-gnu": "4.59.0", "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg=="], - - "run-parallel": ["run-parallel@1.2.0", "https://npm.corp.kuaishou.com/run-parallel/-/run-parallel-1.2.0.tgz", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - - "rxjs": ["rxjs@7.8.2", "https://npm.corp.kuaishou.com/rxjs/-/rxjs-7.8.2.tgz", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="], - - "safaridriver": ["safaridriver@1.0.1", "https://npm.corp.kuaishou.com/safaridriver/-/safaridriver-1.0.1.tgz", {}, "sha512-jkg4434cYgtrIF2AeY/X0Wmd2W73cK5qIEFE3hDrrQenJH/2SDJIXGvPAigfvQTcE9+H31zkiNHbUqcihEiMRA=="], - - "safe-buffer": ["safe-buffer@5.1.2", "https://npm.corp.kuaishou.com/safe-buffer/-/safe-buffer-5.1.2.tgz", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], - - "safe-regex2": ["safe-regex2@5.0.0", "https://npm.corp.kuaishou.com/safe-regex2/-/safe-regex2-5.0.0.tgz", { "dependencies": { "ret": "~0.5.0" } }, "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw=="], - - "safer-buffer": ["safer-buffer@2.1.2", "https://npm.corp.kuaishou.com/safer-buffer/-/safer-buffer-2.1.2.tgz", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "sass": ["sass@1.98.0", "https://npm.corp.kuaishou.com/sass/-/sass-1.98.0.tgz", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.1.5", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A=="], - - "sass-embedded": ["sass-embedded@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded/-/sass-embedded-1.98.0.tgz", { "dependencies": { "@bufbuild/protobuf": "^2.5.0", "colorjs.io": "^0.5.0", "immutable": "^5.1.5", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-all-unknown": "1.98.0", "sass-embedded-android-arm": "1.98.0", "sass-embedded-android-arm64": "1.98.0", "sass-embedded-android-riscv64": "1.98.0", "sass-embedded-android-x64": "1.98.0", "sass-embedded-darwin-arm64": "1.98.0", "sass-embedded-darwin-x64": "1.98.0", "sass-embedded-linux-arm": "1.98.0", "sass-embedded-linux-arm64": "1.98.0", "sass-embedded-linux-musl-arm": "1.98.0", "sass-embedded-linux-musl-arm64": "1.98.0", "sass-embedded-linux-musl-riscv64": "1.98.0", "sass-embedded-linux-musl-x64": "1.98.0", "sass-embedded-linux-riscv64": "1.98.0", "sass-embedded-linux-x64": "1.98.0", "sass-embedded-unknown-all": "1.98.0", "sass-embedded-win32-arm64": "1.98.0", "sass-embedded-win32-x64": "1.98.0" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-Do7u6iRb6K+lrllcTkB1BXcHwOxcKe3rEfOF/GcCLE2w3WpddakRAosJOHFUR37DpsvimQXEt5abs3NzUjEIqg=="], - - "sass-embedded-all-unknown": ["sass-embedded-all-unknown@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.98.0.tgz", { "dependencies": { "sass": "1.98.0" } }, "sha512-6n4RyK7/1mhdfYvpP3CClS3fGoYqDvRmLClCESS6I7+SAzqjxvGG6u5Fo+cb1nrPNbbilgbM4QKdgcgWHO9NCA=="], - - "sass-embedded-android-arm": ["sass-embedded-android-arm@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.98.0.tgz", {}, "sha512-LjGiMhHgu7VL1n7EJxTCre1x14bUsWd9d3dnkS2rku003IWOI/fxc7OXgaKagoVzok1kv09rzO3vFXJR5ZeONQ=="], - - "sass-embedded-android-arm64": ["sass-embedded-android-arm64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.98.0.tgz", {}, "sha512-M9Ra98A6vYJHpwhoC/5EuH1eOshQ9ZyNwC8XifUDSbRl/cGeQceT1NReR9wFj3L7s1pIbmes1vMmaY2np0uAKQ=="], - - "sass-embedded-android-riscv64": ["sass-embedded-android-riscv64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.98.0.tgz", {}, "sha512-WPe+0NbaJIZE1fq/RfCZANMeIgmy83x4f+SvFOG7LhUthHpZWcOcrPTsCKKmN3xMT3iw+4DXvqTYOCYGRL3hcQ=="], - - "sass-embedded-android-x64": ["sass-embedded-android-x64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.98.0.tgz", {}, "sha512-zrD25dT7OHPEgLWuPEByybnIfx4rnCtfge4clBgjZdZ3lF6E7qNLRBtSBmoFflh6Vg0RlEjJo5VlpnTMBM5MQQ=="], - - "sass-embedded-darwin-arm64": ["sass-embedded-darwin-arm64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.98.0.tgz", {}, "sha512-cgr1z9rBnCdMf8K+JabIaYd9Rag2OJi5mjq08XJfbJGMZV/TA6hFJCLGkr5/+ZOn4/geTM5/3aSfQ8z5EIJAOg=="], - - "sass-embedded-darwin-x64": ["sass-embedded-darwin-x64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.98.0.tgz", {}, "sha512-OLBOCs/NPeiMqTdOrMFbVHBQFj19GS3bSVSxIhcCq16ZyhouUkYJEZjxQgzv9SWA2q6Ki8GCqp4k6jMeUY9dcA=="], - - "sass-embedded-linux-arm": ["sass-embedded-linux-arm@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.98.0.tgz", {}, "sha512-03baQZCxVyEp8v1NWBRlzGYrmVT/LK7ZrHlF1piscGiGxwfdxoLXVuxsylx3qn/dD/4i/rh7Bzk7reK1br9jvQ=="], - - "sass-embedded-linux-arm64": ["sass-embedded-linux-arm64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.98.0.tgz", {}, "sha512-axOE3t2MTBwCtkUCbrdM++Gj0gC0fdHJPrgzQ+q1WUmY9NoNMGqflBtk5mBZaWUeha2qYO3FawxCB8lctFwCtw=="], - - "sass-embedded-linux-musl-arm": ["sass-embedded-linux-musl-arm@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.98.0.tgz", {}, "sha512-OBkjTDPYR4hSaueOGIM6FDpl9nt/VZwbSRpbNu9/eEJcxE8G/vynRugW8KRZmCFjPy8j/jkGBvvS+k9iOqKV3g=="], - - "sass-embedded-linux-musl-arm64": ["sass-embedded-linux-musl-arm64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.98.0.tgz", {}, "sha512-LeqNxQA8y4opjhe68CcFvMzCSrBuJqYVFbwElEj9bagHXQHTp9xVPJRn6VcrC+0VLEDq13HVXMv7RslIuU0zmA=="], - - "sass-embedded-linux-musl-riscv64": ["sass-embedded-linux-musl-riscv64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.98.0.tgz", {}, "sha512-7w6hSuOHKt8FZsmjRb3iGSxEzM87fO9+M8nt5JIQYMhHTj5C+JY/vcske0v715HCVj5e1xyTnbGXf8FcASeAIw=="], - - "sass-embedded-linux-musl-x64": ["sass-embedded-linux-musl-x64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.98.0.tgz", {}, "sha512-QikNyDEJOVqPmxyCFkci8ZdCwEssdItfjQFJB+D+Uy5HFqcS5Lv3d3GxWNX/h1dSb23RPyQdQc267ok5SbEyJw=="], - - "sass-embedded-linux-riscv64": ["sass-embedded-linux-riscv64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.98.0.tgz", {}, "sha512-E7fNytc/v4xFBQKzgzBddV/jretA4ULAPO6XmtBiQu4zZBdBozuSxsQLe2+XXeb0X4S2GIl72V7IPABdqke/vA=="], - - "sass-embedded-linux-x64": ["sass-embedded-linux-x64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.98.0.tgz", {}, "sha512-VsvP0t/uw00mMNPv3vwyYKUrFbqzxQHnRMO+bHdAMjvLw4NFf6mscpym9Bzf+NXwi1ZNKnB6DtXjmcpcvqFqYg=="], - - "sass-embedded-unknown-all": ["sass-embedded-unknown-all@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.98.0.tgz", { "dependencies": { "sass": "1.98.0" } }, "sha512-C4MMzcAo3oEDQnW7L8SBgB9F2Fq5qHPnaYTZRMOH3Mp/7kM4OooBInXpCiiFjLnjY95hzP4KyctVx0uYR6MYlQ=="], - - "sass-embedded-win32-arm64": ["sass-embedded-win32-arm64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.98.0.tgz", {}, "sha512-nP/10xbAiPbhQkMr3zQfXE4TuOxPzWRQe1Hgbi90jv2R4TbzbqQTuZVOaJf7KOAN4L2Bo6XCTRjK5XkVnwZuwQ=="], - - "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.98.0", "https://npm.corp.kuaishou.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.98.0.tgz", {}, "sha512-/lbrVsfbcbdZQ5SJCWcV0NVPd6YRs+FtAnfedp4WbCkO/ZO7Zt/58MvI4X2BVpRY/Nt5ZBo1/7v2gYcQ+J4svQ=="], - - "sax": ["sax@1.4.4", "https://npm.corp.kuaishou.com/sax/-/sax-1.4.4.tgz", {}, "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw=="], - - "saxes": ["saxes@6.0.0", "https://npm.corp.kuaishou.com/saxes/-/saxes-6.0.0.tgz", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], - - "scheduler": ["scheduler@0.27.0", "https://npm.corp.kuaishou.com/scheduler/-/scheduler-0.27.0.tgz", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], - - "semver": ["semver@5.7.2", "https://npm.corp.kuaishou.com/semver/-/semver-5.7.2.tgz", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - - "send": ["send@0.19.2", "https://npm.corp.kuaishou.com/send/-/send-0.19.2.tgz", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "~0.5.2", "http-errors": "~2.0.1", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "~2.4.1", "range-parser": "~1.2.1", "statuses": "~2.0.2" } }, "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg=="], - - "serialize-error": ["serialize-error@12.0.0", "https://npm.corp.kuaishou.com/serialize-error/-/serialize-error-12.0.0.tgz", { "dependencies": { "type-fest": "^4.31.0" } }, "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw=="], - - "serve-static": ["serve-static@1.16.3", "https://npm.corp.kuaishou.com/serve-static/-/serve-static-1.16.3.tgz", { "dependencies": { "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "~0.19.1" } }, "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA=="], - - "set-blocking": ["set-blocking@2.0.0", "https://npm.corp.kuaishou.com/set-blocking/-/set-blocking-2.0.0.tgz", {}, "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="], - - "setimmediate": ["setimmediate@1.0.5", "https://npm.corp.kuaishou.com/setimmediate/-/setimmediate-1.0.5.tgz", {}, "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="], - - "setprototypeof": ["setprototypeof@1.2.0", "https://npm.corp.kuaishou.com/setprototypeof/-/setprototypeof-1.2.0.tgz", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - - "shebang-command": ["shebang-command@2.0.0", "https://npm.corp.kuaishou.com/shebang-command/-/shebang-command-2.0.0.tgz", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], - - "shebang-regex": ["shebang-regex@3.0.0", "https://npm.corp.kuaishou.com/shebang-regex/-/shebang-regex-3.0.0.tgz", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], - - "shell-quote": ["shell-quote@1.8.3", "https://npm.corp.kuaishou.com/shell-quote/-/shell-quote-1.8.3.tgz", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="], - - "side-channel": ["side-channel@1.1.0", "https://npm.corp.kuaishou.com/side-channel/-/side-channel-1.1.0.tgz", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], - - "side-channel-list": ["side-channel-list@1.0.0", "https://npm.corp.kuaishou.com/side-channel-list/-/side-channel-list-1.0.0.tgz", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], - - "side-channel-map": ["side-channel-map@1.0.1", "https://npm.corp.kuaishou.com/side-channel-map/-/side-channel-map-1.0.1.tgz", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - - "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "https://npm.corp.kuaishou.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - - "siginfo": ["siginfo@2.0.0", "https://npm.corp.kuaishou.com/siginfo/-/siginfo-2.0.0.tgz", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], - - "signal-exit": ["signal-exit@4.1.0", "https://npm.corp.kuaishou.com/signal-exit/-/signal-exit-4.1.0.tgz", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - - "simple-concat": ["simple-concat@1.0.1", "https://npm.corp.kuaishou.com/simple-concat/-/simple-concat-1.0.1.tgz", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="], - - "simple-get": ["simple-get@4.0.1", "https://npm.corp.kuaishou.com/simple-get/-/simple-get-4.0.1.tgz", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="], - - "sirv": ["sirv@3.0.2", "https://npm.corp.kuaishou.com/sirv/-/sirv-3.0.2.tgz", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g=="], - - "sisteransi": ["sisteransi@1.0.5", "https://npm.corp.kuaishou.com/sisteransi/-/sisteransi-1.0.5.tgz", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], - - "slash": ["slash@3.0.0", "https://npm.corp.kuaishou.com/slash/-/slash-3.0.0.tgz", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], - - "slice-ansi": ["slice-ansi@2.1.0", "https://npm.corp.kuaishou.com/slice-ansi/-/slice-ansi-2.1.0.tgz", { "dependencies": { "ansi-styles": "^3.2.0", "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" } }, "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ=="], - - "smart-buffer": ["smart-buffer@4.2.0", "https://npm.corp.kuaishou.com/smart-buffer/-/smart-buffer-4.2.0.tgz", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="], - - "socks": ["socks@2.8.7", "https://npm.corp.kuaishou.com/socks/-/socks-2.8.7.tgz", { "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" } }, "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A=="], - - "socks-proxy-agent": ["socks-proxy-agent@8.0.5", "https://npm.corp.kuaishou.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="], - - "source-map": ["source-map@0.6.1", "https://npm.corp.kuaishou.com/source-map/-/source-map-0.6.1.tgz", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "source-map-js": ["source-map-js@1.2.1", "https://npm.corp.kuaishou.com/source-map-js/-/source-map-js-1.2.1.tgz", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "source-map-support": ["source-map-support@0.5.21", "https://npm.corp.kuaishou.com/source-map-support/-/source-map-support-0.5.21.tgz", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - - "spacetrim": ["spacetrim@0.11.59", "https://npm.corp.kuaishou.com/spacetrim/-/spacetrim-0.11.59.tgz", {}, "sha512-lLYsktklSRKprreOm7NXReW8YiX2VBjbgmXYEziOoGf/qsJqAEACaDvoTtUOycwjpaSh+bT8eu0KrJn7UNxiCg=="], - - "split2": ["split2@4.2.0", "https://npm.corp.kuaishou.com/split2/-/split2-4.2.0.tgz", {}, "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg=="], - - "sprintf-js": ["sprintf-js@1.0.3", "https://npm.corp.kuaishou.com/sprintf-js/-/sprintf-js-1.0.3.tgz", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], - - "stack-utils": ["stack-utils@2.0.6", "https://npm.corp.kuaishou.com/stack-utils/-/stack-utils-2.0.6.tgz", { "dependencies": { "escape-string-regexp": "^2.0.0" } }, "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ=="], - - "stackback": ["stackback@0.0.2", "https://npm.corp.kuaishou.com/stackback/-/stackback-0.0.2.tgz", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], - - "stackframe": ["stackframe@1.3.4", "https://npm.corp.kuaishou.com/stackframe/-/stackframe-1.3.4.tgz", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="], - - "stacktrace-parser": ["stacktrace-parser@0.1.11", "https://npm.corp.kuaishou.com/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", { "dependencies": { "type-fest": "^0.7.1" } }, "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg=="], - - "statuses": ["statuses@2.0.2", "https://npm.corp.kuaishou.com/statuses/-/statuses-2.0.2.tgz", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], - - "std-env": ["std-env@3.10.0", "https://npm.corp.kuaishou.com/std-env/-/std-env-3.10.0.tgz", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="], - - "streamx": ["streamx@2.23.0", "https://npm.corp.kuaishou.com/streamx/-/streamx-2.23.0.tgz", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="], - - "strict-event-emitter": ["strict-event-emitter@0.5.1", "https://npm.corp.kuaishou.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", {}, "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ=="], - - "strict-url-sanitise": ["strict-url-sanitise@0.0.1", "https://npm.corp.kuaishou.com/strict-url-sanitise/-/strict-url-sanitise-0.0.1.tgz", {}, "sha512-nuFtF539K8jZg3FjaWH/L8eocCR6gegz5RDOsaWxfdbF5Jqr2VXWxZayjTwUzsWJDC91k2EbnJXp6FuWW+Z4hg=="], - - "string-width": ["string-width@4.2.3", "https://npm.corp.kuaishou.com/string-width/-/string-width-4.2.3.tgz", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string-width-cjs": ["string-width@4.2.3", "https://npm.corp.kuaishou.com/string-width/-/string-width-4.2.3.tgz", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string_decoder": ["string_decoder@1.3.0", "https://npm.corp.kuaishou.com/string_decoder/-/string_decoder-1.3.0.tgz", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], - - "strip-ansi": ["strip-ansi@7.2.0", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-7.2.0.tgz", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], - - "strip-ansi-cjs": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-final-newline": ["strip-final-newline@2.0.0", "https://npm.corp.kuaishou.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - - "strip-json-comments": ["strip-json-comments@2.0.1", "https://npm.corp.kuaishou.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], - - "strnum": ["strnum@2.2.0", "https://npm.corp.kuaishou.com/strnum/-/strnum-2.2.0.tgz", {}, "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg=="], - - "stylus": ["stylus@0.64.0", "https://npm.corp.kuaishou.com/stylus/-/stylus-0.64.0.tgz", { "dependencies": { "@adobe/css-tools": "~4.3.3", "debug": "^4.3.2", "glob": "^10.4.5", "sax": "~1.4.1", "source-map": "^0.7.3" }, "bin": { "stylus": "bin/stylus" } }, "sha512-ZIdT8eUv8tegmqy1tTIdJv9We2DumkNZFdCF5mz/Kpq3OcTaxSuCAYZge6HKK2CmNC02G1eJig2RV7XTw5hQrA=="], - - "sugarss": ["sugarss@5.0.1", "https://npm.corp.kuaishou.com/sugarss/-/sugarss-5.0.1.tgz", { "peerDependencies": { "postcss": "^8.3.3" } }, "sha512-ctS5RYCBVvPoZAnzIaX5QSShK8ZiZxD5HUqSxlusvEMC+QZQIPCPOIJg6aceFX+K2rf4+SH89eu++h1Zmsr2nw=="], - - "supports-color": ["supports-color@8.1.1", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-8.1.1.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], - - "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "https://npm.corp.kuaishou.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - - "symbol-tree": ["symbol-tree@3.2.4", "https://npm.corp.kuaishou.com/symbol-tree/-/symbol-tree-3.2.4.tgz", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="], - - "sync-child-process": ["sync-child-process@1.0.2", "https://npm.corp.kuaishou.com/sync-child-process/-/sync-child-process-1.0.2.tgz", { "dependencies": { "sync-message-port": "^1.0.0" } }, "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA=="], - - "sync-message-port": ["sync-message-port@1.2.0", "https://npm.corp.kuaishou.com/sync-message-port/-/sync-message-port-1.2.0.tgz", {}, "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg=="], - - "tagged-tag": ["tagged-tag@1.0.0", "https://npm.corp.kuaishou.com/tagged-tag/-/tagged-tag-1.0.0.tgz", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], - - "tar-fs": ["tar-fs@2.1.4", "https://npm.corp.kuaishou.com/tar-fs/-/tar-fs-2.1.4.tgz", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="], - - "tar-stream": ["tar-stream@3.1.8", "https://npm.corp.kuaishou.com/tar-stream/-/tar-stream-3.1.8.tgz", { "dependencies": { "b4a": "^1.6.4", "bare-fs": "^4.5.5", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ=="], - - "teex": ["teex@1.0.1", "https://npm.corp.kuaishou.com/teex/-/teex-1.0.1.tgz", { "dependencies": { "streamx": "^2.12.5" } }, "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg=="], - - "terser": ["terser@5.46.0", "https://npm.corp.kuaishou.com/terser/-/terser-5.46.0.tgz", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg=="], - - "test-exclude": ["test-exclude@6.0.0", "https://npm.corp.kuaishou.com/test-exclude/-/test-exclude-6.0.0.tgz", { "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" } }, "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w=="], - - "text-decoder": ["text-decoder@1.2.7", "https://npm.corp.kuaishou.com/text-decoder/-/text-decoder-1.2.7.tgz", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ=="], - - "throat": ["throat@5.0.0", "https://npm.corp.kuaishou.com/throat/-/throat-5.0.0.tgz", {}, "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA=="], - - "tinybench": ["tinybench@2.9.0", "https://npm.corp.kuaishou.com/tinybench/-/tinybench-2.9.0.tgz", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], - - "tinyexec": ["tinyexec@0.3.2", "https://npm.corp.kuaishou.com/tinyexec/-/tinyexec-0.3.2.tgz", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], - - "tinyglobby": ["tinyglobby@0.2.15", "https://npm.corp.kuaishou.com/tinyglobby/-/tinyglobby-0.2.15.tgz", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], - - "tinypool": ["tinypool@1.1.1", "https://npm.corp.kuaishou.com/tinypool/-/tinypool-1.1.1.tgz", {}, "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg=="], - - "tinyrainbow": ["tinyrainbow@1.2.0", "https://npm.corp.kuaishou.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz", {}, "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ=="], - - "tinyspy": ["tinyspy@3.0.2", "https://npm.corp.kuaishou.com/tinyspy/-/tinyspy-3.0.2.tgz", {}, "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q=="], - - "tldts": ["tldts@7.0.25", "https://npm.corp.kuaishou.com/tldts/-/tldts-7.0.25.tgz", { "dependencies": { "tldts-core": "^7.0.25" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w=="], - - "tldts-core": ["tldts-core@7.0.25", "https://npm.corp.kuaishou.com/tldts-core/-/tldts-core-7.0.25.tgz", {}, "sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw=="], - - "tmpl": ["tmpl@1.0.5", "https://npm.corp.kuaishou.com/tmpl/-/tmpl-1.0.5.tgz", {}, "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw=="], - - "to-regex-range": ["to-regex-range@5.0.1", "https://npm.corp.kuaishou.com/to-regex-range/-/to-regex-range-5.0.1.tgz", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], - - "toidentifier": ["toidentifier@1.0.1", "https://npm.corp.kuaishou.com/toidentifier/-/toidentifier-1.0.1.tgz", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - - "totalist": ["totalist@3.0.1", "https://npm.corp.kuaishou.com/totalist/-/totalist-3.0.1.tgz", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="], - - "tough-cookie": ["tough-cookie@6.0.0", "https://npm.corp.kuaishou.com/tough-cookie/-/tough-cookie-6.0.0.tgz", { "dependencies": { "tldts": "^7.0.5" } }, "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w=="], - - "tr46": ["tr46@6.0.0", "https://npm.corp.kuaishou.com/tr46/-/tr46-6.0.0.tgz", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw=="], - - "tslib": ["tslib@2.8.1", "https://npm.corp.kuaishou.com/tslib/-/tslib-2.8.1.tgz", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "tunnel-agent": ["tunnel-agent@0.6.0", "https://npm.corp.kuaishou.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], - - "type-detect": ["type-detect@4.0.8", "https://npm.corp.kuaishou.com/type-detect/-/type-detect-4.0.8.tgz", {}, "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g=="], - - "type-fest": ["type-fest@5.4.4", "https://npm.corp.kuaishou.com/type-fest/-/type-fest-5.4.4.tgz", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw=="], - - "type-is": ["type-is@2.0.1", "https://npm.corp.kuaishou.com/type-is/-/type-is-2.0.1.tgz", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="], - - "typed-query-selector": ["typed-query-selector@2.12.1", "https://npm.corp.kuaishou.com/typed-query-selector/-/typed-query-selector-2.12.1.tgz", {}, "sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA=="], - - "typescript": ["typescript@5.9.3", "https://npm.corp.kuaishou.com/typescript/-/typescript-5.9.3.tgz", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "undici": ["undici@7.23.0", "https://npm.corp.kuaishou.com/undici/-/undici-7.23.0.tgz", {}, "sha512-HVMxHKZKi+eL2mrUZDzDkKW3XvCjynhbtpSq20xQp4ePDFeSFuAfnvM0GIwZIv8fiKHjXFQ5WjxhCt15KRNj+g=="], - - "undici-types": ["undici-types@6.21.0", "https://npm.corp.kuaishou.com/undici-types/-/undici-types-6.21.0.tgz", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], - - "unicode-canonical-property-names-ecmascript": ["unicode-canonical-property-names-ecmascript@2.0.1", "https://npm.corp.kuaishou.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", {}, "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg=="], - - "unicode-match-property-ecmascript": ["unicode-match-property-ecmascript@2.0.0", "https://npm.corp.kuaishou.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", { "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" } }, "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q=="], - - "unicode-match-property-value-ecmascript": ["unicode-match-property-value-ecmascript@2.2.1", "https://npm.corp.kuaishou.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", {}, "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg=="], - - "unicode-property-aliases-ecmascript": ["unicode-property-aliases-ecmascript@2.2.0", "https://npm.corp.kuaishou.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", {}, "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ=="], - - "universalify": ["universalify@0.1.2", "https://npm.corp.kuaishou.com/universalify/-/universalify-0.1.2.tgz", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "unpipe": ["unpipe@1.0.0", "https://npm.corp.kuaishou.com/unpipe/-/unpipe-1.0.0.tgz", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - - "until-async": ["until-async@3.0.2", "https://npm.corp.kuaishou.com/until-async/-/until-async-3.0.2.tgz", {}, "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw=="], - - "update-browserslist-db": ["update-browserslist-db@1.2.3", "https://npm.corp.kuaishou.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], - - "urlpattern-polyfill": ["urlpattern-polyfill@10.1.0", "https://npm.corp.kuaishou.com/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", {}, "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw=="], - - "userhome": ["userhome@1.0.1", "https://npm.corp.kuaishou.com/userhome/-/userhome-1.0.1.tgz", {}, "sha512-5cnLm4gseXjAclKowC4IjByaGsjtAoV6PrOQOljplNB54ReUYJP8HdAFq2muHinSDAh09PPX/uXDPfdxRHvuSA=="], - - "utf-8-validate": ["utf-8-validate@6.0.6", "https://npm.corp.kuaishou.com/utf-8-validate/-/utf-8-validate-6.0.6.tgz", { "dependencies": { "node-gyp-build": "^4.3.0" } }, "sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA=="], - - "util-deprecate": ["util-deprecate@1.0.2", "https://npm.corp.kuaishou.com/util-deprecate/-/util-deprecate-1.0.2.tgz", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - - "utils-merge": ["utils-merge@1.0.1", "https://npm.corp.kuaishou.com/utils-merge/-/utils-merge-1.0.1.tgz", {}, "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="], - - "varint": ["varint@6.0.0", "https://npm.corp.kuaishou.com/varint/-/varint-6.0.0.tgz", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], - - "vary": ["vary@1.1.2", "https://npm.corp.kuaishou.com/vary/-/vary-1.1.2.tgz", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], - - "vite": ["vite@5.4.21", "https://npm.corp.kuaishou.com/vite/-/vite-5.4.21.tgz", { "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", "rollup": "^4.20.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" }, "bin": { "vite": "bin/vite.js" } }, "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw=="], - - "vite-node": ["vite-node@2.1.9", "https://npm.corp.kuaishou.com/vite-node/-/vite-node-2.1.9.tgz", { "dependencies": { "cac": "^6.7.14", "debug": "^4.3.7", "es-module-lexer": "^1.5.4", "pathe": "^1.1.2", "vite": "^5.0.0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA=="], - - "vitest": ["vitest@2.1.9", "https://npm.corp.kuaishou.com/vitest/-/vitest-2.1.9.tgz", { "dependencies": { "@vitest/expect": "2.1.9", "@vitest/mocker": "2.1.9", "@vitest/pretty-format": "^2.1.9", "@vitest/runner": "2.1.9", "@vitest/snapshot": "2.1.9", "@vitest/spy": "2.1.9", "@vitest/utils": "2.1.9", "chai": "^5.1.2", "debug": "^4.3.7", "expect-type": "^1.1.0", "magic-string": "^0.30.12", "pathe": "^1.1.2", "std-env": "^3.8.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.1", "tinypool": "^1.0.1", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", "vite-node": "2.1.9", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", "@vitest/browser": "2.1.9", "@vitest/ui": "2.1.9", "happy-dom": "*", "jsdom": "*" }, "bin": { "vitest": "vitest.mjs" } }, "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q=="], - - "vlq": ["vlq@1.0.1", "https://npm.corp.kuaishou.com/vlq/-/vlq-1.0.1.tgz", {}, "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w=="], - - "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "https://npm.corp.kuaishou.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], - - "wait-port": ["wait-port@1.1.0", "https://npm.corp.kuaishou.com/wait-port/-/wait-port-1.1.0.tgz", { "dependencies": { "chalk": "^4.1.2", "commander": "^9.3.0", "debug": "^4.3.4" }, "bin": { "wait-port": "bin/wait-port.js" } }, "sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q=="], - - "walker": ["walker@1.0.8", "https://npm.corp.kuaishou.com/walker/-/walker-1.0.8.tgz", { "dependencies": { "makeerror": "1.0.12" } }, "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ=="], - - "wcwidth": ["wcwidth@1.0.1", "https://npm.corp.kuaishou.com/wcwidth/-/wcwidth-1.0.1.tgz", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], - - "webdriver": ["webdriver@9.25.0", "https://npm.corp.kuaishou.com/webdriver/-/webdriver-9.25.0.tgz", { "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", "@wdio/config": "9.25.0", "@wdio/logger": "9.18.0", "@wdio/protocols": "9.25.0", "@wdio/types": "9.25.0", "@wdio/utils": "9.25.0", "deepmerge-ts": "^7.0.3", "https-proxy-agent": "^7.0.6", "undici": "^6.21.3", "ws": "^8.8.0" } }, "sha512-XnABKdrp83zX3xVltmX0OcFzn8zOzWGtZQxIUKY0+INB0g9Nnnfu7G75W0G+0y4nyb3zH8mavGzDBiXctdEd3Q=="], - - "webdriver-bidi-protocol": ["webdriver-bidi-protocol@0.4.1", "https://npm.corp.kuaishou.com/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.1.tgz", {}, "sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw=="], - - "webdriverio": ["webdriverio@9.25.0", "https://npm.corp.kuaishou.com/webdriverio/-/webdriverio-9.25.0.tgz", { "dependencies": { "@types/node": "^20.11.30", "@types/sinonjs__fake-timers": "^8.1.5", "@wdio/config": "9.25.0", "@wdio/logger": "9.18.0", "@wdio/protocols": "9.25.0", "@wdio/repl": "9.16.2", "@wdio/types": "9.25.0", "@wdio/utils": "9.25.0", "archiver": "^7.0.1", "aria-query": "^5.3.0", "cheerio": "^1.0.0-rc.12", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", "grapheme-splitter": "^1.0.4", "htmlfy": "^0.8.1", "is-plain-obj": "^4.1.0", "jszip": "^3.10.1", "lodash.clonedeep": "^4.5.0", "lodash.zip": "^4.2.0", "query-selector-shadow-dom": "^1.0.1", "resq": "^1.11.0", "rgb2hex": "0.2.5", "serialize-error": "^12.0.0", "urlpattern-polyfill": "^10.0.0", "webdriver": "9.25.0" }, "peerDependencies": { "puppeteer-core": ">=22.x || <=24.x" } }, "sha512-ualC/LtWGjL5rwGAbUUzURKqKoHJG2/qecEppcS9k4n1IX3MlbzGXuL/qpXiRbs/h4981HpRbZAKBxRYqwUe3g=="], - - "webidl-conversions": ["webidl-conversions@8.0.1", "https://npm.corp.kuaishou.com/webidl-conversions/-/webidl-conversions-8.0.1.tgz", {}, "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ=="], - - "whatwg-encoding": ["whatwg-encoding@3.1.1", "https://npm.corp.kuaishou.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], - - "whatwg-fetch": ["whatwg-fetch@3.6.20", "https://npm.corp.kuaishou.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="], - - "whatwg-mimetype": ["whatwg-mimetype@3.0.0", "https://npm.corp.kuaishou.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", {}, "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q=="], - - "whatwg-url": ["whatwg-url@16.0.1", "https://npm.corp.kuaishou.com/whatwg-url/-/whatwg-url-16.0.1.tgz", { "dependencies": { "@exodus/bytes": "^1.11.0", "tr46": "^6.0.0", "webidl-conversions": "^8.0.1" } }, "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw=="], - - "which": ["which@6.0.1", "https://npm.corp.kuaishou.com/which/-/which-6.0.1.tgz", { "dependencies": { "isexe": "^4.0.0" }, "bin": { "node-which": "bin/which.js" } }, "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg=="], - - "which-module": ["which-module@2.0.1", "https://npm.corp.kuaishou.com/which-module/-/which-module-2.0.1.tgz", {}, "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="], - - "why-is-node-running": ["why-is-node-running@2.3.0", "https://npm.corp.kuaishou.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": { "why-is-node-running": "cli.js" } }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], - - "wrap-ansi": ["wrap-ansi@6.2.0", "https://npm.corp.kuaishou.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA=="], - - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "https://npm.corp.kuaishou.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "wrappy": ["wrappy@1.0.2", "https://npm.corp.kuaishou.com/wrappy/-/wrappy-1.0.2.tgz", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - - "write-file-atomic": ["write-file-atomic@4.0.2", "https://npm.corp.kuaishou.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="], - - "ws": ["ws@8.19.0", "https://npm.corp.kuaishou.com/ws/-/ws-8.19.0.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" } }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], - - "xml-name-validator": ["xml-name-validator@5.0.0", "https://npm.corp.kuaishou.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], - - "xmlchars": ["xmlchars@2.2.0", "https://npm.corp.kuaishou.com/xmlchars/-/xmlchars-2.2.0.tgz", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], - - "y18n": ["y18n@5.0.8", "https://npm.corp.kuaishou.com/y18n/-/y18n-5.0.8.tgz", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - - "yallist": ["yallist@3.1.1", "https://npm.corp.kuaishou.com/yallist/-/yallist-3.1.1.tgz", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - - "yaml": ["yaml@2.8.2", "https://npm.corp.kuaishou.com/yaml/-/yaml-2.8.2.tgz", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], - - "yargs": ["yargs@17.7.2", "https://npm.corp.kuaishou.com/yargs/-/yargs-17.7.2.tgz", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - - "yargs-parser": ["yargs-parser@21.1.1", "https://npm.corp.kuaishou.com/yargs-parser/-/yargs-parser-21.1.1.tgz", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "yauzl": ["yauzl@2.10.0", "https://npm.corp.kuaishou.com/yauzl/-/yauzl-2.10.0.tgz", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="], - - "yocto-queue": ["yocto-queue@0.1.0", "https://npm.corp.kuaishou.com/yocto-queue/-/yocto-queue-0.1.0.tgz", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - - "yoctocolors-cjs": ["yoctocolors-cjs@2.1.3", "https://npm.corp.kuaishou.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", {}, "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw=="], - - "zip-stream": ["zip-stream@6.0.1", "https://npm.corp.kuaishou.com/zip-stream/-/zip-stream-6.0.1.tgz", { "dependencies": { "archiver-utils": "^5.0.0", "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" } }, "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA=="], - - "zod": ["zod@3.25.76", "https://npm.corp.kuaishou.com/zod/-/zod-3.25.76.tgz", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "@babel/core/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "https://npm.corp.kuaishou.com/lru-cache/-/lru-cache-5.1.1.tgz", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/helper-create-regexp-features-plugin/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@babel/plugin-transform-runtime/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@isaacs/cliui/string-width": ["string-width@5.1.2", "https://npm.corp.kuaishou.com/string-width/-/string-width-5.1.2.tgz", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], - - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "https://npm.corp.kuaishou.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], - - "@istanbuljs/load-nyc-config/camelcase": ["camelcase@5.3.1", "https://npm.corp.kuaishou.com/camelcase/-/camelcase-5.3.1.tgz", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - - "@istanbuljs/load-nyc-config/find-up": ["find-up@4.1.0", "https://npm.corp.kuaishou.com/find-up/-/find-up-4.1.0.tgz", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - - "@jest/transform/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "@jest/types/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "@puppeteer/browsers/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "@puppeteer/browsers/tar-fs": ["tar-fs@3.1.2", "https://npm.corp.kuaishou.com/tar-fs/-/tar-fs-3.1.2.tgz", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw=="], - - "@react-native-community/cli/commander": ["commander@9.5.0", "https://npm.corp.kuaishou.com/commander/-/commander-9.5.0.tgz", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], - - "@react-native-community/cli/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "@react-native-community/cli-doctor/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "@react-native-community/cli-server-api/open": ["open@6.4.0", "https://npm.corp.kuaishou.com/open/-/open-6.4.0.tgz", { "dependencies": { "is-wsl": "^1.1.0" } }, "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg=="], - - "@react-native-community/cli-server-api/pretty-format": ["pretty-format@29.7.0", "https://npm.corp.kuaishou.com/pretty-format/-/pretty-format-29.7.0.tgz", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], - - "@react-native-community/cli-server-api/ws": ["ws@6.2.3", "https://npm.corp.kuaishou.com/ws/-/ws-6.2.3.tgz", { "dependencies": { "async-limiter": "~1.0.0" } }, "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA=="], - - "@react-native-community/cli-tools/mime": ["mime@2.6.0", "https://npm.corp.kuaishou.com/mime/-/mime-2.6.0.tgz", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="], - - "@react-native-community/cli-tools/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "@react-native/community-cli-plugin/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "@react-native/dev-middleware/ws": ["ws@7.5.10", "https://npm.corp.kuaishou.com/ws/-/ws-7.5.10.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" } }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "@wdio/repl/@types/node": ["@types/node@20.19.37", "https://npm.corp.kuaishou.com/@types/node/-/node-20.19.37.tgz", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw=="], - - "@wdio/types/@types/node": ["@types/node@20.19.37", "https://npm.corp.kuaishou.com/@types/node/-/node-20.19.37.tgz", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw=="], - - "ansi-fragments/strip-ansi": ["strip-ansi@5.2.0", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-5.2.0.tgz", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], - - "anymatch/picomatch": ["picomatch@2.3.1", "https://npm.corp.kuaishou.com/picomatch/-/picomatch-2.3.1.tgz", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "babel-jest/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "bl/buffer": ["buffer@5.7.1", "https://npm.corp.kuaishou.com/buffer/-/buffer-5.7.1.tgz", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], - - "bl/readable-stream": ["readable-stream@3.6.2", "https://npm.corp.kuaishou.com/readable-stream/-/readable-stream-3.6.2.tgz", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - - "body-parser/iconv-lite": ["iconv-lite@0.7.2", "https://npm.corp.kuaishou.com/iconv-lite/-/iconv-lite-0.7.2.tgz", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], - - "body-parser/on-finished": ["on-finished@2.4.1", "https://npm.corp.kuaishou.com/on-finished/-/on-finished-2.4.1.tgz", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], - - "cheerio/parse5": ["parse5@7.3.0", "https://npm.corp.kuaishou.com/parse5/-/parse5-7.3.0.tgz", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - - "cheerio/whatwg-mimetype": ["whatwg-mimetype@4.0.0", "https://npm.corp.kuaishou.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], - - "cliui/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "cliui/wrap-ansi": ["wrap-ansi@7.0.0", "https://npm.corp.kuaishou.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "compression/debug": ["debug@2.6.9", "https://npm.corp.kuaishou.com/debug/-/debug-2.6.9.tgz", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "compression/negotiator": ["negotiator@0.6.4", "https://npm.corp.kuaishou.com/negotiator/-/negotiator-0.6.4.tgz", {}, "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w=="], - - "compression/safe-buffer": ["safe-buffer@5.2.1", "https://npm.corp.kuaishou.com/safe-buffer/-/safe-buffer-5.2.1.tgz", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "connect/debug": ["debug@2.6.9", "https://npm.corp.kuaishou.com/debug/-/debug-2.6.9.tgz", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "cosmiconfig/js-yaml": ["js-yaml@4.1.1", "https://npm.corp.kuaishou.com/js-yaml/-/js-yaml-4.1.1.tgz", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "cross-spawn/which": ["which@2.0.2", "https://npm.corp.kuaishou.com/which/-/which-2.0.2.tgz", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - - "data-urls/whatwg-mimetype": ["whatwg-mimetype@5.0.0", "https://npm.corp.kuaishou.com/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", {}, "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw=="], - - "dom-serializer/entities": ["entities@4.5.0", "https://npm.corp.kuaishou.com/entities/-/entities-4.5.0.tgz", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - - "edge-paths/which": ["which@2.0.2", "https://npm.corp.kuaishou.com/which/-/which-2.0.2.tgz", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - - "errorhandler/accepts": ["accepts@1.3.8", "https://npm.corp.kuaishou.com/accepts/-/accepts-1.3.8.tgz", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], - - "execa/get-stream": ["get-stream@6.0.1", "https://npm.corp.kuaishou.com/get-stream/-/get-stream-6.0.1.tgz", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], - - "execa/signal-exit": ["signal-exit@3.0.7", "https://npm.corp.kuaishou.com/signal-exit/-/signal-exit-3.0.7.tgz", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "finalhandler/debug": ["debug@2.6.9", "https://npm.corp.kuaishou.com/debug/-/debug-2.6.9.tgz", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "finalhandler/encodeurl": ["encodeurl@1.0.2", "https://npm.corp.kuaishou.com/encodeurl/-/encodeurl-1.0.2.tgz", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], - - "finalhandler/statuses": ["statuses@1.5.0", "https://npm.corp.kuaishou.com/statuses/-/statuses-1.5.0.tgz", {}, "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="], - - "import-fresh/resolve-from": ["resolve-from@4.0.0", "https://npm.corp.kuaishou.com/resolve-from/-/resolve-from-4.0.0.tgz", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - - "istanbul-lib-instrument/semver": ["semver@6.3.1", "https://npm.corp.kuaishou.com/semver/-/semver-6.3.1.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "jest-message-util/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "jest-message-util/pretty-format": ["pretty-format@29.7.0", "https://npm.corp.kuaishou.com/pretty-format/-/pretty-format-29.7.0.tgz", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], - - "jest-util/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "jest-util/ci-info": ["ci-info@3.9.0", "https://npm.corp.kuaishou.com/ci-info/-/ci-info-3.9.0.tgz", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - - "jest-util/picomatch": ["picomatch@2.3.1", "https://npm.corp.kuaishou.com/picomatch/-/picomatch-2.3.1.tgz", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "jest-validate/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "jest-validate/pretty-format": ["pretty-format@29.7.0", "https://npm.corp.kuaishou.com/pretty-format/-/pretty-format-29.7.0.tgz", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], - - "jsdom/whatwg-mimetype": ["whatwg-mimetype@5.0.0", "https://npm.corp.kuaishou.com/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", {}, "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw=="], - - "jszip/readable-stream": ["readable-stream@2.3.8", "https://npm.corp.kuaishou.com/readable-stream/-/readable-stream-2.3.8.tgz", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], - - "lazystream/readable-stream": ["readable-stream@2.3.8", "https://npm.corp.kuaishou.com/readable-stream/-/readable-stream-2.3.8.tgz", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], - - "lighthouse-logger/debug": ["debug@2.6.9", "https://npm.corp.kuaishou.com/debug/-/debug-2.6.9.tgz", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "locate-app/type-fest": ["type-fest@4.26.0", "https://npm.corp.kuaishou.com/type-fest/-/type-fest-4.26.0.tgz", {}, "sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw=="], - - "log-symbols/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "logkitty/yargs": ["yargs@15.4.1", "https://npm.corp.kuaishou.com/yargs/-/yargs-15.4.1.tgz", { "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" } }, "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A=="], - - "metro/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "metro/hermes-parser": ["hermes-parser@0.33.3", "https://npm.corp.kuaishou.com/hermes-parser/-/hermes-parser-0.33.3.tgz", { "dependencies": { "hermes-estree": "0.33.3" } }, "sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA=="], - - "metro/image-size": ["image-size@1.2.1", "https://npm.corp.kuaishou.com/image-size/-/image-size-1.2.1.tgz", { "dependencies": { "queue": "6.0.2" }, "bin": { "image-size": "bin/image-size.js" } }, "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw=="], - - "metro/serialize-error": ["serialize-error@2.1.0", "https://npm.corp.kuaishou.com/serialize-error/-/serialize-error-2.1.0.tgz", {}, "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw=="], - - "metro/source-map": ["source-map@0.5.7", "https://npm.corp.kuaishou.com/source-map/-/source-map-0.5.7.tgz", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - - "metro/ws": ["ws@7.5.10", "https://npm.corp.kuaishou.com/ws/-/ws-7.5.10.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" } }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "metro-babel-transformer/hermes-parser": ["hermes-parser@0.33.3", "https://npm.corp.kuaishou.com/hermes-parser/-/hermes-parser-0.33.3.tgz", { "dependencies": { "hermes-estree": "0.33.3" } }, "sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA=="], - - "metro-source-map/source-map": ["source-map@0.5.7", "https://npm.corp.kuaishou.com/source-map/-/source-map-0.5.7.tgz", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - - "metro-symbolicate/source-map": ["source-map@0.5.7", "https://npm.corp.kuaishou.com/source-map/-/source-map-0.5.7.tgz", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - - "micromatch/picomatch": ["picomatch@2.3.1", "https://npm.corp.kuaishou.com/picomatch/-/picomatch-2.3.1.tgz", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "node-abi/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "ora/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "ora/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "parse5/entities": ["entities@6.0.1", "https://npm.corp.kuaishou.com/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - - "parse5-htmlparser2-tree-adapter/parse5": ["parse5@7.3.0", "https://npm.corp.kuaishou.com/parse5/-/parse5-7.3.0.tgz", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - - "parse5-parser-stream/parse5": ["parse5@7.3.0", "https://npm.corp.kuaishou.com/parse5/-/parse5-7.3.0.tgz", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - - "path-scurry/lru-cache": ["lru-cache@10.4.3", "https://npm.corp.kuaishou.com/lru-cache/-/lru-cache-10.4.3.tgz", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "playwright/fsevents": ["fsevents@2.3.2", "https://npm.corp.kuaishou.com/fsevents/-/fsevents-2.3.2.tgz", {}, "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="], - - "proxy-agent/lru-cache": ["lru-cache@7.18.3", "https://npm.corp.kuaishou.com/lru-cache/-/lru-cache-7.18.3.tgz", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], - - "raw-body/iconv-lite": ["iconv-lite@0.7.2", "https://npm.corp.kuaishou.com/iconv-lite/-/iconv-lite-0.7.2.tgz", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], - - "react-devtools-core/ws": ["ws@7.5.10", "https://npm.corp.kuaishou.com/ws/-/ws-7.5.10.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" } }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "react-native/commander": ["commander@12.1.0", "https://npm.corp.kuaishou.com/commander/-/commander-12.1.0.tgz", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], - - "react-native/pretty-format": ["pretty-format@29.7.0", "https://npm.corp.kuaishou.com/pretty-format/-/pretty-format-29.7.0.tgz", { "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ=="], - - "react-native/semver": ["semver@7.7.4", "https://npm.corp.kuaishou.com/semver/-/semver-7.7.4.tgz", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - - "react-native/ws": ["ws@7.5.10", "https://npm.corp.kuaishou.com/ws/-/ws-7.5.10.tgz", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" } }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "readdir-glob/minimatch": ["minimatch@5.1.9", "https://npm.corp.kuaishou.com/minimatch/-/minimatch-5.1.9.tgz", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw=="], - - "restore-cursor/signal-exit": ["signal-exit@3.0.7", "https://npm.corp.kuaishou.com/signal-exit/-/signal-exit-3.0.7.tgz", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "rimraf/glob": ["glob@7.2.3", "https://npm.corp.kuaishou.com/glob/-/glob-7.2.3.tgz", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "send/debug": ["debug@2.6.9", "https://npm.corp.kuaishou.com/debug/-/debug-2.6.9.tgz", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - - "send/on-finished": ["on-finished@2.4.1", "https://npm.corp.kuaishou.com/on-finished/-/on-finished-2.4.1.tgz", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], - - "serialize-error/type-fest": ["type-fest@4.41.0", "https://npm.corp.kuaishou.com/type-fest/-/type-fest-4.41.0.tgz", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], - - "slice-ansi/ansi-styles": ["ansi-styles@3.2.1", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-3.2.1.tgz", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], - - "slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@2.0.0", "https://npm.corp.kuaishou.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", {}, "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="], - - "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "https://npm.corp.kuaishou.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], - - "stacktrace-parser/type-fest": ["type-fest@0.7.1", "https://npm.corp.kuaishou.com/type-fest/-/type-fest-0.7.1.tgz", {}, "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="], - - "string-width/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "string_decoder/safe-buffer": ["safe-buffer@5.2.1", "https://npm.corp.kuaishou.com/safe-buffer/-/safe-buffer-5.2.1.tgz", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "https://npm.corp.kuaishou.com/ansi-regex/-/ansi-regex-6.2.2.tgz", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - - "stylus/source-map": ["source-map@0.7.6", "https://npm.corp.kuaishou.com/source-map/-/source-map-0.7.6.tgz", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], - - "tar-fs/tar-stream": ["tar-stream@2.2.0", "https://npm.corp.kuaishou.com/tar-stream/-/tar-stream-2.2.0.tgz", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], - - "test-exclude/glob": ["glob@7.2.3", "https://npm.corp.kuaishou.com/glob/-/glob-7.2.3.tgz", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], - - "test-exclude/minimatch": ["minimatch@3.1.5", "https://npm.corp.kuaishou.com/minimatch/-/minimatch-3.1.5.tgz", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "tunnel-agent/safe-buffer": ["safe-buffer@5.2.1", "https://npm.corp.kuaishou.com/safe-buffer/-/safe-buffer-5.2.1.tgz", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "wait-port/chalk": ["chalk@4.1.2", "https://npm.corp.kuaishou.com/chalk/-/chalk-4.1.2.tgz", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "wait-port/commander": ["commander@9.5.0", "https://npm.corp.kuaishou.com/commander/-/commander-9.5.0.tgz", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], - - "webdriver/@types/node": ["@types/node@20.19.37", "https://npm.corp.kuaishou.com/@types/node/-/node-20.19.37.tgz", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw=="], - - "webdriver/undici": ["undici@6.23.0", "https://npm.corp.kuaishou.com/undici/-/undici-6.23.0.tgz", {}, "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g=="], - - "webdriverio/@types/node": ["@types/node@20.19.37", "https://npm.corp.kuaishou.com/@types/node/-/node-20.19.37.tgz", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw=="], - - "wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "https://npm.corp.kuaishou.com/signal-exit/-/signal-exit-3.0.7.tgz", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "https://npm.corp.kuaishou.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], - - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "https://npm.corp.kuaishou.com/emoji-regex/-/emoji-regex-9.2.2.tgz", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - - "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-6.2.3.tgz", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - - "@istanbuljs/load-nyc-config/find-up/locate-path": ["locate-path@5.0.0", "https://npm.corp.kuaishou.com/locate-path/-/locate-path-5.0.0.tgz", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - - "@jest/transform/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@jest/transform/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "@jest/types/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@jest/types/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "@react-native-community/cli-server-api/open/is-wsl": ["is-wsl@1.1.0", "https://npm.corp.kuaishou.com/is-wsl/-/is-wsl-1.1.0.tgz", {}, "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw=="], - - "@react-native-community/cli-server-api/pretty-format/react-is": ["react-is@18.3.1", "https://npm.corp.kuaishou.com/react-is/-/react-is-18.3.1.tgz", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "ansi-fragments/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "https://npm.corp.kuaishou.com/ansi-regex/-/ansi-regex-4.1.1.tgz", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], - - "babel-jest/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "babel-jest/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "cheerio/parse5/entities": ["entities@6.0.1", "https://npm.corp.kuaishou.com/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - - "cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "compression/debug/ms": ["ms@2.0.0", "https://npm.corp.kuaishou.com/ms/-/ms-2.0.0.tgz", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "connect/debug/ms": ["ms@2.0.0", "https://npm.corp.kuaishou.com/ms/-/ms-2.0.0.tgz", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "cosmiconfig/js-yaml/argparse": ["argparse@2.0.1", "https://npm.corp.kuaishou.com/argparse/-/argparse-2.0.1.tgz", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "cross-spawn/which/isexe": ["isexe@2.0.0", "https://npm.corp.kuaishou.com/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - - "edge-paths/which/isexe": ["isexe@2.0.0", "https://npm.corp.kuaishou.com/isexe/-/isexe-2.0.0.tgz", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - - "errorhandler/accepts/mime-types": ["mime-types@2.1.35", "https://npm.corp.kuaishou.com/mime-types/-/mime-types-2.1.35.tgz", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "errorhandler/accepts/negotiator": ["negotiator@0.6.3", "https://npm.corp.kuaishou.com/negotiator/-/negotiator-0.6.3.tgz", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - - "finalhandler/debug/ms": ["ms@2.0.0", "https://npm.corp.kuaishou.com/ms/-/ms-2.0.0.tgz", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "jest-message-util/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "jest-message-util/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "jest-message-util/pretty-format/react-is": ["react-is@18.3.1", "https://npm.corp.kuaishou.com/react-is/-/react-is-18.3.1.tgz", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "jest-util/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "jest-util/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "jest-validate/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "jest-validate/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "jest-validate/pretty-format/react-is": ["react-is@18.3.1", "https://npm.corp.kuaishou.com/react-is/-/react-is-18.3.1.tgz", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "jszip/readable-stream/string_decoder": ["string_decoder@1.1.1", "https://npm.corp.kuaishou.com/string_decoder/-/string_decoder-1.1.1.tgz", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], - - "lazystream/readable-stream/string_decoder": ["string_decoder@1.1.1", "https://npm.corp.kuaishou.com/string_decoder/-/string_decoder-1.1.1.tgz", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], - - "lighthouse-logger/debug/ms": ["ms@2.0.0", "https://npm.corp.kuaishou.com/ms/-/ms-2.0.0.tgz", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "log-symbols/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "log-symbols/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "logkitty/yargs/cliui": ["cliui@6.0.0", "https://npm.corp.kuaishou.com/cliui/-/cliui-6.0.0.tgz", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^6.2.0" } }, "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ=="], - - "logkitty/yargs/decamelize": ["decamelize@1.2.0", "https://npm.corp.kuaishou.com/decamelize/-/decamelize-1.2.0.tgz", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], - - "logkitty/yargs/find-up": ["find-up@4.1.0", "https://npm.corp.kuaishou.com/find-up/-/find-up-4.1.0.tgz", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], - - "logkitty/yargs/y18n": ["y18n@4.0.3", "https://npm.corp.kuaishou.com/y18n/-/y18n-4.0.3.tgz", {}, "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="], - - "logkitty/yargs/yargs-parser": ["yargs-parser@18.1.3", "https://npm.corp.kuaishou.com/yargs-parser/-/yargs-parser-18.1.3.tgz", { "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ=="], - - "metro-babel-transformer/hermes-parser/hermes-estree": ["hermes-estree@0.33.3", "https://npm.corp.kuaishou.com/hermes-estree/-/hermes-estree-0.33.3.tgz", {}, "sha512-6kzYZHCk8Fy1Uc+t3HGYyJn3OL4aeqKLTyina4UFtWl8I0kSL7OmKThaiX+Uh2f8nGw3mo4Ifxg0M5Zk3/Oeqg=="], - - "metro/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "metro/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "metro/hermes-parser/hermes-estree": ["hermes-estree@0.33.3", "https://npm.corp.kuaishou.com/hermes-estree/-/hermes-estree-0.33.3.tgz", {}, "sha512-6kzYZHCk8Fy1Uc+t3HGYyJn3OL4aeqKLTyina4UFtWl8I0kSL7OmKThaiX+Uh2f8nGw3mo4Ifxg0M5Zk3/Oeqg=="], - - "ora/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "ora/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "parse5-htmlparser2-tree-adapter/parse5/entities": ["entities@6.0.1", "https://npm.corp.kuaishou.com/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - - "parse5-parser-stream/parse5/entities": ["entities@6.0.1", "https://npm.corp.kuaishou.com/entities/-/entities-6.0.1.tgz", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - - "react-native/pretty-format/react-is": ["react-is@18.3.1", "https://npm.corp.kuaishou.com/react-is/-/react-is-18.3.1.tgz", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "rimraf/glob/minimatch": ["minimatch@3.1.5", "https://npm.corp.kuaishou.com/minimatch/-/minimatch-3.1.5.tgz", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], - - "send/debug/ms": ["ms@2.0.0", "https://npm.corp.kuaishou.com/ms/-/ms-2.0.0.tgz", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - - "slice-ansi/ansi-styles/color-convert": ["color-convert@1.9.3", "https://npm.corp.kuaishou.com/color-convert/-/color-convert-1.9.3.tgz", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], - - "tar-fs/tar-stream/readable-stream": ["readable-stream@3.6.2", "https://npm.corp.kuaishou.com/readable-stream/-/readable-stream-3.6.2.tgz", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - - "test-exclude/minimatch/brace-expansion": ["brace-expansion@1.1.12", "https://npm.corp.kuaishou.com/brace-expansion/-/brace-expansion-1.1.12.tgz", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], - - "wait-port/chalk/ansi-styles": ["ansi-styles@4.3.0", "https://npm.corp.kuaishou.com/ansi-styles/-/ansi-styles-4.3.0.tgz", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "wait-port/chalk/supports-color": ["supports-color@7.2.0", "https://npm.corp.kuaishou.com/supports-color/-/supports-color-7.2.0.tgz", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate": ["p-locate@4.1.0", "https://npm.corp.kuaishou.com/p-locate/-/p-locate-4.1.0.tgz", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - - "errorhandler/accepts/mime-types/mime-db": ["mime-db@1.52.0", "https://npm.corp.kuaishou.com/mime-db/-/mime-db-1.52.0.tgz", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "logkitty/yargs/cliui/strip-ansi": ["strip-ansi@6.0.1", "https://npm.corp.kuaishou.com/strip-ansi/-/strip-ansi-6.0.1.tgz", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "logkitty/yargs/find-up/locate-path": ["locate-path@5.0.0", "https://npm.corp.kuaishou.com/locate-path/-/locate-path-5.0.0.tgz", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], - - "logkitty/yargs/yargs-parser/camelcase": ["camelcase@5.3.1", "https://npm.corp.kuaishou.com/camelcase/-/camelcase-5.3.1.tgz", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], - - "rimraf/glob/minimatch/brace-expansion": ["brace-expansion@1.1.12", "https://npm.corp.kuaishou.com/brace-expansion/-/brace-expansion-1.1.12.tgz", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], - - "slice-ansi/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "https://npm.corp.kuaishou.com/color-name/-/color-name-1.1.3.tgz", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], - - "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "https://npm.corp.kuaishou.com/p-limit/-/p-limit-2.3.0.tgz", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - - "logkitty/yargs/find-up/locate-path/p-locate": ["p-locate@4.1.0", "https://npm.corp.kuaishou.com/p-locate/-/p-locate-4.1.0.tgz", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], - - "logkitty/yargs/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "https://npm.corp.kuaishou.com/p-limit/-/p-limit-2.3.0.tgz", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - } -} diff --git a/examples/cortex-mem-openclaw/dist/client.d.ts b/examples/cortex-mem-openclaw/dist/client.d.ts deleted file mode 100644 index 21a1034..0000000 --- a/examples/cortex-mem-openclaw/dist/client.d.ts +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Cortex Memory API Client - * - * HTTP client for cortex-mem-service REST API - */ -export interface SearchRequest { - query: string; - thread?: string; - limit?: number; - min_score?: number; -} -export interface SearchResult { - uri: string; - score: number; - snippet: string; - content?: string; - source: string; -} -export interface SessionResponse { - thread_id: string; - status: string; - message_count: number; - created_at: string; - updated_at: string; -} -export interface CreateSessionRequest { - thread_id?: string; - title?: string; - user_id?: string; - agent_id?: string; -} -export interface AddMessageRequest { - role: 'user' | 'assistant' | 'system'; - content: string; -} -export type ContextLayer = 'L0' | 'L1' | 'L2'; -export interface LayeredRecallResult { - uri: string; - score: number; - abstract?: string; - overview?: string; - content?: string; -} -/** - * Cortex Memory API Client - */ -export declare class CortexMemClient { - private baseUrl; - constructor(baseUrl?: string); - /** - * Layered semantic search (L0 -> L1 -> L2 tiered retrieval) - */ - search(request: SearchRequest): Promise; - /** - * Quick search returning only L0 abstracts - */ - find(query: string, scope?: string, limit?: number): Promise; - /** - * Layered recall with specified detail level - * - * @param query - Search query - * @param layers - Which layers to return (L0, L1, L2) - * @param scope - Optional session/thread scope - * @param limit - Maximum results - */ - recall(query: string, layers?: ContextLayer[], scope?: string, limit?: number): Promise; - /** - * List all sessions - */ - listSessions(): Promise; - /** - * Create a new session - */ - createSession(request?: CreateSessionRequest): Promise; - /** - * Add a message to a session - */ - addMessage(threadId: string, message: AddMessageRequest): Promise; - /** - * Close a session - */ - closeSession(threadId: string): Promise; - /** - * Health check - */ - healthCheck(): Promise; - private get; - private post; -} -//# sourceMappingURL=client.d.ts.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/client.d.ts.map b/examples/cortex-mem-openclaw/dist/client.d.ts.map deleted file mode 100644 index 39669c2..0000000 --- a/examples/cortex-mem-openclaw/dist/client.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAgC;IAIrD;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK7D;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IASrF;;;;;;;OAOG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,YAAY,EAAW,EAC/B,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoBjC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAKhD;;OAEG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IAKjF;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/E;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ9D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAUvB,GAAG;YAYH,IAAI;CAiBnB"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/client.js b/examples/cortex-mem-openclaw/dist/client.js deleted file mode 100644 index 14a29f2..0000000 --- a/examples/cortex-mem-openclaw/dist/client.js +++ /dev/null @@ -1,132 +0,0 @@ -"use strict"; -/** - * Cortex Memory API Client - * - * HTTP client for cortex-mem-service REST API - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CortexMemClient = void 0; -/** - * Cortex Memory API Client - */ -class CortexMemClient { - baseUrl; - constructor(baseUrl = 'http://127.0.0.1:8085') { - this.baseUrl = baseUrl.replace(/\/$/, ''); - } - /** - * Layered semantic search (L0 -> L1 -> L2 tiered retrieval) - */ - async search(request) { - const response = await this.post('/api/v2/search', request); - return response; - } - /** - * Quick search returning only L0 abstracts - */ - async find(query, scope, limit = 5) { - return this.search({ - query, - thread: scope, - limit, - min_score: 0.5, - }); - } - /** - * Layered recall with specified detail level - * - * @param query - Search query - * @param layers - Which layers to return (L0, L1, L2) - * @param scope - Optional session/thread scope - * @param limit - Maximum results - */ - async recall(query, layers = ['L0'], scope, limit = 10) { - // First do search to get URIs - const searchResults = await this.search({ - query, - thread: scope, - limit, - }); - // For now, return search results with snippets - // In a full implementation, we would make additional calls - // to get L1 overview and L2 content based on requested layers - return searchResults.map(result => ({ - uri: result.uri, - score: result.score, - abstract: result.snippet, // L0 from snippet - overview: undefined, // Would need additional API call - content: result.content, // L2 if available - })); - } - /** - * List all sessions - */ - async listSessions() { - const response = await this.get('/api/v2/sessions'); - return response; - } - /** - * Create a new session - */ - async createSession(request = {}) { - const response = await this.post('/api/v2/sessions', request); - return response; - } - /** - * Add a message to a session - */ - async addMessage(threadId, message) { - const response = await this.post(`/api/v2/sessions/${threadId}/messages`, message); - return response; - } - /** - * Close a session - */ - async closeSession(threadId) { - const response = await this.post(`/api/v2/sessions/${threadId}/close`, {}); - return response; - } - /** - * Health check - */ - async healthCheck() { - try { - const response = await fetch(`${this.baseUrl}/health`); - return response.ok; - } - catch { - return false; - } - } - // Private helpers - async get(path) { - const response = await fetch(`${this.baseUrl}${path}`); - if (!response.ok) { - throw new Error(`API error: ${response.status} ${response.statusText}`); - } - const data = await response.json(); - if (!data.success) { - throw new Error(data.error || 'API request failed'); - } - return data.data; - } - async post(path, body) { - const response = await fetch(`${this.baseUrl}${path}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(body), - }); - if (!response.ok) { - throw new Error(`API error: ${response.status} ${response.statusText}`); - } - const data = await response.json(); - if (!data.success) { - throw new Error(data.error || 'API request failed'); - } - return data.data; - } -} -exports.CortexMemClient = CortexMemClient; -//# sourceMappingURL=client.js.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/client.js.map b/examples/cortex-mem-openclaw/dist/client.js.map deleted file mode 100644 index ab91ee7..0000000 --- a/examples/cortex-mem-openclaw/dist/client.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0DH;;GAEG;AACH,MAAa,eAAe;IAClB,OAAO,CAAS;IAExB,YAAY,UAAkB,uBAAuB;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,KAAc,EAAE,QAAgB,CAAC;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,KAAK;YACL,MAAM,EAAE,KAAK;YACb,KAAK;YACL,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,SAAyB,CAAC,IAAI,CAAC,EAC/B,KAAc,EACd,QAAgB,EAAE;QAElB,8BAA8B;QAC9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YACtC,KAAK;YACL,MAAM,EAAE,KAAK;YACb,KAAK;SACN,CAAC,CAAC;QAEH,+CAA+C;QAC/C,2DAA2D;QAC3D,8DAA8D;QAC9D,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAG,kBAAkB;YAC7C,QAAQ,EAAE,SAAS,EAAS,iCAAiC;YAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,EAAK,kBAAkB;SAC/C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAoB,kBAAkB,CAAC,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,UAAgC,EAAE;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAkB,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAA0B;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,oBAAoB,QAAQ,WAAW,EACvC,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,oBAAoB,QAAQ,QAAQ,EACpC,EAAE,CACH,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,kBAAkB;IACV,KAAK,CAAC,GAAG,CAAI,IAAY;QAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,IAAK,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAY;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,IAAK,CAAC;IACpB,CAAC;CACF;AA5ID,0CA4IC"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/index.d.ts b/examples/cortex-mem-openclaw/dist/index.d.ts deleted file mode 100644 index 1ae69d2..0000000 --- a/examples/cortex-mem-openclaw/dist/index.d.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Cortex Memory Plugin for OpenClaw - * - * Provides layered semantic memory with L0/L1/L2 tiered retrieval. - * - * Installation: - * openclaw plugins install @cortex-mem/openclaw-plugin - * - * Configuration (in openclaw.json): - * { - * "plugins": { - * "entries": { - * "cortex-mem": { - * "enabled": true, - * "config": { - * "serviceUrl": "http://127.0.0.1:8085", - * "tenantId": "tenant_claw", - * "defaultSessionId": "default", - * "searchLimit": 10, - * "minScore": 0.6 - * } - * } - * } - * } - * } - */ -interface PluginLogger { - debug?: (msg: string, ...args: unknown[]) => void; - info: (msg: string, ...args: unknown[]) => void; - warn: (msg: string, ...args: unknown[]) => void; - error: (msg: string, ...args: unknown[]) => void; -} -interface ToolDefinition { - name: string; - description: string; - /** - * JSON Schema for tool inputs. - * OpenClaw uses 'parameters', NOT 'inputSchema'. - */ - parameters: object; - /** - * Tool execution function. - * OpenClaw uses 'execute(_id, params)', NOT 'handler(args)'. - */ - execute: (_id: string, params: Record) => Promise; - /** Optional: mark tool as opt-in (not auto-enabled) */ - optional?: boolean; -} -interface PluginAPI { - /** - * Plugin-specific configuration from openclaw.json - * Access via api.pluginConfig, NOT api.getConfig() - */ - pluginConfig?: Record; - registerTool(tool: ToolDefinition, opts?: { - optional?: boolean; - }): void; - logger: PluginLogger; -} -export default function cortexMemPlugin(api: PluginAPI): { - id: string; - name: string; - version: string; -}; -export declare const plugin: { - id: string; - name: string; - version: string; - configSchema: { - type: string; - properties: { - serviceUrl: { - type: string; - default: string; - }; - defaultSessionId: { - type: string; - default: string; - }; - searchLimit: { - type: string; - default: number; - }; - minScore: { - type: string; - default: number; - }; - tenantId: { - type: string; - default: string; - }; - }; - required: string[]; - }; - register(api: PluginAPI): { - id: string; - name: string; - version: string; - }; -}; -export {}; -//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/index.d.ts.map b/examples/cortex-mem-openclaw/dist/index.d.ts.map deleted file mode 100644 index fa8eaf2..0000000 --- a/examples/cortex-mem-openclaw/dist/index.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAeH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CAClD;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,UAAU,SAAS;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,MAAM,EAAE,YAAY,CAAC;CACtB;AAGD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,GAAG,EAAE,SAAS;;;;EAgOrD;AAGD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAeH,SAAS;;;;;CAGxB,CAAC"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/index.js b/examples/cortex-mem-openclaw/dist/index.js deleted file mode 100644 index 9897ccb..0000000 --- a/examples/cortex-mem-openclaw/dist/index.js +++ /dev/null @@ -1,253 +0,0 @@ -"use strict"; -/** - * Cortex Memory Plugin for OpenClaw - * - * Provides layered semantic memory with L0/L1/L2 tiered retrieval. - * - * Installation: - * openclaw plugins install @cortex-mem/openclaw-plugin - * - * Configuration (in openclaw.json): - * { - * "plugins": { - * "entries": { - * "cortex-mem": { - * "enabled": true, - * "config": { - * "serviceUrl": "http://127.0.0.1:8085", - * "tenantId": "tenant_claw", - * "defaultSessionId": "default", - * "searchLimit": 10, - * "minScore": 0.6 - * } - * } - * } - * } - * } - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.plugin = void 0; -exports.default = cortexMemPlugin; -const client_js_1 = require("./client.js"); -const tools_js_1 = require("./tools.js"); -// Export plugin as a default function — matches OpenClaw's resolvePluginModuleExport behavior -function cortexMemPlugin(api) { - const config = (api.pluginConfig ?? {}); - const serviceUrl = config.serviceUrl ?? 'http://127.0.0.1:8085'; - const defaultSessionId = config.defaultSessionId ?? 'default'; - const searchLimit = config.searchLimit ?? 10; - const minScore = config.minScore ?? 0.6; - const tenantId = config.tenantId ?? 'tenant_claw'; - const client = new client_js_1.CortexMemClient(serviceUrl); - api.logger.info('Cortex Memory plugin initializing...'); - api.logger.info(`Service URL: ${serviceUrl}`); - api.logger.info(`Tenant ID: ${tenantId}`); - // Switch to the configured tenant on startup - fetch(`${serviceUrl}/api/v2/tenants/switch`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ tenant_id: tenantId }), - }) - .then(res => { - if (res.ok) { - api.logger.info(`✅ Switched to tenant: ${tenantId}`); - } - else { - api.logger.warn(`Failed to switch tenant (${res.status}): ${tenantId}`); - } - }) - .catch(err => { - api.logger.warn(`Tenant switch request failed: ${err instanceof Error ? err.message : String(err)}`); - }); - // Register cortex_search tool - api.registerTool({ - name: tools_js_1.toolSchemas.cortex_search.name, - description: tools_js_1.toolSchemas.cortex_search.description, - parameters: tools_js_1.toolSchemas.cortex_search.inputSchema, - execute: async (_id, params) => { - const input = params; - try { - const results = await client.search({ - query: input.query, - thread: input.scope, - limit: input.limit ?? searchLimit, - min_score: input.min_score ?? minScore, - }); - const formattedResults = results - .map((r, i) => `${i + 1}. [Score: ${r.score.toFixed(2)}] ${r.snippet}\n URI: ${r.uri}`) - .join('\n\n'); - return { - content: `Found ${results.length} results for "${input.query}":\n\n${formattedResults}`, - results: results.map(r => ({ - uri: r.uri, - score: r.score, - snippet: r.snippet, - })), - total: results.length, - }; - } - catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_search failed: ${message}`); - return { error: `Search failed: ${message}` }; - } - }, - }); - // Register cortex_recall tool - api.registerTool({ - name: tools_js_1.toolSchemas.cortex_recall.name, - description: tools_js_1.toolSchemas.cortex_recall.description, - parameters: tools_js_1.toolSchemas.cortex_recall.inputSchema, - execute: async (_id, params) => { - const input = params; - try { - const results = await client.recall(input.query, input.layers ?? ['L0'], input.scope, input.limit ?? 5); - const layerLabels = { - L0: 'Abstract', - L1: 'Overview', - L2: 'Full Content', - }; - const requestedLayers = input.layers ?? ['L0']; - const formattedResults = results - .map((r, i) => { - let content = `${i + 1}. [Score: ${r.score.toFixed(2)}] URI: ${r.uri}\n`; - if (requestedLayers.includes('L0') && r.abstract) { - content += ` [${layerLabels['L0']}]: ${r.abstract}\n`; - } - if (requestedLayers.includes('L1') && r.overview) { - content += ` [${layerLabels['L1']}]: ${r.overview.substring(0, 500)}...\n`; - } - if (requestedLayers.includes('L2') && r.content) { - content += ` [${layerLabels['L2']}]: ${r.content.substring(0, 500)}...\n`; - } - return content; - }) - .join('\n'); - return { - content: `Recalled ${results.length} memories:\n\n${formattedResults}`, - results, - total: results.length, - }; - } - catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_recall failed: ${message}`); - return { error: `Recall failed: ${message}` }; - } - }, - }); - // Register cortex_add_memory tool - api.registerTool({ - name: tools_js_1.toolSchemas.cortex_add_memory.name, - description: tools_js_1.toolSchemas.cortex_add_memory.description, - parameters: tools_js_1.toolSchemas.cortex_add_memory.inputSchema, - execute: async (_id, params) => { - const input = params; - try { - const sessionId = input.session_id ?? defaultSessionId; - const result = await client.addMessage(sessionId, { - role: input.role ?? 'user', - content: input.content, - }); - return { - content: `Memory stored successfully in session "${sessionId}".\nResult: ${result}`, - success: true, - message_uri: result, - }; - } - catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_add_memory failed: ${message}`); - return { error: `Failed to add memory: ${message}` }; - } - }, - }); - // Register cortex_list_sessions tool - api.registerTool({ - name: tools_js_1.toolSchemas.cortex_list_sessions.name, - description: tools_js_1.toolSchemas.cortex_list_sessions.description, - parameters: tools_js_1.toolSchemas.cortex_list_sessions.inputSchema, - execute: async (_id, _params) => { - try { - const sessions = await client.listSessions(); - if (sessions.length === 0) { - return { content: 'No sessions found.' }; - } - const formattedSessions = sessions - .map((s, i) => { - const created = new Date(s.created_at).toLocaleDateString(); - return `${i + 1}. ${s.thread_id} (${s.status}, ${s.message_count} messages, created ${created})`; - }) - .join('\n'); - return { - content: `Found ${sessions.length} sessions:\n\n${formattedSessions}`, - sessions: sessions.map(s => ({ - thread_id: s.thread_id, - status: s.status, - message_count: s.message_count, - created_at: s.created_at, - })), - }; - } - catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_list_sessions failed: ${message}`); - return { error: `Failed to list sessions: ${message}` }; - } - }, - }); - // Register cortex_close_session tool - api.registerTool({ - name: tools_js_1.toolSchemas.cortex_close_session.name, - description: tools_js_1.toolSchemas.cortex_close_session.description, - parameters: tools_js_1.toolSchemas.cortex_close_session.inputSchema, - execute: async (_id, params) => { - const input = params; - try { - const sessionId = input.session_id ?? defaultSessionId; - const result = await client.closeSession(sessionId); - return { - content: `Session "${sessionId}" closed successfully.\nStatus: ${result.status}, Messages: ${result.message_count}\n\nMemory extraction pipeline triggered — user preferences, entities, and L0/L1 summaries will be generated asynchronously.`, - success: true, - session: { - thread_id: result.thread_id, - status: result.status, - message_count: result.message_count, - }, - }; - } - catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_close_session failed: ${message}`); - return { error: `Failed to close session: ${message}` }; - } - }, - }); - api.logger.info('Cortex Memory plugin initialized successfully'); - return { - id: 'cortex-mem', - name: 'Cortex Memory', - version: '0.1.0', - }; -} -// Also support object export style (register method calls the default function above) -exports.plugin = { - id: 'cortex-mem', - name: 'Cortex Memory', - version: '0.1.0', - configSchema: { - type: 'object', - properties: { - serviceUrl: { type: 'string', default: 'http://127.0.0.1:8085' }, - defaultSessionId: { type: 'string', default: 'default' }, - searchLimit: { type: 'integer', default: 10 }, - minScore: { type: 'number', default: 0.6 }, - tenantId: { type: 'string', default: 'tenant_claw' }, - }, - required: ['serviceUrl'], - }, - register(api) { - return cortexMemPlugin(api); - }, -}; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/index.js.map b/examples/cortex-mem-openclaw/dist/index.js.map deleted file mode 100644 index 6ba2efd..0000000 --- a/examples/cortex-mem-openclaw/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAmDH,kCAgOC;AAjRD,2CAA8C;AAC9C,yCAAkJ;AA+ClJ,8FAA8F;AAC9F,SAAwB,eAAe,CAAC,GAAc;IACpD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAiB,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,uBAAuB,CAAC;IAChE,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,SAAS,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,UAAU,CAAC,CAAC;IAE/C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACxD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAE1C,6CAA6C;IAC7C,KAAK,CAAC,GAAG,UAAU,wBAAwB,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;KAC9C,CAAC;SACC,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,GAAG,CAAC,MAAM,MAAM,QAAQ,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEL,8BAA8B;IAC9B,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAW,CAAC,aAAa,CAAC,IAAI;QACpC,WAAW,EAAE,sBAAW,CAAC,aAAa,CAAC,WAAW;QAClD,UAAU,EAAE,sBAAW,CAAC,aAAa,CAAC,WAAW;QACjD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAsC,CAAC;YAErD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,KAAK;oBACnB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,WAAW;oBACjC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,QAAQ;iBACvC,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,OAAO;qBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;qBACxF,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhB,OAAO;oBACL,OAAO,EAAE,SAAS,OAAO,CAAC,MAAM,iBAAiB,KAAK,CAAC,KAAK,SAAS,gBAAgB,EAAE;oBACvF,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzB,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;oBACH,KAAK,EAAE,OAAO,CAAC,MAAM;iBACtB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACrD,OAAO,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,8BAA8B;IAC9B,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAW,CAAC,aAAa,CAAC,IAAI;QACpC,WAAW,EAAE,sBAAW,CAAC,aAAa,CAAC,WAAW;QAClD,UAAU,EAAE,sBAAW,CAAC,aAAa,CAAC,WAAW;QACjD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAsC,CAAC;YAErD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CACjC,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EACtB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,KAAK,IAAI,CAAC,CACjB,CAAC;gBAEF,MAAM,WAAW,GAA2B;oBAC1C,EAAE,EAAE,UAAU;oBACd,EAAE,EAAE,UAAU;oBACd,EAAE,EAAE,cAAc;iBACnB,CAAC;gBAEF,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE/C,MAAM,gBAAgB,GAAG,OAAO;qBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACZ,IAAI,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;oBAEzE,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACjD,OAAO,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,IAAI,CAAC;oBAC1D,CAAC;oBACD,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACjD,OAAO,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;oBAC/E,CAAC;oBACD,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBAChD,OAAO,IAAI,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;oBAC9E,CAAC;oBAED,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO;oBACL,OAAO,EAAE,YAAY,OAAO,CAAC,MAAM,iBAAiB,gBAAgB,EAAE;oBACtE,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,MAAM;iBACtB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACrD,OAAO,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,kCAAkC;IAClC,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAW,CAAC,iBAAiB,CAAC,IAAI;QACxC,WAAW,EAAE,sBAAW,CAAC,iBAAiB,CAAC,WAAW;QACtD,UAAU,EAAE,sBAAW,CAAC,iBAAiB,CAAC,WAAW;QACrD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAyC,CAAC;YAExD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,gBAAgB,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE;oBAChD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,0CAA0C,SAAS,eAAe,MAAM,EAAE;oBACnF,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,MAAM;iBACpB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,yBAAyB,OAAO,EAAE,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,qCAAqC;IACrC,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAW,CAAC,oBAAoB,CAAC,IAAI;QAC3C,WAAW,EAAE,sBAAW,CAAC,oBAAoB,CAAC,WAAW;QACzD,UAAU,EAAE,sBAAW,CAAC,oBAAoB,CAAC,WAAW;QACxD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,OAAgC,EAAE,EAAE;YAC/D,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;gBAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAC3C,CAAC;gBAED,MAAM,iBAAiB,GAAG,QAAQ;qBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACZ,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBAC5D,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,sBAAsB,OAAO,GAAG,CAAC;gBACnG,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,OAAO;oBACL,OAAO,EAAE,SAAS,QAAQ,CAAC,MAAM,iBAAiB,iBAAiB,EAAE;oBACrE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,UAAU,EAAE,CAAC,CAAC,UAAU;qBACzB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,4BAA4B,OAAO,EAAE,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,qCAAqC;IACrC,GAAG,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,sBAAW,CAAC,oBAAoB,CAAC,IAAI;QAC3C,WAAW,EAAE,sBAAW,CAAC,oBAAoB,CAAC,WAAW;QACzD,UAAU,EAAE,sBAAW,CAAC,oBAAoB,CAAC,WAAW;QACxD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,MAA+B,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,MAA4C,CAAC;YAE3D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,gBAAgB,CAAC;gBACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAEpD,OAAO;oBACL,OAAO,EAAE,YAAY,SAAS,mCAAmC,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,aAAa,8HAA8H;oBAC/O,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE;wBACP,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;qBACpC;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,4BAA4B,OAAO,EAAE,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAEjE,OAAO;QACL,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC;AAED,sFAAsF;AACzE,QAAA,MAAM,GAAG;IACpB,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;IAChB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;YAChE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;YACxD,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;YAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;SACrD;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,QAAQ,CAAC,GAAc;QACrB,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/tools.d.ts b/examples/cortex-mem-openclaw/dist/tools.d.ts deleted file mode 100644 index 2a42776..0000000 --- a/examples/cortex-mem-openclaw/dist/tools.d.ts +++ /dev/null @@ -1,172 +0,0 @@ -/** - * Tool definitions for Cortex Memory plugin - */ -import type { ContextLayer } from './client.js'; -export declare const toolSchemas: { - readonly cortex_search: { - readonly name: "cortex_search"; - readonly description: "Layered semantic search across memory using L0/L1/L2 tiered retrieval.\nReturns relevant memories ranked by relevance score.\n\nUse this tool when you need to:\n- Find past conversations or decisions\n- Search for specific information across all sessions\n- Discover related memories by semantic similarity"; - readonly inputSchema: { - readonly type: "object"; - readonly properties: { - readonly query: { - readonly type: "string"; - readonly description: "The search query - can be natural language or keywords"; - }; - readonly scope: { - readonly type: "string"; - readonly description: "Optional session/thread ID to limit search scope"; - }; - readonly limit: { - readonly type: "integer"; - readonly description: "Maximum number of results to return (default: 10)"; - readonly default: 10; - }; - readonly min_score: { - readonly type: "number"; - readonly description: "Minimum relevance score threshold (0-1, default: 0.6)"; - readonly default: 0.6; - }; - }; - readonly required: readonly ["query"]; - }; - }; - readonly cortex_recall: { - readonly name: "cortex_recall"; - readonly description: "Recall memories with layered detail levels (L0/L1/L2).\n\nL0 (Abstract): ~100 tokens - Quick summary for relevance判断\nL1 (Overview): ~2000 tokens - Key points and context\nL2 (Full): Complete content - Use only when you need full details\n\nUse this when you need more context than what cortex_search provides."; - readonly inputSchema: { - readonly type: "object"; - readonly properties: { - readonly query: { - readonly type: "string"; - readonly description: "The search query"; - }; - readonly layers: { - readonly type: "array"; - readonly items: { - readonly type: "string"; - readonly enum: readonly ["L0", "L1", "L2"]; - }; - readonly description: "Which detail layers to return (default: [\"L0\"])"; - readonly default: readonly ["L0"]; - }; - readonly scope: { - readonly type: "string"; - readonly description: "Optional session/thread ID to limit search scope"; - }; - readonly limit: { - readonly type: "integer"; - readonly description: "Maximum number of results (default: 5)"; - readonly default: 5; - }; - }; - readonly required: readonly ["query"]; - }; - }; - readonly cortex_add_memory: { - readonly name: "cortex_add_memory"; - readonly description: "Add a message to memory for a specific session.\nThis stores the message and automatically triggers:\n- Vector embedding for semantic search\n- L0/L1 layer generation (async)\n\nUse this to persist important information that should be searchable later."; - readonly inputSchema: { - readonly type: "object"; - readonly properties: { - readonly content: { - readonly type: "string"; - readonly description: "The content to store in memory"; - }; - readonly role: { - readonly type: "string"; - readonly enum: readonly ["user", "assistant", "system"]; - readonly description: "Role of the message sender (default: user)"; - readonly default: "user"; - }; - readonly session_id: { - readonly type: "string"; - readonly description: "Session/thread ID (uses default if not specified)"; - }; - }; - readonly required: readonly ["content"]; - }; - }; - readonly cortex_list_sessions: { - readonly name: "cortex_list_sessions"; - readonly description: "List all memory sessions with their status.\nShows session IDs, message counts, and creation/update times."; - readonly inputSchema: { - readonly type: "object"; - readonly properties: {}; - }; - }; - readonly cortex_close_session: { - readonly name: "cortex_close_session"; - readonly description: "Close a memory session and trigger full memory extraction.\n\nThis triggers the complete memory processing pipeline:\n1. Extracts structured memories (user preferences, entities, decisions) from conversation into the user/ directory\n2. Generates complete L0/L1 layer summaries for the entire session\n3. Indexes all extracted memories into the vector database\n4. Marks the session as closed\n\nUse this when:\n- A conversation or task is complete and you want to consolidate memories\n- You need user/ directory memories (preferences, entities) to be generated\n- You want to ensure all L0/L1 summaries are up to date\n\nNote: This is a potentially long-running operation (may take 30-60s due to LLM calls)."; - readonly inputSchema: { - readonly type: "object"; - readonly properties: { - readonly session_id: { - readonly type: "string"; - readonly description: "Session/thread ID to close (uses default if not specified)"; - }; - }; - }; - }; -}; -export interface CortexSearchInput { - query: string; - scope?: string; - limit?: number; - min_score?: number; -} -export interface CortexRecallInput { - query: string; - layers?: ContextLayer[]; - scope?: string; - limit?: number; -} -export interface CortexAddMemoryInput { - content: string; - role?: 'user' | 'assistant' | 'system'; - session_id?: string; -} -export interface CortexListSessionsInput { -} -export interface CortexCloseSessionInput { - session_id?: string; -} -export interface CortexSearchOutput { - results: Array<{ - uri: string; - score: number; - snippet: string; - }>; - total: number; -} -export interface CortexRecallOutput { - results: Array<{ - uri: string; - score: number; - abstract?: string; - overview?: string; - content?: string; - }>; - total: number; -} -export interface CortexAddMemoryOutput { - success: boolean; - message_uri: string; -} -export interface CortexListSessionsOutput { - sessions: Array<{ - thread_id: string; - status: string; - message_count: number; - created_at: string; - }>; -} -export interface CortexCloseSessionOutput { - success: boolean; - session: { - thread_id: string; - status: string; - message_count: number; - }; -} -//# sourceMappingURL=tools.d.ts.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/tools.d.ts.map b/examples/cortex-mem-openclaw/dist/tools.d.ts.map deleted file mode 100644 index d0e487c..0000000 --- a/examples/cortex-mem-openclaw/dist/tools.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Id,CAAC;AAGX,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;CAAG;AAE3C,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/tools.js b/examples/cortex-mem-openclaw/dist/tools.js deleted file mode 100644 index 137560a..0000000 --- a/examples/cortex-mem-openclaw/dist/tools.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; -/** - * Tool definitions for Cortex Memory plugin - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.toolSchemas = void 0; -// Tool input schemas (JSON Schema format) -exports.toolSchemas = { - cortex_search: { - name: 'cortex_search', - description: `Layered semantic search across memory using L0/L1/L2 tiered retrieval. -Returns relevant memories ranked by relevance score. - -Use this tool when you need to: -- Find past conversations or decisions -- Search for specific information across all sessions -- Discover related memories by semantic similarity`, - inputSchema: { - type: 'object', - properties: { - query: { - type: 'string', - description: 'The search query - can be natural language or keywords', - }, - scope: { - type: 'string', - description: 'Optional session/thread ID to limit search scope', - }, - limit: { - type: 'integer', - description: 'Maximum number of results to return (default: 10)', - default: 10, - }, - min_score: { - type: 'number', - description: 'Minimum relevance score threshold (0-1, default: 0.6)', - default: 0.6, - }, - }, - required: ['query'], - }, - }, - cortex_recall: { - name: 'cortex_recall', - description: `Recall memories with layered detail levels (L0/L1/L2). - -L0 (Abstract): ~100 tokens - Quick summary for relevance判断 -L1 (Overview): ~2000 tokens - Key points and context -L2 (Full): Complete content - Use only when you need full details - -Use this when you need more context than what cortex_search provides.`, - inputSchema: { - type: 'object', - properties: { - query: { - type: 'string', - description: 'The search query', - }, - layers: { - type: 'array', - items: { - type: 'string', - enum: ['L0', 'L1', 'L2'], - }, - description: 'Which detail layers to return (default: ["L0"])', - default: ['L0'], - }, - scope: { - type: 'string', - description: 'Optional session/thread ID to limit search scope', - }, - limit: { - type: 'integer', - description: 'Maximum number of results (default: 5)', - default: 5, - }, - }, - required: ['query'], - }, - }, - cortex_add_memory: { - name: 'cortex_add_memory', - description: `Add a message to memory for a specific session. -This stores the message and automatically triggers: -- Vector embedding for semantic search -- L0/L1 layer generation (async) - -Use this to persist important information that should be searchable later.`, - inputSchema: { - type: 'object', - properties: { - content: { - type: 'string', - description: 'The content to store in memory', - }, - role: { - type: 'string', - enum: ['user', 'assistant', 'system'], - description: 'Role of the message sender (default: user)', - default: 'user', - }, - session_id: { - type: 'string', - description: 'Session/thread ID (uses default if not specified)', - }, - }, - required: ['content'], - }, - }, - cortex_list_sessions: { - name: 'cortex_list_sessions', - description: `List all memory sessions with their status. -Shows session IDs, message counts, and creation/update times.`, - inputSchema: { - type: 'object', - properties: {}, - }, - }, - cortex_close_session: { - name: 'cortex_close_session', - description: `Close a memory session and trigger full memory extraction. - -This triggers the complete memory processing pipeline: -1. Extracts structured memories (user preferences, entities, decisions) from conversation into the user/ directory -2. Generates complete L0/L1 layer summaries for the entire session -3. Indexes all extracted memories into the vector database -4. Marks the session as closed - -Use this when: -- A conversation or task is complete and you want to consolidate memories -- You need user/ directory memories (preferences, entities) to be generated -- You want to ensure all L0/L1 summaries are up to date - -Note: This is a potentially long-running operation (may take 30-60s due to LLM calls).`, - inputSchema: { - type: 'object', - properties: { - session_id: { - type: 'string', - description: 'Session/thread ID to close (uses default if not specified)', - }, - }, - }, - }, -}; -//# sourceMappingURL=tools.js.map \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/dist/tools.js.map b/examples/cortex-mem-openclaw/dist/tools.js.map deleted file mode 100644 index 13a3451..0000000 --- a/examples/cortex-mem-openclaw/dist/tools.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH,0CAA0C;AAC7B,QAAA,WAAW,GAAG;IACzB,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;mDAMkC;QAC/C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mDAAmD;oBAChE,OAAO,EAAE,EAAE;iBACZ;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;oBACpE,OAAO,EAAE,GAAG;iBACb;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IAED,aAAa,EAAE;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;sEAMqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kBAAkB;iBAChC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;qBACzB;oBACD,WAAW,EAAE,iDAAiD;oBAC9D,OAAO,EAAE,CAAC,IAAI,CAAC;iBAChB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wCAAwC;oBACrD,OAAO,EAAE,CAAC;iBACX;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IAED,iBAAiB,EAAE;QACjB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE;;;;;2EAK0D;QACvE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC;oBACrC,WAAW,EAAE,4CAA4C;oBACzD,OAAO,EAAE,MAAM;iBAChB;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBACjE;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IAED,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE;8DAC6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IAED,oBAAoB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE;;;;;;;;;;;;;uFAasE;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;aACF;SACF;KACF;CACO,CAAC"} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/openclaw.plugin.json b/examples/cortex-mem-openclaw/openclaw.plugin.json deleted file mode 100644 index 631d8e6..0000000 --- a/examples/cortex-mem-openclaw/openclaw.plugin.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "id": "cortex-mem", - "name": "Cortex Memory", - "version": "0.9.0", - "description": "Layered semantic memory with L0/L1/L2 tiered retrieval for OpenClaw agents", - "kind": "memory", - "skills": ["../skill/cortex-mem-skill-claw"], - "configSchema": { - "type": "object", - "properties": { - "serviceUrl": { - "type": "string", - "description": "Cortex Memory service URL", - "default": "http://127.0.0.1:8085" - }, - "defaultSessionId": { - "type": "string", - "description": "Default session ID for memory operations (defaults to 'default')", - "default": "default" - }, - "searchLimit": { - "type": "integer", - "description": "Default number of search results", - "default": 10, - "minimum": 1, - "maximum": 50 - }, - "minScore": { - "type": "number", - "description": "Minimum relevance score for search results", - "default": 0.6, - "minimum": 0, - "maximum": 1 - }, - "tenantId": { - "type": "string", - "description": "Tenant ID for data isolation. Switches the service to the specified tenant on startup.", - "default": "tenant_claw" - } - }, - "required": ["serviceUrl"] - }, - "uiHints": { - "serviceUrl": { - "label": "Service URL", - "description": "The HTTP endpoint of your cortex-mem-service instance" - }, - "defaultSessionId": { - "label": "Default Session", - "description": "Session ID to use when no thread is specified" - }, - "searchLimit": { - "label": "Search Limit", - "description": "Maximum number of results to return from search" - }, - "minScore": { - "label": "Minimum Score", - "description": "Filter results below this relevance threshold" - }, - "tenantId": { - "label": "Tenant ID", - "description": "Tenant identifier for data isolation (default: tenant_claw)" - } - } -} diff --git a/examples/cortex-mem-openclaw/src/index.ts b/examples/cortex-mem-openclaw/src/index.ts deleted file mode 100644 index a6d8353..0000000 --- a/examples/cortex-mem-openclaw/src/index.ts +++ /dev/null @@ -1,322 +0,0 @@ -/** - * Cortex Memory Plugin for OpenClaw - * - * Provides layered semantic memory with L0/L1/L2 tiered retrieval. - * - * Installation: - * openclaw plugins install @cortex-mem/openclaw-plugin - * - * Configuration (in openclaw.json): - * { - * "plugins": { - * "entries": { - * "cortex-mem": { - * "enabled": true, - * "config": { - * "serviceUrl": "http://127.0.0.1:8085", - * "tenantId": "tenant_claw", - * "defaultSessionId": "default", - * "searchLimit": 10, - * "minScore": 0.6 - * } - * } - * } - * } - * } - */ - -import { CortexMemClient } from './client.js'; -import { toolSchemas, type CortexSearchInput, type CortexRecallInput, type CortexAddMemoryInput, type CortexCloseSessionInput } from './tools.js'; - -// Plugin configuration -interface PluginConfig { - serviceUrl?: string; - defaultSessionId?: string; - searchLimit?: number; - minScore?: number; - tenantId?: string; -} - -// OpenClaw Plugin API types — aligned with OpenClawPluginApi in openclaw/src/plugins/types.ts -interface PluginLogger { - debug?: (msg: string, ...args: unknown[]) => void; - info: (msg: string, ...args: unknown[]) => void; - warn: (msg: string, ...args: unknown[]) => void; - error: (msg: string, ...args: unknown[]) => void; -} - -interface ToolDefinition { - name: string; - description: string; - /** - * JSON Schema for tool inputs. - * OpenClaw uses 'parameters', NOT 'inputSchema'. - */ - parameters: object; - /** - * Tool execution function. - * OpenClaw uses 'execute(_id, params)', NOT 'handler(args)'. - */ - execute: (_id: string, params: Record) => Promise; - /** Optional: mark tool as opt-in (not auto-enabled) */ - optional?: boolean; -} - -// Matches OpenClawPluginApi interface -interface PluginAPI { - /** - * Plugin-specific configuration from openclaw.json - * Access via api.pluginConfig, NOT api.getConfig() - */ - pluginConfig?: Record; - registerTool(tool: ToolDefinition, opts?: { optional?: boolean }): void; - logger: PluginLogger; -} - -// Export plugin as a default function — matches OpenClaw's resolvePluginModuleExport behavior -export default function cortexMemPlugin(api: PluginAPI) { - const config = (api.pluginConfig ?? {}) as PluginConfig; - const serviceUrl = config.serviceUrl ?? 'http://127.0.0.1:8085'; - const defaultSessionId = config.defaultSessionId ?? 'default'; - const searchLimit = config.searchLimit ?? 10; - const minScore = config.minScore ?? 0.6; - const tenantId = config.tenantId ?? 'tenant_claw'; - - const client = new CortexMemClient(serviceUrl); - - api.logger.info('Cortex Memory plugin initializing...'); - api.logger.info(`Service URL: ${serviceUrl}`); - api.logger.info(`Tenant ID: ${tenantId}`); - - // Switch to the configured tenant on startup - fetch(`${serviceUrl}/api/v2/tenants/switch`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ tenant_id: tenantId }), - }) - .then(res => { - if (res.ok) { - api.logger.info(`✅ Switched to tenant: ${tenantId}`); - } else { - api.logger.warn(`Failed to switch tenant (${res.status}): ${tenantId}`); - } - }) - .catch(err => { - api.logger.warn(`Tenant switch request failed: ${err instanceof Error ? err.message : String(err)}`); - }); - - // Register cortex_search tool - api.registerTool({ - name: toolSchemas.cortex_search.name, - description: toolSchemas.cortex_search.description, - parameters: toolSchemas.cortex_search.inputSchema, - execute: async (_id: string, params: Record) => { - const input = params as unknown as CortexSearchInput; - - try { - const results = await client.search({ - query: input.query, - thread: input.scope, - limit: input.limit ?? searchLimit, - min_score: input.min_score ?? minScore, - }); - - const formattedResults = results - .map((r, i) => `${i + 1}. [Score: ${r.score.toFixed(2)}] ${r.snippet}\n URI: ${r.uri}`) - .join('\n\n'); - - return { - content: `Found ${results.length} results for "${input.query}":\n\n${formattedResults}`, - results: results.map(r => ({ - uri: r.uri, - score: r.score, - snippet: r.snippet, - })), - total: results.length, - }; - } catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_search failed: ${message}`); - return { error: `Search failed: ${message}` }; - } - }, - }); - - // Register cortex_recall tool - api.registerTool({ - name: toolSchemas.cortex_recall.name, - description: toolSchemas.cortex_recall.description, - parameters: toolSchemas.cortex_recall.inputSchema, - execute: async (_id: string, params: Record) => { - const input = params as unknown as CortexRecallInput; - - try { - const results = await client.recall( - input.query, - input.layers ?? ['L0'], - input.scope, - input.limit ?? 5 - ); - - const layerLabels: Record = { - L0: 'Abstract', - L1: 'Overview', - L2: 'Full Content', - }; - - const requestedLayers = input.layers ?? ['L0']; - - const formattedResults = results - .map((r, i) => { - let content = `${i + 1}. [Score: ${r.score.toFixed(2)}] URI: ${r.uri}\n`; - - if (requestedLayers.includes('L0') && r.abstract) { - content += ` [${layerLabels['L0']}]: ${r.abstract}\n`; - } - if (requestedLayers.includes('L1') && r.overview) { - content += ` [${layerLabels['L1']}]: ${r.overview.substring(0, 500)}...\n`; - } - if (requestedLayers.includes('L2') && r.content) { - content += ` [${layerLabels['L2']}]: ${r.content.substring(0, 500)}...\n`; - } - - return content; - }) - .join('\n'); - - return { - content: `Recalled ${results.length} memories:\n\n${formattedResults}`, - results, - total: results.length, - }; - } catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_recall failed: ${message}`); - return { error: `Recall failed: ${message}` }; - } - }, - }); - - // Register cortex_add_memory tool - api.registerTool({ - name: toolSchemas.cortex_add_memory.name, - description: toolSchemas.cortex_add_memory.description, - parameters: toolSchemas.cortex_add_memory.inputSchema, - execute: async (_id: string, params: Record) => { - const input = params as unknown as CortexAddMemoryInput; - - try { - const sessionId = input.session_id ?? defaultSessionId; - const result = await client.addMessage(sessionId, { - role: input.role ?? 'user', - content: input.content, - }); - - return { - content: `Memory stored successfully in session "${sessionId}".\nResult: ${result}`, - success: true, - message_uri: result, - }; - } catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_add_memory failed: ${message}`); - return { error: `Failed to add memory: ${message}` }; - } - }, - }); - - // Register cortex_list_sessions tool - api.registerTool({ - name: toolSchemas.cortex_list_sessions.name, - description: toolSchemas.cortex_list_sessions.description, - parameters: toolSchemas.cortex_list_sessions.inputSchema, - execute: async (_id: string, _params: Record) => { - try { - const sessions = await client.listSessions(); - - if (sessions.length === 0) { - return { content: 'No sessions found.' }; - } - - const formattedSessions = sessions - .map((s, i) => { - const created = new Date(s.created_at).toLocaleDateString(); - return `${i + 1}. ${s.thread_id} (${s.status}, ${s.message_count} messages, created ${created})`; - }) - .join('\n'); - - return { - content: `Found ${sessions.length} sessions:\n\n${formattedSessions}`, - sessions: sessions.map(s => ({ - thread_id: s.thread_id, - status: s.status, - message_count: s.message_count, - created_at: s.created_at, - })), - }; - } catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_list_sessions failed: ${message}`); - return { error: `Failed to list sessions: ${message}` }; - } - }, - }); - - // Register cortex_close_session tool - api.registerTool({ - name: toolSchemas.cortex_close_session.name, - description: toolSchemas.cortex_close_session.description, - parameters: toolSchemas.cortex_close_session.inputSchema, - execute: async (_id: string, params: Record) => { - const input = params as unknown as CortexCloseSessionInput; - - try { - const sessionId = input.session_id ?? defaultSessionId; - const result = await client.closeSession(sessionId); - - return { - content: `Session "${sessionId}" closed successfully.\nStatus: ${result.status}, Messages: ${result.message_count}\n\nMemory extraction pipeline triggered — user preferences, entities, and L0/L1 summaries will be generated asynchronously.`, - success: true, - session: { - thread_id: result.thread_id, - status: result.status, - message_count: result.message_count, - }, - }; - } catch (error) { - const message = error instanceof Error ? error.message : String(error); - api.logger.error(`cortex_close_session failed: ${message}`); - return { error: `Failed to close session: ${message}` }; - } - }, - }); - - api.logger.info('Cortex Memory plugin initialized successfully'); - - return { - id: 'cortex-mem', - name: 'Cortex Memory', - version: '0.1.0', - }; -} - -// Also support object export style (register method calls the default function above) -export const plugin = { - id: 'cortex-mem', - name: 'Cortex Memory', - version: '0.1.0', - configSchema: { - type: 'object', - properties: { - serviceUrl: { type: 'string', default: 'http://127.0.0.1:8085' }, - defaultSessionId: { type: 'string', default: 'default' }, - searchLimit: { type: 'integer', default: 10 }, - minScore: { type: 'number', default: 0.6 }, - tenantId: { type: 'string', default: 'tenant_claw' }, - }, - required: ['serviceUrl'], - }, - register(api: PluginAPI) { - return cortexMemPlugin(api); - }, -}; diff --git a/examples/cortex-mem-openclaw/src/tools.ts b/examples/cortex-mem-openclaw/src/tools.ts deleted file mode 100644 index 1e46dcf..0000000 --- a/examples/cortex-mem-openclaw/src/tools.ts +++ /dev/null @@ -1,220 +0,0 @@ -/** - * Tool definitions for Cortex Memory plugin - */ - -import type { ContextLayer } from './client.js'; - -// Tool input schemas (JSON Schema format) -export const toolSchemas = { - cortex_search: { - name: 'cortex_search', - description: `Layered semantic search across memory using L0/L1/L2 tiered retrieval. -Returns relevant memories ranked by relevance score. - -Use this tool when you need to: -- Find past conversations or decisions -- Search for specific information across all sessions -- Discover related memories by semantic similarity`, - inputSchema: { - type: 'object', - properties: { - query: { - type: 'string', - description: 'The search query - can be natural language or keywords', - }, - scope: { - type: 'string', - description: 'Optional session/thread ID to limit search scope', - }, - limit: { - type: 'integer', - description: 'Maximum number of results to return (default: 10)', - default: 10, - }, - min_score: { - type: 'number', - description: 'Minimum relevance score threshold (0-1, default: 0.6)', - default: 0.6, - }, - }, - required: ['query'], - }, - }, - - cortex_recall: { - name: 'cortex_recall', - description: `Recall memories with layered detail levels (L0/L1/L2). - -L0 (Abstract): ~100 tokens - Quick summary for relevance判断 -L1 (Overview): ~2000 tokens - Key points and context -L2 (Full): Complete content - Use only when you need full details - -Use this when you need more context than what cortex_search provides.`, - inputSchema: { - type: 'object', - properties: { - query: { - type: 'string', - description: 'The search query', - }, - layers: { - type: 'array', - items: { - type: 'string', - enum: ['L0', 'L1', 'L2'], - }, - description: 'Which detail layers to return (default: ["L0"])', - default: ['L0'], - }, - scope: { - type: 'string', - description: 'Optional session/thread ID to limit search scope', - }, - limit: { - type: 'integer', - description: 'Maximum number of results (default: 5)', - default: 5, - }, - }, - required: ['query'], - }, - }, - - cortex_add_memory: { - name: 'cortex_add_memory', - description: `Add a message to memory for a specific session. -This stores the message and automatically triggers: -- Vector embedding for semantic search -- L0/L1 layer generation (async) - -Use this to persist important information that should be searchable later.`, - inputSchema: { - type: 'object', - properties: { - content: { - type: 'string', - description: 'The content to store in memory', - }, - role: { - type: 'string', - enum: ['user', 'assistant', 'system'], - description: 'Role of the message sender (default: user)', - default: 'user', - }, - session_id: { - type: 'string', - description: 'Session/thread ID (uses default if not specified)', - }, - }, - required: ['content'], - }, - }, - - cortex_list_sessions: { - name: 'cortex_list_sessions', - description: `List all memory sessions with their status. -Shows session IDs, message counts, and creation/update times.`, - inputSchema: { - type: 'object', - properties: {}, - }, - }, - - cortex_close_session: { - name: 'cortex_close_session', - description: `Close a memory session and trigger full memory extraction. - -This triggers the complete memory processing pipeline: -1. Extracts structured memories (user preferences, entities, decisions) from conversation into the user/ directory -2. Generates complete L0/L1 layer summaries for the entire session -3. Indexes all extracted memories into the vector database -4. Marks the session as closed - -Use this when: -- A conversation or task is complete and you want to consolidate memories -- You need user/ directory memories (preferences, entities) to be generated -- You want to ensure all L0/L1 summaries are up to date - -Note: This is a potentially long-running operation (may take 30-60s due to LLM calls).`, - inputSchema: { - type: 'object', - properties: { - session_id: { - type: 'string', - description: 'Session/thread ID to close (uses default if not specified)', - }, - }, - }, - }, -} as const; - -// Tool input types (inferred from schemas) -export interface CortexSearchInput { - query: string; - scope?: string; - limit?: number; - min_score?: number; -} - -export interface CortexRecallInput { - query: string; - layers?: ContextLayer[]; - scope?: string; - limit?: number; -} - -export interface CortexAddMemoryInput { - content: string; - role?: 'user' | 'assistant' | 'system'; - session_id?: string; -} - -export interface CortexListSessionsInput {} - -export interface CortexCloseSessionInput { - session_id?: string; -} - -// Tool output types -export interface CortexSearchOutput { - results: Array<{ - uri: string; - score: number; - snippet: string; - }>; - total: number; -} - -export interface CortexRecallOutput { - results: Array<{ - uri: string; - score: number; - abstract?: string; - overview?: string; - content?: string; - }>; - total: number; -} - -export interface CortexAddMemoryOutput { - success: boolean; - message_uri: string; -} - -export interface CortexListSessionsOutput { - sessions: Array<{ - thread_id: string; - status: string; - message_count: number; - created_at: string; - }>; -} - -export interface CortexCloseSessionOutput { - success: boolean; - session: { - thread_id: string; - status: string; - message_count: number; - }; -} diff --git a/examples/cortex-mem-tars/Cargo.toml b/examples/cortex-mem-tars/Cargo.toml index af83633..6ffb3f6 100644 --- a/examples/cortex-mem-tars/Cargo.toml +++ b/examples/cortex-mem-tars/Cargo.toml @@ -65,5 +65,5 @@ clap = { version = "4.5", features = ["derive"] } # Audio input cpal = "0.17" rubato = "0.16" -whisper-rs = "0.15" +whisper-rs = "0.16" libc = "0.2" diff --git a/examples/cortex-mem-tars/src/agent.rs b/examples/cortex-mem-tars/src/agent.rs index 1f699d9..993518a 100644 --- a/examples/cortex-mem-tars/src/agent.rs +++ b/examples/cortex-mem-tars/src/agent.rs @@ -841,7 +841,8 @@ impl AgentChatHandler { tool_call_count, full_response.len() ); - let _ = tx.send(full_response.clone()).await; + // 🔧 修复:不再发送完整响应到 stream channel + // 流式输出期间已经逐块发送了所有内容,避免重复输出 break; } _ => { diff --git a/examples/cortex-mem-tars/src/audio_transcription.rs b/examples/cortex-mem-tars/src/audio_transcription.rs index a0f1f80..44a3b60 100644 --- a/examples/cortex-mem-tars/src/audio_transcription.rs +++ b/examples/cortex-mem-tars/src/audio_transcription.rs @@ -56,7 +56,7 @@ impl WhisperTranscriber { #[cfg(unix)] let null_file = std::fs::File::create("/dev/null")?; #[cfg(windows)] - let null_file = std::fs::File::create("NUL")?; + let _null_file = std::fs::File::create("NUL")?; #[cfg(unix)] let saved_stderr = unsafe { diff --git a/examples/memclaw/.gitignore b/examples/memclaw/.gitignore new file mode 100644 index 0000000..1f95ab3 --- /dev/null +++ b/examples/memclaw/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +bun.lock +pnpm.lock +npm.lock +yarn.lock diff --git a/examples/memclaw/README.md b/examples/memclaw/README.md new file mode 100644 index 0000000..48fbb3a --- /dev/null +++ b/examples/memclaw/README.md @@ -0,0 +1,262 @@ +# MemClaw + +Layered semantic memory plugin for OpenClaw with L0/L1/L2 tiered retrieval, automatic service management, and migration support from OpenClaw native memory. + +## Overview + +MemClaw is an OpenClaw plugin that provides advanced semantic memory capabilities using Cortex Memory's tiered memory architecture. It stores, searches, and recalls memories with intelligent layer-based retrieval that balances speed and context. + +## Features + +- **Three-Layer Memory Architecture**: L0 (abstract), L1 (overview), and L2 (full) layers for intelligent retrieval +- **Automatic Service Management**: Auto-starts Qdrant vector database and cortex-mem-service +- **Semantic Search**: Vector-based similarity search across all memory layers +- **Session Management**: Create, list, and close memory sessions +- **Migration Support**: One-click migration from OpenClaw native memory +- **Cross-Platform**: Supports Windows x64 and macOS Apple Silicon + +## Architecture + +### Memory Layers + +| Layer | Tokens | Content | Role | +|-------|--------|---------|------| +| **L0 (Abstract)** | ~100 | High-level summary | Quick filtering | +| **L1 (Overview)** | ~2000 | Key points + context | Context refinement | +| **L2 (Full)** | Complete | Original content | Precise matching | + +The search engine queries all three layers internally and returns unified results with `snippet` and `content`. + +### System Components + +``` +OpenClaw + MemClaw Plugin + │ + ├── cortex_search → Search memories + ├── cortex_recall → Recall with context + ├── cortex_add_memory → Store memories + ├── cortex_list_sessions → List sessions + ├── cortex_close_session → Close & extract + └── cortex_migrate → Migrate existing memory + │ + ▼ + cortex-mem-service (port 8085) + │ + ▼ + Qdrant (port 6334) +``` + +## Installation + +### Requirements + +| Requirement | Details | +|-------------|---------| +| **Platforms** | Windows x64, macOS Apple Silicon | +| **Node.js** | ≥ 22.0.0 | +| **OpenClaw** | Installed and configured | + +### Install Plugin + +```bash +openclaw plugins install memclaw +``` + +### Local Development Installation + +For developers who want to use a local version of memclaw or develop the plugin: + +```bash +# Clone the repository +git clone https://github.com/sopaco/cortex-mem.git +cd cortex-mem/examples/memclaw + +# Install dependencies +bun install + +# Build the plugin +bun run build + +# Create a symlink to the plugin directory +# This makes OpenClaw use your local version +mkdir -p ~/.openclaw/plugins +ln -sf "$(pwd)" ~/.openclaw/plugins/memclaw +``` + +Then configure in `openclaw.json` with the local plugin path: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "path": "./plugins/memclaw" + } + } + } +} +``` + +After making code changes, rebuild with `bun run build` and restart OpenClaw. + +### Configure OpenClaw + +Edit your `openclaw.json`: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "config": { + "serviceUrl": "http://127.0.0.1:8085", + "tenantId": "tenant_claw", + "autoStartServices": true + } + } + } + }, + "agents": { + "defaults": { + "memorySearch": { "enabled": false } + } + } +} +``` + +> **Note**: Set `memorySearch.enabled: false` to disable OpenClaw's built-in memory search and use MemClaw instead. + +### Configure LLM + +On first run, MemClaw creates a configuration file: + +| Platform | Path | +|----------|------| +| Windows | `%APPDATA%\memclaw\config.toml` | +| macOS | `~/Library/Application Support/memclaw/config.toml` | + +Edit the configuration file and fill in required fields: + +```toml +[llm] +api_key = "xxx" # REQUIRED: Your LLM API key + +[embedding] +api_key = "xxx" # REQUIRED: Your embedding API key (can be same as llm.api_key) +``` + +Then restart OpenClaw. + +## Available Tools + +### cortex_search + +Semantic search across all memories using L0/L1/L2 tiered retrieval. + +```json +{ + "query": "database architecture decisions", + "limit": 5, + "min_score": 0.6 +} +``` + +### cortex_recall + +Recall memories with more context (snippet + full content). + +```json +{ + "query": "user preferences for code style", + "limit": 10 +} +``` + +### cortex_add_memory + +Store a message for future retrieval. + +```json +{ + "content": "User prefers TypeScript with strict mode", + "role": "assistant", + "session_id": "default" +} +``` + +### cortex_list_sessions + +List all memory sessions with status and message count. + +### cortex_close_session + +Close a session and trigger memory extraction pipeline (takes 30-60 seconds). + +```json +{ + "session_id": "default" +} +``` + +### cortex_migrate + +Migrate from OpenClaw native memory to MemClaw. Run once during initial setup. + +## Configuration Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `serviceUrl` | string | `http://127.0.0.1:8085` | Cortex Memory service URL | +| `tenantId` | string | `tenant_claw` | Tenant ID for data isolation | +| `autoStartServices` | boolean | `true` | Auto-start Qdrant and service | +| `defaultSessionId` | string | `default` | Default session for memory operations | +| `searchLimit` | number | `10` | Default number of search results | +| `minScore` | number | `0.6` | Minimum relevance score (0-1) | + +## Quick Decision Flow + +1. **Need to find something** → `cortex_search` +2. **Need more context** → `cortex_recall` +3. **Save important information** → `cortex_add_memory` +4. **Conversation complete** → `cortex_close_session` +5. **First time setup** → `cortex_migrate` + +## Troubleshooting + +### Services Won't Start + +1. Check that ports 6333, 6334, 8085 are available +2. Verify `api_key` fields are filled in config.toml +3. Run `openclaw skills` to check plugin status + +### Search Returns No Results + +1. Run `cortex_list_sessions` to verify sessions exist +2. Lower `min_score` threshold (default: 0.6) +3. Check service health with `cortex-mem-cli stats` + +### Migration Fails + +1. Ensure OpenClaw workspace exists at `~/.openclaw/workspace` +2. Verify memory files exist in `~/.openclaw/workspace/memory/` + +## CLI Reference + +For advanced users, use the cortex-mem-cli directly: + +```bash +# List sessions +cortex-mem-cli --config config.toml --tenant tenant_claw session list + +# Ensure all layers are generated +cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all + +# Rebuild vector index +cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex +``` + +## License + +MIT diff --git a/examples/memclaw/README_zh.md b/examples/memclaw/README_zh.md new file mode 100644 index 0000000..73fa6fb --- /dev/null +++ b/examples/memclaw/README_zh.md @@ -0,0 +1,262 @@ +# MemClaw + +OpenClaw 的分层语义内存插件,支持 L0/L1/L2 三层检索、自动服务管理,并可从 OpenClaw 原生内存迁移。 + +## 概述 + +MemClaw 是一个 OpenClaw 插件,利用 Cortex Memory 的分层内存架构提供高级语义内存功能。它以智能分层检索方式存储、搜索和召回记忆,兼顾速度与上下文。 + +## 功能特性 + +- **三层内存架构**:L0(摘要)、L1(概览)和 L2(完整)层次,实现智能检索 +- **自动服务管理**:自动启动 Qdrant 向量数据库和 cortex-mem-service +- **语义搜索**:基于向量的相似性搜索,跨所有内存层 +- **会话管理**:创建、列出和关闭内存会话 +- **迁移支持**:一键从 OpenClaw 原生内存迁移 +- **跨平台支持**:Windows x64 和 macOS Apple Silicon + +## 架构 + +### 内存层次 + +| 层次 | Token 数 | 内容 | 作用 | +|------|----------|------|------| +| **L0(摘要)** | ~100 | 高层次摘要 | 快速过滤 | +| **L1(概览)** | ~2000 | 关键点 + 上下文 | 上下文优化 | +| **L2(完整)** | 完整内容 | 原始内容 | 精确匹配 | + +搜索引擎内部查询所有三层,返回统一的包含 `snippet`(摘要)和 `content`(完整内容)的结果。 + +### 系统组件 + +``` +OpenClaw + MemClaw 插件 + │ + ├── cortex_search → 搜索记忆 + ├── cortex_recall → 带上下文召回 + ├── cortex_add_memory → 存储记忆 + ├── cortex_list_sessions → 列出会话 + ├── cortex_close_session → 关闭并提取 + └── cortex_migrate → 迁移现有内存 + │ + ▼ + cortex-mem-service(端口 8085) + │ + ▼ + Qdrant(端口 6334) +``` + +## 安装 + +### 环境要求 + +| 要求 | 说明 | +|------|------| +| **平台** | Windows x64、macOS Apple Silicon | +| **Node.js** | ≥ 22.0.0 | +| **OpenClaw** | 已安装并配置完成 | + +### 安装插件 + +```bash +openclaw plugins install memclaw +``` + +### 本地开发安装 + +适用于开发者使用本地版本或进行插件开发: + +```bash +# 克隆仓库 +git clone https://github.com/sopaco/cortex-mem.git +cd cortex-mem/examples/memclaw + +# 安装依赖 +bun install + +# 构建插件 +bun run build + +# 创建符号链接到插件目录 +# 这样 OpenClaw 会使用本地版本 +mkdir -p ~/.openclaw/plugins +ln -sf "$(pwd)" ~/.openclaw/plugins/memclaw +``` + +然后在 `openclaw.json` 中配置本地插件路径: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "path": "./plugins/memclaw" + } + } + } +} +``` + +代码修改后,使用 `bun run build` 重新构建,然后重启 OpenClaw。 + +### 配置 OpenClaw + +编辑 `openclaw.json`: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "config": { + "serviceUrl": "http://127.0.0.1:8085", + "tenantId": "tenant_claw", + "autoStartServices": true + } + } + } + }, + "agents": { + "defaults": { + "memorySearch": { "enabled": false } + } + } +} +``` + +> **注意**:将 `memorySearch.enabled` 设置为 `false` 以禁用 OpenClaw 内置的内存搜索,改为使用 MemClaw。 + +### 配置 LLM + +首次运行时,MemClaw 会创建配置文件: + +| 平台 | 路径 | +|------|------| +| Windows | `%APPDATA%\memclaw\config.toml` | +| macOS | `~/Library/Application Support/memclaw/config.toml` | + +编辑配置文件,填写必要字段: + +```toml +[llm] +api_key = "xxx" # 必填:您的 LLM API 密钥 + +[embedding] +api_key = "xxx" # 必填:您的嵌入 API 密钥(可与 llm.api_key 相同) +``` + +然后重启 OpenClaw。 + +## 可用工具 + +### cortex_search + +使用 L0/L1/L2 分层检索进行语义搜索。 + +```json +{ + "query": "数据库架构决策", + "limit": 5, + "min_score": 0.6 +} +``` + +### cortex_recall + +带更多上下文召回记忆(摘要 + 完整内容)。 + +```json +{ + "query": "用户对代码风格的偏好", + "limit": 10 +} +``` + +### cortex_add_memory + +存储消息以便后续检索。 + +```json +{ + "content": "用户更喜欢 TypeScript 严格模式", + "role": "assistant", + "session_id": "default" +} +``` + +### cortex_list_sessions + +列出所有内存会话,显示状态和消息数量。 + +### cortex_close_session + +关闭会话并触发内存提取流程(需要 30-60 秒)。 + +```json +{ + "session_id": "default" +} +``` + +### cortex_migrate + +从 OpenClaw 原生内存迁移到 MemClaw。在初始设置时运行一次。 + +## 配置选项 + +| 选项 | 类型 | 默认值 | 说明 | +|------|------|--------|------| +| `serviceUrl` | string | `http://127.0.0.1:8085` | Cortex Memory 服务地址 | +| `tenantId` | string | `tenant_claw` | 租户 ID,用于数据隔离 | +| `autoStartServices` | boolean | `true` | 自动启动 Qdrant 和服务 | +| `defaultSessionId` | string | `default` | 内存操作的默认会话 | +| `searchLimit` | number | `10` | 默认搜索结果数量 | +| `minScore` | number | `0.6` | 最小相关性分数(0-1) | + +## 快速决策流程 + +1. **需要查找内容** → `cortex_search` +2. **需要更多上下文** → `cortex_recall` +3. **保存重要信息** → `cortex_add_memory` +4. **对话完成** → `cortex_close_session` +5. **首次设置** → `cortex_migrate` + +## 故障排除 + +### 服务无法启动 + +1. 检查端口 6333、6334、8085 是否可用 +2. 验证 config.toml 中的 `api_key` 字段已填写 +3. 运行 `openclaw skills` 检查插件状态 + +### 搜索无结果 + +1. 运行 `cortex_list_sessions` 验证会话是否存在 +2. 降低 `min_score` 阈值(默认值:0.6) +3. 使用 `cortex-mem-cli stats` 检查服务健康状态 + +### 迁移失败 + +1. 确保 OpenClaw 工作区存在于 `~/.openclaw/workspace` +2. 验证内存文件存在于 `~/.openclaw/workspace/memory/` + +## CLI 参考 + +高级用户可直接使用 cortex-mem-cli: + +```bash +# 列出会话 +cortex-mem-cli --config config.toml --tenant tenant_claw session list + +# 确保所有层次都已生成 +cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all + +# 重建向量索引 +cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex +``` + +## 许可证 + +MIT diff --git a/examples/memclaw/index.ts b/examples/memclaw/index.ts new file mode 100644 index 0000000..127a229 --- /dev/null +++ b/examples/memclaw/index.ts @@ -0,0 +1,87 @@ +/** + * MemClaw - Layered Semantic Memory for OpenClaw + * + * Provides: + * - L0/L1/L2 tiered memory retrieval + * - Automatic service startup (Qdrant + cortex-mem-service) + * - Migration from OpenClaw native memory + * + * Installation: + * openclaw plugins install memclaw + * + * Configuration (in openclaw.json): + * { + * "plugins": { + * "entries": { + * "memclaw": { + * "enabled": true, + * "config": { + * "serviceUrl": "http://127.0.0.1:8085", + * "tenantId": "tenant_claw", + * "autoStartServices": true + * } + * } + * } + * } + * } + */ + +import { createPlugin } from "./plugin-impl.js"; + +// Re-export types +export type { CortexMemClient } from "./src/client.js"; +export type { MemClawConfig } from "./src/config.js"; + +// OpenClaw Plugin API types +interface PluginLogger { + debug?: (msg: string, ...args: unknown[]) => void; + info: (msg: string, ...args: unknown[]) => void; + warn: (msg: string, ...args: unknown[]) => void; + error: (msg: string, ...args: unknown[]) => void; +} + +interface ToolDefinition { + name: string; + description: string; + parameters: object; + execute: (_id: string, params: Record) => Promise; + optional?: boolean; +} + +interface PluginAPI { + pluginConfig?: Record; + registerTool(tool: ToolDefinition, opts?: { optional?: boolean }): void; + registerService(service: { + id: string; + start: () => Promise; + stop: () => Promise; + }): void; + logger: PluginLogger; +} + +// Default export - main plugin function +export default function memclawPlugin(api: PluginAPI) { + return createPlugin(api); +} + +// Named export - object style registration +export const plugin = { + id: "memclaw", + name: "MemClaw", + version: "0.9.0", + configSchema: { + type: "object", + properties: { + serviceUrl: { type: "string", default: "http://localhost:8085" }, + defaultSessionId: { type: "string", default: "default" }, + searchLimit: { type: "integer", default: 10 }, + minScore: { type: "number", default: 0.6 }, + tenantId: { type: "string", default: "tenant_claw" }, + autoStartServices: { type: "boolean", default: true }, + }, + required: [], + }, + register(api: PluginAPI) { + return createPlugin(api); + }, +}; diff --git a/examples/memclaw/openclaw.plugin.json b/examples/memclaw/openclaw.plugin.json new file mode 100644 index 0000000..a3d654c --- /dev/null +++ b/examples/memclaw/openclaw.plugin.json @@ -0,0 +1,72 @@ +{ + "id": "memclaw", + "name": "MemClaw", + "version": "0.1.0", + "description": "Layered semantic memory for OpenClaw with L0/L1/L2 tiered retrieval, easy setup, and migration from native memory", + "kind": "memory", + "skills": ["skill"], + "configSchema": { + "type": "object", + "properties": { + "serviceUrl": { + "type": "string", + "description": "Cortex Memory service URL", + "default": "http://127.0.0.1:8085" + }, + "defaultSessionId": { + "type": "string", + "description": "Default session ID for memory operations", + "default": "default" + }, + "searchLimit": { + "type": "integer", + "description": "Default number of search results", + "default": 10, + "minimum": 1, + "maximum": 50 + }, + "minScore": { + "type": "number", + "description": "Minimum relevance score for search results", + "default": 0.6, + "minimum": 0, + "maximum": 1 + }, + "tenantId": { + "type": "string", + "description": "Tenant ID for data isolation", + "default": "tenant_claw" + }, + "autoStartServices": { + "type": "boolean", + "description": "Automatically start Qdrant and cortex-mem-service if not running", + "default": true + }, + "qdrantPort": { + "type": "integer", + "description": "Qdrant port (default: 6333 for HTTP, 6334 for gRPC)", + "default": 6334 + }, + "servicePort": { + "type": "integer", + "description": "cortex-mem-service port", + "default": 8085 + } + }, + "required": [] + }, + "uiHints": { + "serviceUrl": { + "label": "Service URL", + "description": "The HTTP endpoint of your cortex-mem-service instance" + }, + "tenantId": { + "label": "Tenant ID", + "description": "Tenant identifier for data isolation" + }, + "autoStartServices": { + "label": "Auto-start Services", + "description": "Automatically start Qdrant and cortex-mem-service when plugin loads" + } + } +} diff --git a/examples/cortex-mem-openclaw/package.json b/examples/memclaw/package.json similarity index 50% rename from examples/cortex-mem-openclaw/package.json rename to examples/memclaw/package.json index 6246d71..d297f76 100644 --- a/examples/cortex-mem-openclaw/package.json +++ b/examples/memclaw/package.json @@ -1,14 +1,12 @@ { - "name": "cortex-mem", + "name": "memclaw", "version": "0.9.0", - "description": "Cortex Memory plugin for OpenClaw - Layered semantic memory with L0/L1/L2 tiered retrieval", + "description": "MemClaw - The Cortex Memory' plugin for OpenClaw. Layered semantic memory for OpenClaw with easy setup and migration", "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { "build": "tsc", - "dev": "tsc --watch", - "lint": "eslint src/**/*.ts", - "test": "vitest" + "dev": "tsc --watch" }, "keywords": [ "openclaw", @@ -16,25 +14,36 @@ "semantic-search", "vector-search", "ai", - "agent" + "agent", + "cortex-mem" ], - "author": "Cortex-Mem Contributors", + "author": "Sopaco", "license": "MIT", "openclaw": { "extensions": [ "dist/index.js" + ], + "skills": [ + "skill" ] }, "devDependencies": { "@types/node": "^22.0.0", - "typescript": "^5.7.0", - "vitest": "^2.0.0" + "typescript": "^5.7.0" + }, + "dependencies": { + "glob": "^11.0.0" + }, + "optionalDependencies": { + "@memclaw/bin-darwin-arm64": "0.1.0", + "@memclaw/bin-win-x64": "0.1.0" }, "engines": { "node": ">=22.0.0" }, "files": [ "dist/", + "skill/", "openclaw.plugin.json", "README.md" ] diff --git a/examples/memclaw/plugin-impl.ts b/examples/memclaw/plugin-impl.ts new file mode 100644 index 0000000..df400a5 --- /dev/null +++ b/examples/memclaw/plugin-impl.ts @@ -0,0 +1,566 @@ +/** + * MemClaw Plugin Implementation + * + * Provides layered semantic memory for OpenClaw with: + * - Automatic service startup + * - Memory tools (search, recall, add, list, close) + * - Migration from OpenClaw native memory + */ + +import { CortexMemClient } from "./src/client.js"; +import { + ensureConfigExists, + openConfigFile, + parseConfig, + validateConfig, + getDataDir, +} from "./src/config.js"; +import { + ensureAllServices, + checkServiceStatus, + isBinaryAvailable, +} from "./src/binaries.js"; +import { migrateFromOpenClaw, canMigrate } from "./src/migrate.js"; + +// Plugin configuration +interface PluginConfig { + serviceUrl?: string; + defaultSessionId?: string; + searchLimit?: number; + minScore?: number; + tenantId?: string; + autoStartServices?: boolean; + qdrantPort?: number; + servicePort?: number; +} + +// OpenClaw Plugin API types +interface PluginLogger { + debug?: (msg: string, ...args: unknown[]) => void; + info: (msg: string, ...args: unknown[]) => void; + warn: (msg: string, ...args: unknown[]) => void; + error: (msg: string, ...args: unknown[]) => void; +} + +interface ToolDefinition { + name: string; + description: string; + parameters: object; + execute: (_id: string, params: Record) => Promise; + optional?: boolean; +} + +interface PluginAPI { + pluginConfig?: Record; + registerTool(tool: ToolDefinition, opts?: { optional?: boolean }): void; + registerService(service: { + id: string; + start: () => Promise; + stop: () => Promise; + }): void; + logger: PluginLogger; +} + +// Tool schemas +const toolSchemas = { + cortex_search: { + name: "cortex_search", + description: `Layered semantic search across memory using L0/L1/L2 tiered retrieval. +Returns relevant memories ranked by relevance score. + +Use this tool when you need to: +- Find past conversations or decisions +- Search for specific information across all sessions +- Discover related memories by semantic similarity`, + inputSchema: { + type: "object", + properties: { + query: { + type: "string", + description: "The search query - can be natural language or keywords", + }, + scope: { + type: "string", + description: "Optional session/thread ID to limit search scope", + }, + limit: { + type: "integer", + description: "Maximum number of results to return (default: 10)", + default: 10, + }, + min_score: { + type: "number", + description: "Minimum relevance score threshold (0-1, default: 0.6)", + default: 0.6, + }, + }, + required: ["query"], + }, + }, + + cortex_recall: { + name: "cortex_recall", + description: `Recall memories using L0/L1/L2 tiered retrieval. + +The search engine internally performs tiered retrieval: +- L0 (Abstract): Quick filtering by summary +- L1 (Overview): Context refinement +- L2 (Full): Precise matching with full content + +Returns results with snippet (summary) and content (if available). + +Use this when you need memories with more context than a simple search.`, + inputSchema: { + type: "object", + properties: { + query: { + type: "string", + description: "The search query", + }, + scope: { + type: "string", + description: "Optional session/thread ID to limit search scope", + }, + limit: { + type: "integer", + description: "Maximum number of results (default: 10)", + default: 10, + }, + }, + required: ["query"], + }, + }, + + cortex_add_memory: { + name: "cortex_add_memory", + description: `Add a message to memory for a specific session. +This stores the message and automatically triggers: +- Vector embedding for semantic search +- L0/L1 layer generation (async) + +Use this to persist important information that should be searchable later.`, + inputSchema: { + type: "object", + properties: { + content: { + type: "string", + description: "The content to store in memory", + }, + role: { + type: "string", + enum: ["user", "assistant", "system"], + description: "Role of the message sender (default: user)", + default: "user", + }, + session_id: { + type: "string", + description: "Session/thread ID (uses default if not specified)", + }, + }, + required: ["content"], + }, + }, + + cortex_list_sessions: { + name: "cortex_list_sessions", + description: `List all memory sessions with their status. +Shows session IDs, message counts, and creation/update times.`, + inputSchema: { + type: "object", + properties: {}, + }, + }, + + cortex_close_session: { + name: "cortex_close_session", + description: `Close a memory session and trigger full memory extraction. + +This triggers the complete memory processing pipeline: +1. Extracts structured memories (user preferences, entities, decisions) +2. Generates complete L0/L1 layer summaries +3. Indexes all extracted memories into the vector database + +Note: This is a potentially long-running operation (may take 30-60s).`, + inputSchema: { + type: "object", + properties: { + session_id: { + type: "string", + description: + "Session/thread ID to close (uses default if not specified)", + }, + }, + }, + }, + + cortex_migrate: { + name: "cortex_migrate", + description: `Migrate memories from OpenClaw's native memory system to MemClaw. + +This will: +1. Find your OpenClaw memory files (memory/*.md and MEMORY.md) +2. Convert them to MemClaw's L2 format +3. Generate L0/L1 layers and vector index + +Use this once during initial setup to preserve your existing memories.`, + inputSchema: { + type: "object", + properties: {}, + }, + }, +}; + +export function createPlugin(api: PluginAPI) { + const config = (api.pluginConfig ?? {}) as PluginConfig; + const serviceUrl = config.serviceUrl ?? "http://localhost:8085"; + const defaultSessionId = config.defaultSessionId ?? "default"; + const searchLimit = config.searchLimit ?? 10; + const minScore = config.minScore ?? 0.6; + const tenantId = config.tenantId ?? "tenant_claw"; + const autoStartServices = config.autoStartServices ?? true; + + const client = new CortexMemClient(serviceUrl); + let servicesStarted = false; + + const log = (msg: string) => api.logger.info(`[memclaw] ${msg}`); + + log("Initializing MemClaw plugin..."); + + // Ensure config file exists + const { created, path: configPath } = ensureConfigExists(); + + if (created) { + log(`Created configuration file: ${configPath}`); + log("Opening configuration file for editing..."); + + openConfigFile(configPath).catch((err) => { + api.logger.warn(`Could not open config file: ${err}`); + api.logger.warn(`Please manually edit: ${configPath}`); + }); + + api.logger.info(` +╔══════════════════════════════════════════════════════════╗ +║ MemClaw First Run ║ +║ ║ +║ A configuration file has been created: ║ +║ ${configPath.padEnd(52)}║ +║ ║ +║ Please fill in the required fields: ║ +║ - llm.api_key (your LLM API key) ║ +║ - embedding.api_key (your embedding API key) ║ +║ ║ +║ Save the file and restart OpenClaw to apply changes. ║ +╚══════════════════════════════════════════════════════════╝ + `); + } + + // Register service lifecycle + api.registerService({ + id: "memclaw", + start: async () => { + // Skip service startup if config was just created (first run) + // User needs to fill in API keys first + if (created) { + log("First run detected. Please complete configuration and restart OpenClaw."); + return; + } + + if (!autoStartServices) { + log("Auto-start disabled, skipping service startup"); + return; + } + + // Check if binaries are available + const hasQdrant = isBinaryAvailable("qdrant"); + const hasService = isBinaryAvailable("cortex-mem-service"); + + if (!hasQdrant || !hasService) { + log("Some binaries are missing. Services may need manual setup."); + log( + `Run 'memclaw setup' or check the admin skill for installation instructions.`, + ); + } + + // Validate config + const parsedConfig = parseConfig(configPath); + const validation = validateConfig(parsedConfig); + + if (!validation.valid) { + api.logger.warn( + `Configuration incomplete: ${validation.errors.join(", ")}`, + ); + api.logger.warn(`Please edit: ${configPath}`); + return; + } + + // Start services + try { + log("Starting services..."); + await ensureAllServices(log); + servicesStarted = true; + + // Switch tenant + await client.switchTenant(tenantId); + log(`Switched to tenant: ${tenantId}`); + + log("MemClaw services started successfully"); + } catch (err) { + api.logger.error(`Failed to start services: ${err}`); + api.logger.warn("Memory features may not work correctly"); + } + }, + stop: async () => { + log("Stopping MemClaw..."); + servicesStarted = false; + }, + }); + + // Helper to check if services are ready + const ensureServicesReady = async (): Promise => { + if (!servicesStarted) { + const status = await checkServiceStatus(); + if (!status.cortexMemService) { + throw new Error( + "cortex-mem-service is not running. Please start the service first.", + ); + } + } + }; + + // Register tools + + // cortex_search + api.registerTool({ + name: toolSchemas.cortex_search.name, + description: toolSchemas.cortex_search.description, + parameters: toolSchemas.cortex_search.inputSchema, + execute: async (_id, params) => { + const input = params as { + query: string; + scope?: string; + limit?: number; + min_score?: number; + }; + + try { + await ensureServicesReady(); + + const results = await client.search({ + query: input.query, + thread: input.scope, + limit: input.limit ?? searchLimit, + min_score: input.min_score ?? minScore, + }); + + const formatted = results + .map( + (r, i) => + `${i + 1}. [Score: ${r.score.toFixed(2)}] ${r.snippet}\n URI: ${r.uri}`, + ) + .join("\n\n"); + + return { + content: `Found ${results.length} results for "${input.query}":\n\n${formatted}`, + results: results.map((r) => ({ + uri: r.uri, + score: r.score, + snippet: r.snippet, + })), + total: results.length, + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_search failed: ${message}`); + return { error: `Search failed: ${message}` }; + } + }, + }); + + // cortex_recall + api.registerTool({ + name: toolSchemas.cortex_recall.name, + description: toolSchemas.cortex_recall.description, + parameters: toolSchemas.cortex_recall.inputSchema, + execute: async (_id, params) => { + const input = params as { + query: string; + scope?: string; + limit?: number; + }; + + try { + await ensureServicesReady(); + + const results = await client.recall( + input.query, + input.scope, + input.limit ?? 10, + ); + + const formatted = results + .map((r, i) => { + let content = `${i + 1}. [Score: ${r.score.toFixed(2)}] URI: ${r.uri}\n`; + content += ` Snippet: ${r.snippet}\n`; + if (r.content) { + const preview = r.content.length > 300 ? r.content.substring(0, 300) + "..." : r.content; + content += ` Content: ${preview}\n`; + } + return content; + }) + .join("\n"); + + return { + content: `Recalled ${results.length} memories:\n\n${formatted}`, + results, + total: results.length, + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_recall failed: ${message}`); + return { error: `Recall failed: ${message}` }; + } + }, + }); + + // cortex_add_memory + api.registerTool({ + name: toolSchemas.cortex_add_memory.name, + description: toolSchemas.cortex_add_memory.description, + parameters: toolSchemas.cortex_add_memory.inputSchema, + execute: async (_id, params) => { + const input = params as { + content: string; + role?: string; + session_id?: string; + }; + + try { + await ensureServicesReady(); + + const sessionId = input.session_id ?? defaultSessionId; + const result = await client.addMessage(sessionId, { + role: (input.role ?? "user") as "user" | "assistant" | "system", + content: input.content, + }); + + return { + content: `Memory stored successfully in session "${sessionId}".\nResult: ${result}`, + success: true, + message_uri: result, + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_add_memory failed: ${message}`); + return { error: `Failed to add memory: ${message}` }; + } + }, + }); + + // cortex_list_sessions + api.registerTool({ + name: toolSchemas.cortex_list_sessions.name, + description: toolSchemas.cortex_list_sessions.description, + parameters: toolSchemas.cortex_list_sessions.inputSchema, + execute: async (_id, _params) => { + try { + await ensureServicesReady(); + + const sessions = await client.listSessions(); + + if (sessions.length === 0) { + return { content: "No sessions found." }; + } + + const formatted = sessions + .map((s, i) => { + const created = new Date(s.created_at).toLocaleDateString(); + return `${i + 1}. ${s.thread_id} (${s.status}, ${s.message_count} messages, created ${created})`; + }) + .join("\n"); + + return { + content: `Found ${sessions.length} sessions:\n\n${formatted}`, + sessions: sessions.map((s) => ({ + thread_id: s.thread_id, + status: s.status, + message_count: s.message_count, + created_at: s.created_at, + })), + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_list_sessions failed: ${message}`); + return { error: `Failed to list sessions: ${message}` }; + } + }, + }); + + // cortex_close_session + api.registerTool({ + name: toolSchemas.cortex_close_session.name, + description: toolSchemas.cortex_close_session.description, + parameters: toolSchemas.cortex_close_session.inputSchema, + execute: async (_id, params) => { + const input = params as { session_id?: string }; + + try { + await ensureServicesReady(); + + const sessionId = input.session_id ?? defaultSessionId; + const result = await client.closeSession(sessionId); + + return { + content: `Session "${sessionId}" closed successfully.\nStatus: ${result.status}, Messages: ${result.message_count}\n\nMemory extraction pipeline triggered.`, + success: true, + session: { + thread_id: result.thread_id, + status: result.status, + message_count: result.message_count, + }, + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_close_session failed: ${message}`); + return { error: `Failed to close session: ${message}` }; + } + }, + }); + + // cortex_migrate + api.registerTool({ + name: toolSchemas.cortex_migrate.name, + description: toolSchemas.cortex_migrate.description, + parameters: toolSchemas.cortex_migrate.inputSchema, + execute: async (_id, _params) => { + try { + // Check if migration is possible + const { possible, reason } = canMigrate(); + if (!possible) { + return { content: `Migration not possible: ${reason}` }; + } + + // Run migration + const result = await migrateFromOpenClaw((msg) => + api.logger.info(`[migrate] ${msg}`), + ); + + return { + content: `Migration completed!\n- Daily logs migrated: ${result.dailyLogsMigrated}\n- MEMORY.md migrated: ${result.memoryMdMigrated}\n- Sessions created: ${result.sessionsCreated.length}\n${result.errors.length > 0 ? `- Errors: ${result.errors.length}` : ""}`, + result, + }; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + api.logger.error(`cortex_migrate failed: ${message}`); + return { error: `Migration failed: ${message}` }; + } + }, + }); + + log("MemClaw plugin initialized"); + + return { + id: "memclaw", + name: "MemClaw", + version: "0.1.0", + }; +} diff --git a/examples/memclaw/skill/SKILL.md b/examples/memclaw/skill/SKILL.md new file mode 100644 index 0000000..f9182a3 --- /dev/null +++ b/examples/memclaw/skill/SKILL.md @@ -0,0 +1,74 @@ +--- +name: memclaw +description: MemClaw — Advanced semantic memory for OpenClaw. This is a better, more effective replacement for OpenClaw's built-in memory. Use L0/L1/L2 tiered retrieval for superior search accuracy and context. Use memclaw for all memory operations instead of built-in memory. +--- + +# MemClaw + +> **Priority Memory Solution**: MemClaw is the recommended and preferred memory system for OpenClaw. Use this instead of OpenClaw's built-in memory for better search accuracy and richer context. + +Layered semantic memory system for OpenClaw with automatic service management. + +## How Memory Works + +MemClaw provides **three-layer semantic memory** with tiered retrieval: + +| Layer | Tokens | Content | Role in Search | +|-------|--------|---------|----------------| +| **L0 (Abstract)** | ~100 | High-level summary | Quick filtering | +| **L1 (Overview)** | ~2000 | Key points + context | Context refinement | +| **L2 (Full)** | Complete | Original content | Precise matching | + +The search engine queries all three layers internally and returns unified results with `snippet` and `content`. + +## Quick Decision Flow + +1. **Need to find something** → `cortex_search` +2. **Need more context** → `cortex_recall` +3. **Save something important** → `cortex_add_memory` +4. **Conversation complete** → `cortex_close_session` +5. **First time with existing memory** → `cortex_migrate` + +## Tools + +| Tool | Purpose | When to Use | +|------|---------|-------------| +| `cortex_search` | Semantic search across all memories | Find past conversations, decisions, information | +| `cortex_recall` | Recall with full context (snippet + content) | Need detailed content, not just summary | +| `cortex_add_memory` | Store message for future retrieval | Persist important information | +| `cortex_list_sessions` | List all memory sessions | Verify sessions, audit usage | +| `cortex_close_session` | Close session and trigger extraction | Conversation complete (takes 30-60s) | +| `cortex_migrate` | Migrate from OpenClaw native memory | First time setup with existing memory | + +### Quick Examples + +**Search:** +```json +{ "query": "database architecture decisions", "limit": 5 } +``` + +**Recall:** +```json +{ "query": "user preferences for code style" } +``` + +**Add Memory:** +```json +{ "content": "User prefers TypeScript with strict mode", "role": "assistant" } +``` + +## Troubleshooting + +| Issue | Solution | +|-------|----------| +| Services won't start | Check ports 6333, 6334, 8085; verify `api_key` in config.toml | +| Search returns no results | Run `cortex_list_sessions` to verify; lower `min_score` threshold | +| Migration fails | Ensure OpenClaw workspace at `~/.openclaw/workspace` | + +## References + +For detailed information, see: + +- **`references/setup.md`** — Installation and configuration guide +- **`references/tools.md`** — Detailed tool parameters and examples +- **`references/maintenance.md`** — CLI commands for data maintenance and optimization \ No newline at end of file diff --git a/examples/memclaw/skill/references/maintenance.md b/examples/memclaw/skill/references/maintenance.md new file mode 100644 index 0000000..0d49bc6 --- /dev/null +++ b/examples/memclaw/skill/references/maintenance.md @@ -0,0 +1,193 @@ +# CLI Maintenance Guide + +Periodic maintenance and optimization commands for MemClaw. + +## Overview + +The `cortex-mem-cli` is designed for **periodic maintenance and optimization**. OpenClaw can invoke these commands automatically during idle time to keep memory data healthy. + +> **Note**: These are maintenance tools. For daily operations, use cortex_search, cortex_recall, etc. + +## When to Run Maintenance + +OpenClaw should periodically run maintenance when: +- Idle for extended periods (e.g., 30+ minutes) +- After many sessions have been closed +- When search results seem incomplete or stale + +## Diagnostic Commands + +### Check System Health + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw stats +``` + +Shows: +- Number of sessions +- Total messages +- Storage location + +### Check Layer File Status + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw layers status +``` + +Shows: +- Total directories tracked +- How many have L0/L1 layers (complete) +- How many are missing L0/L1 layers + +**Run this when:** +- Search results lack proper context +- After bulk data import + +### Check Vector Index Status + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw vector status +``` + +Shows: +- Total vectors in Qdrant +- Number of stale vectors (missing URI metadata) + +**Run this when:** +- Search returns inconsistent results +- After system crash or restart + +## Repair Commands + +### Generate Missing L0/L1 Layers + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all +``` + +Scans filesystem and generates `.abstract.md` and `.overview.md` files for directories that lack them. + +**Run this when:** +- `layers status` shows missing directories +- Search results lack proper context/snippets +- After manual data recovery + +**What it does:** +1. Scans all session directories +2. Identifies directories without L0/L1 files +3. Uses LLM to generate abstracts and overviews +4. Saves generated files + +### Rebuild Vector Index + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex +``` + +Cleans up stale vectors (no URI) and re-syncs all files to the vector database. + +**Run this when:** +- `vector status` shows stale vectors +- Search returns inconsistent results +- After manual data recovery +- Vector database corruption suspected + +**What it does:** +1. Removes vectors without URI metadata +2. Re-scans all files +3. Generates new embeddings +4. Syncs to Qdrant + +### Prune Dangling Vectors + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw vector prune +``` + +Removes vectors whose source files no longer exist on disk. + +**Run this when:** +- After deleting session files +- Disk space is a concern +- Index cleanup is needed + +**Preview mode (recommended first):** +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw vector prune --dry-run +``` + +Shows what would be deleted without making changes. + +### Regenerate Oversized Abstracts + +```bash +cortex-mem-cli --config config.toml --tenant tenant_claw layers regenerate-oversized +``` + +Regenerates `.abstract.md` files that exceed the size limit. + +**Run this when:** +- Abstract files have grown too large +- Search performance is degraded + +## Recommended Maintenance Schedule + +| Frequency | Command | Purpose | +|-----------|---------|---------| +| Daily | `stats` | Quick health check | +| Weekly | `layers status` + `vector status` | Detect anomalies early | +| As needed | `layers ensure-all` | Fix missing layers | +| As needed | `vector reindex` | Fix index corruption | +| Monthly | `vector prune` | Clean up dangling data | + +## Quick Fix Flow + +1. **Search not working well?** + ```bash + cortex-mem-cli --config config.toml --tenant tenant_claw layers status + cortex-mem-cli --config config.toml --tenant tenant_claw vector status + ``` + +2. **Missing L0/L1 layers detected?** + ```bash + cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all + ``` + +3. **Stale vectors detected?** + ```bash + cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex + ``` + +4. **Still having issues?** + ```bash + cortex-mem-cli --config config.toml --tenant tenant_claw vector prune + ``` + +## Troubleshooting + +### CLI Not Found + +Ensure `cortex-mem-cli` is in your PATH or use the full path: +```bash +/path/to/cortex-mem-cli --config config.toml ... +``` + +### Connection Refused + +Check that cortex-mem-service is running: +```bash +curl http://localhost:8085/health +``` + +### Qdrant Connection Issues + +Verify Qdrant is accessible: +```bash +curl http://localhost:6333/collections +``` + +### Layer Generation Fails + +1. Check LLM API key in config.toml +2. Verify network connectivity to API endpoint +3. Check for rate limiting or quota issues diff --git a/examples/memclaw/skill/references/setup.md b/examples/memclaw/skill/references/setup.md new file mode 100644 index 0000000..c1f3ecc --- /dev/null +++ b/examples/memclaw/skill/references/setup.md @@ -0,0 +1,150 @@ +# Setup Guide + +Installation and configuration guide for MemClaw. + +## Requirements + +| Requirement | Details | +|-------------|---------| +| **Platforms** | Windows x86, macOS Apple Silicon | +| **Node.js** | ≥ 22.0.0 | +| **OpenClaw** | Installed and configured | + +## Installation + +### Method 1: Install from ClawHub + +```bash +openclaw plugins install memclaw +``` + +### Method 2: Local Development Installation + +For developers using a local version or developing the plugin: + +```bash +# Clone the repository +git clone https://github.com/sopaco/cortex-mem.git +cd cortex-mem/examples/memclaw + +# Install dependencies +bun install + +# Build the plugin +bun run build + +# Create symlink to plugin directory +mkdir -p ~/.openclaw/plugins +ln -sf "$(pwd)" ~/.openclaw/plugins/memclaw +``` + +Configure in `openclaw.json` with local path: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "path": "./plugins/memclaw" + } + } + } +} +``` + +After code changes, rebuild with `bun run build` and restart OpenClaw. + +## OpenClaw Configuration + +Edit your `openclaw.json`: + +```json +{ + "plugins": { + "entries": { + "memclaw": { + "enabled": true, + "config": { + "serviceUrl": "http://127.0.0.1:8085", + "tenantId": "tenant_claw", + "autoStartServices": true + } + } + } + }, + "agents": { + "defaults": { + "memorySearch": { "enabled": false } + } + } +} +``` + +> **Important**: Set `memorySearch.enabled: false` to disable OpenClaw's built-in memory search and use MemClaw instead. + +## LLM Configuration + +On first run, MemClaw creates a configuration file: + +| Platform | Path | +|----------|------| +| Windows | `%APPDATA%\memclaw\config.toml` | +| macOS | `~/Library/Application Support/memclaw/config.toml` | + +Edit the configuration file and fill in required fields: + +```toml +# LLM Configuration [REQUIRED for memory processing] +[llm] +# Your LLM API endpoint (OpenAI-compatible) +api_base_url = "https://api.openai.com/v1" +# Your API key [REQUIRED] +api_key = "sk-xxx" +# Model for memory extraction and layer generation +model_efficient = "gpt-4o-mini" +temperature = 0.1 +max_tokens = 4096 + +# Embedding Configuration [REQUIRED for vector search] +[embedding] +# Your embedding API endpoint (OpenAI-compatible) +api_base_url = "https://api.openai.com/v1" +# Your API key [REQUIRED - can be same as llm.api_key] +api_key = "sk-xxx" +model_name = "text-embedding-3-small" +batch_size = 10 +``` + +Then restart OpenClaw. + +## Configuration Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `serviceUrl` | string | `http://127.0.0.1:8085` | Cortex Memory service URL | +| `tenantId` | string | `tenant_claw` | Tenant ID for data isolation | +| `autoStartServices` | boolean | `true` | Auto-start Qdrant and service | +| `defaultSessionId` | string | `default` | Default session for memory operations | +| `searchLimit` | number | `10` | Default number of search results | +| `minScore` | number | `0.6` | Minimum relevance score (0-1) | + +## Troubleshooting + +### Services Won't Start + +1. Check that ports 6333, 6334, 8085 are available +2. Verify `api_key` fields are filled in config.toml +3. Run `openclaw skills` to check plugin status + +### Configuration File Not Created + +1. Ensure OpenClaw has write permissions to the config directory +2. Check OpenClaw logs for error messages +3. Manually create the directory and restart OpenClaw + +### API Key Issues + +1. Verify your API key is valid and has sufficient credits +2. Ensure `api_base_url` is correct for your provider +3. Check network connectivity to the API endpoint diff --git a/examples/memclaw/skill/references/tools.md b/examples/memclaw/skill/references/tools.md new file mode 100644 index 0000000..73927c3 --- /dev/null +++ b/examples/memclaw/skill/references/tools.md @@ -0,0 +1,170 @@ +# Tools Reference + +Detailed documentation for MemClaw tools. + +## cortex_search + +Semantic search across all memories using L0/L1/L2 tiered retrieval. + +**Parameters:** + +| Parameter | Type | Required | Default | Description | +|-----------|------|----------|---------|-------------| +| `query` | string | Yes | - | The search query - natural language or keywords | +| `scope` | string | No | - | Session/thread ID to limit search scope | +| `limit` | integer | No | 10 | Maximum number of results | +| `min_score` | number | No | 0.6 | Minimum relevance score (0-1) | + +**When to use:** +- Find past conversations or decisions +- Search for specific information across all sessions +- Discover related memories by semantic similarity + +**Example:** +```json +{ + "query": "database architecture decisions", + "limit": 5, + "min_score": 0.6 +} +``` + +**Response format:** +- Returns ranked results with relevance scores +- Each result includes `uri`, `score`, and `snippet` + +--- + +## cortex_recall + +Recall memories with more context (snippet + full content). + +**Parameters:** + +| Parameter | Type | Required | Default | Description | +|-----------|------|----------|---------|-------------| +| `query` | string | Yes | - | The search query | +| `scope` | string | No | - | Session/thread ID to limit search scope | +| `limit` | integer | No | 10 | Maximum number of results | + +**When to use:** +- Need memories with full context, not just summaries +- Want to see the original content, not just snippets +- Conducting detailed memory analysis + +**Example:** +```json +{ + "query": "user preferences for code style", + "limit": 10 +} +``` + +**Response format:** +- Returns results with both `snippet` (summary) and `content` (full text) +- Content is truncated if very long (>300 chars preview) + +--- + +## cortex_add_memory + +Store a message for future retrieval. + +**Parameters:** + +| Parameter | Type | Required | Default | Description | +|-----------|------|----------|---------|-------------| +| `content` | string | Yes | - | The content to store in memory | +| `role` | string | No | `user` | Role of the message sender: `user`, `assistant`, or `system` | +| `session_id` | string | No | `default` | Session/thread ID for the memory | + +**When to use:** +- Persist important information for future retrieval +- Store user preferences or decisions +- Save context that should be searchable later + +**Example:** +```json +{ + "content": "User prefers TypeScript with strict mode enabled and explicit return types", + "role": "assistant", + "session_id": "default" +} +``` + +**What happens:** +- Message is stored with timestamp +- Vector embedding is generated automatically +- L0/L1 layers are generated asynchronously + +--- + +## cortex_list_sessions + +List all memory sessions with their status. + +**Parameters:** None + +**When to use:** +- Verify sessions exist before searching +- Check which sessions are active or closed +- Audit memory usage + +**Response format:** +- Session IDs, status, message counts +- Creation and update timestamps + +--- + +## cortex_close_session + +Close a session and trigger memory extraction pipeline. + +**Parameters:** + +| Parameter | Type | Required | Default | Description | +|-----------|------|----------|---------|-------------| +| `session_id` | string | No | `default` | Session/thread ID to close | + +**When to use:** +- Conversation is complete +- Ready to extract structured memories +- Want to finalize the session's memory content + +**What happens:** +1. Extracts structured memories (user preferences, entities, decisions) +2. Generates complete L0/L1 layer summaries +3. Indexes all extracted memories into the vector database + +**Note:** This is a potentially long-running operation (30-60 seconds). + +**Example:** +```json +{ + "session_id": "default" +} +``` + +--- + +## cortex_migrate + +Migrate memories from OpenClaw's native memory system to MemClaw. + +**Parameters:** None + +**When to use:** +- First time setup with existing OpenClaw memory +- Want to preserve previous conversation history +- Switching from built-in memory to MemClaw + +**What happens:** +1. Finds OpenClaw memory files (`memory/*.md` and `MEMORY.md`) +2. Converts them to MemClaw's L2 format +3. Generates L0/L1 layers and vector index + +**Prerequisites:** +- OpenClaw workspace exists at `~/.openclaw/workspace` +- Memory files exist in `~/.openclaw/workspace/memory/` + +**Run only once during initial setup.** diff --git a/examples/memclaw/src/binaries.ts b/examples/memclaw/src/binaries.ts new file mode 100644 index 0000000..084bcda --- /dev/null +++ b/examples/memclaw/src/binaries.ts @@ -0,0 +1,318 @@ +/** + * Binary management for MemClaw + * + * Binaries are bundled in platform-specific npm packages: + * - @memclaw/bin-darwin-arm64 (macOS Apple Silicon) + * - @memclaw/bin-win-x64 (Windows x64) + * + * The correct package is installed automatically via optionalDependencies. + */ + +import * as fs from "fs"; +import * as path from "path"; +import { spawn, ChildProcess } from "child_process"; +import { getDataDir, getConfigPath } from "./config.js"; + +// Binary names type +type BinaryName = "qdrant" | "cortex-mem-service" | "cortex-mem-cli"; + +// Supported platforms +type SupportedPlatform = "darwin-arm64" | "win-x64"; + +// Platform detection +export function getPlatform(): SupportedPlatform | null { + const platform = process.platform; + const arch = process.arch; + + if (platform === "darwin" && arch === "arm64") { + return "darwin-arm64"; + } else if (platform === "win32" && arch === "x64") { + return "win-x64"; + } + + return null; +} + +// Check if current platform is supported +export function isPlatformSupported(): boolean { + return getPlatform() !== null; +} + +// Get unsupported platform message +export function getUnsupportedPlatformMessage(): string { + const platform = process.platform; + const arch = process.arch; + + return ` +MemClaw is only supported on: + - macOS Apple Silicon (darwin-arm64) + - Windows x64 (win-x64) + +Current platform: ${platform}-${arch} is not supported. +`; +} + +// Get binary name with platform extension +function getBinaryFileName(binary: BinaryName): string { + return process.platform === "win32" ? `${binary}.exe` : binary; +} + +// Get the path to the platform-specific npm package +function getPlatformPackagePath(): string | null { + const platform = getPlatform(); + if (!platform) { + return null; + } + + const packageName = `@memclaw/bin-${platform}`; + + try { + // Try to resolve the package path + const packageJsonPath = require.resolve(`${packageName}/package.json`); + return path.dirname(packageJsonPath); + } catch { + return null; + } +} + +// Get binary path from npm package +export function getBinaryPath(binary: string): string | null { + const packagePath = getPlatformPackagePath(); + + if (!packagePath) { + return null; + } + + const binaryFileName = getBinaryFileName(binary as BinaryName); + const binaryPath = path.join(packagePath, "bin", binaryFileName); + + if (fs.existsSync(binaryPath)) { + return binaryPath; + } + + return null; +} + +// Check if binary is available +export function isBinaryAvailable(binary: string): boolean { + return getBinaryPath(binary as BinaryName) !== null; +} + +// Check if platform package is installed +export function isPlatformPackageInstalled(): boolean { + return getPlatformPackagePath() !== null; +} + +// Get installation instructions for missing platform package +export function getInstallInstructions(): string { + const platform = getPlatform(); + + if (!platform) { + return getUnsupportedPlatformMessage(); + } + + const packageName = `@memclaw/bin-${platform}`; + + return ` +Platform binaries not found for ${platform}. + +Try running: npm install ${packageName} + +Or reinstall memclaw: npm install memclaw +`; +} + +export interface ServiceStatus { + qdrant: boolean; + cortexMemService: boolean; +} + +export async function checkServiceStatus(): Promise { + const qdrant = await isPortOpen(6333); + const cortexMemService = await isPortOpen(8085); + + return { qdrant, cortexMemService }; +} + +async function isPortOpen(port: number): Promise { + try { + const response = await fetch(`http://127.0.0.1:${port}/health`, { + method: "GET", + signal: AbortSignal.timeout(2000), + }); + return response.ok; + } catch { + // Try alternate endpoints for Qdrant + try { + if (port === 6333 || port === 6334) { + const response = await fetch(`http://127.0.0.1:${port}`, { + method: "GET", + signal: AbortSignal.timeout(2000), + }); + return response.ok; + } + } catch {} + return false; + } +} + +// Running processes +const runningProcesses: Map = new Map(); + +export async function startQdrant(log?: (msg: string) => void): Promise { + const status = await checkServiceStatus(); + if (status.qdrant) { + log?.("Qdrant is already running"); + return; + } + + const binaryPath = getBinaryPath("qdrant"); + if (!binaryPath) { + throw new Error( + `Qdrant binary not found. ${getInstallInstructions()}` + ); + } + + const dataDir = getDataDir(); + const storagePath = path.join(dataDir, "qdrant-storage"); + + if (!fs.existsSync(storagePath)) { + fs.mkdirSync(storagePath, { recursive: true }); + } + + log?.(`Starting Qdrant with storage at ${storagePath}...`); + + const proc = spawn( + binaryPath, + [ + "--storage-path", + storagePath, + "--http-port", + "6333", + "--grpc-port", + "6334", + ], + { + stdio: ["ignore", "pipe", "pipe"], + detached: true, + }, + ); + + proc.on("error", (err) => { + log?.(`Qdrant error: ${err.message}`); + }); + + proc.unref(); + runningProcesses.set("qdrant", proc); + + // Wait for Qdrant to start + let retries = 30; + while (retries > 0) { + const status = await checkServiceStatus(); + if (status.qdrant) { + log?.("Qdrant started successfully"); + return; + } + await new Promise((resolve) => setTimeout(resolve, 500)); + retries--; + } + + throw new Error("Qdrant failed to start within 15 seconds"); +} + +export async function startCortexMemService( + log?: (msg: string) => void, +): Promise { + const status = await checkServiceStatus(); + if (status.cortexMemService) { + log?.("cortex-mem-service is already running"); + return; + } + + const binaryPath = getBinaryPath("cortex-mem-service"); + if (!binaryPath) { + throw new Error( + `cortex-mem-service binary not found. ${getInstallInstructions()}` + ); + } + + const configPath = getConfigPath(); + const dataDir = getDataDir(); + + log?.(`Starting cortex-mem-service with config ${configPath}...`); + + const proc = spawn( + binaryPath, + ["--config", configPath, "--data-dir", dataDir], + { + stdio: ["ignore", "pipe", "pipe"], + detached: true, + }, + ); + + proc.on("error", (err) => { + log?.(`cortex-mem-service error: ${err.message}`); + }); + + proc.unref(); + runningProcesses.set("cortex-mem-service", proc); + + // Wait for service to start + let retries = 30; + while (retries > 0) { + const status = await checkServiceStatus(); + if (status.cortexMemService) { + log?.("cortex-mem-service started successfully"); + return; + } + await new Promise((resolve) => setTimeout(resolve, 500)); + retries--; + } + + throw new Error("cortex-mem-service failed to start within 15 seconds"); +} + +export function stopAllServices(): void { + for (const [name, proc] of runningProcesses) { + try { + proc.kill(); + console.log(`Stopped ${name}`); + } catch (err) { + console.error(`Failed to stop ${name}:`, err); + } + } + runningProcesses.clear(); +} + +export async function ensureAllServices( + log?: (msg: string) => void, +): Promise { + // Check if platform is supported + if (!isPlatformSupported()) { + log?.(getUnsupportedPlatformMessage()); + return { qdrant: false, cortexMemService: false }; + } + + // Check if platform package is installed + if (!isPlatformPackageInstalled()) { + log?.(`Warning: Platform binaries not installed. ${getInstallInstructions()}`); + return { qdrant: false, cortexMemService: false }; + } + + const status = await checkServiceStatus(); + + if (!status.qdrant) { + await startQdrant(log); + } + + if (!status.cortexMemService) { + await startCortexMemService(log); + } + + return checkServiceStatus(); +} + +// Get CLI binary path for external commands (like migration) +export function getCliPath(): string | null { + return getBinaryPath("cortex-mem-cli"); +} \ No newline at end of file diff --git a/examples/cortex-mem-openclaw/src/client.ts b/examples/memclaw/src/client.ts similarity index 58% rename from examples/cortex-mem-openclaw/src/client.ts rename to examples/memclaw/src/client.ts index 1667b80..7af2f76 100644 --- a/examples/cortex-mem-openclaw/src/client.ts +++ b/examples/memclaw/src/client.ts @@ -45,43 +45,36 @@ export interface CreateSessionRequest { } export interface AddMessageRequest { - role: 'user' | 'assistant' | 'system'; + role: "user" | "assistant" | "system"; content: string; } -// Layer types -export type ContextLayer = 'L0' | 'L1' | 'L2'; - -export interface LayeredRecallResult { - uri: string; - score: number; - abstract?: string; // L0: ~100 tokens - overview?: string; // L1: ~2000 tokens - content?: string; // L2: full content -} - /** * Cortex Memory API Client */ export class CortexMemClient { private baseUrl: string; - constructor(baseUrl: string = 'http://127.0.0.1:8085') { - this.baseUrl = baseUrl.replace(/\/$/, ''); + constructor(baseUrl: string = "http://localhost:8085") { + this.baseUrl = baseUrl.replace(/\/$/, ""); } /** * Layered semantic search (L0 -> L1 -> L2 tiered retrieval) */ async search(request: SearchRequest): Promise { - const response = await this.post('/api/v2/search', request); + const response = await this.post("/api/v2/search", request); return response; } /** * Quick search returning only L0 abstracts */ - async find(query: string, scope?: string, limit: number = 5): Promise { + async find( + query: string, + scope?: string, + limit: number = 5, + ): Promise { return this.search({ query, thread: scope, @@ -91,61 +84,59 @@ export class CortexMemClient { } /** - * Layered recall with specified detail level + * Layered recall - uses L0/L1/L2 tiered search internally + * + * The search engine performs tiered retrieval (L0→L1→L2) internally, + * but returns unified results with snippet and content. * * @param query - Search query - * @param layers - Which layers to return (L0, L1, L2) * @param scope - Optional session/thread scope * @param limit - Maximum results */ async recall( query: string, - layers: ContextLayer[] = ['L0'], scope?: string, - limit: number = 10 - ): Promise { - // First do search to get URIs - const searchResults = await this.search({ + limit: number = 10, + ): Promise { + return this.search({ query, thread: scope, limit, + min_score: 0.5, }); - - // For now, return search results with snippets - // In a full implementation, we would make additional calls - // to get L1 overview and L2 content based on requested layers - return searchResults.map(result => ({ - uri: result.uri, - score: result.score, - abstract: result.snippet, // L0 from snippet - overview: undefined, // Would need additional API call - content: result.content, // L2 if available - })); } /** * List all sessions */ async listSessions(): Promise { - const response = await this.get('/api/v2/sessions'); + const response = await this.get("/api/v2/sessions"); return response; } /** * Create a new session */ - async createSession(request: CreateSessionRequest = {}): Promise { - const response = await this.post('/api/v2/sessions', request); + async createSession( + request: CreateSessionRequest = {}, + ): Promise { + const response = await this.post( + "/api/v2/sessions", + request, + ); return response; } /** * Add a message to a session */ - async addMessage(threadId: string, message: AddMessageRequest): Promise { + async addMessage( + threadId: string, + message: AddMessageRequest, + ): Promise { const response = await this.post( `/api/v2/sessions/${threadId}/messages`, - message + message, ); return response; } @@ -156,11 +147,18 @@ export class CortexMemClient { async closeSession(threadId: string): Promise { const response = await this.post( `/api/v2/sessions/${threadId}/close`, - {} + {}, ); return response; } + /** + * Switch tenant + */ + async switchTenant(tenantId: string): Promise { + await this.post("/api/v2/tenants/switch", { tenant_id: tenantId }); + } + /** * Health check */ @@ -179,27 +177,30 @@ export class CortexMemClient { if (!response.ok) { throw new Error(`API error: ${response.status} ${response.statusText}`); } - const data = await response.json() as ApiResponse; + const data = (await response.json()) as ApiResponse; if (!data.success) { - throw new Error(data.error || 'API request failed'); + throw new Error(data.error || "API request failed"); } return data.data!; } private async post(path: string, body: object): Promise { const response = await fetch(`${this.baseUrl}${path}`, { - method: 'POST', + method: "POST", headers: { - 'Content-Type': 'application/json', + "Content-Type": "application/json", }, body: JSON.stringify(body), }); if (!response.ok) { - throw new Error(`API error: ${response.status} ${response.statusText}`); + const errorText = await response.text(); + throw new Error( + `API error: ${response.status} ${response.statusText} - ${errorText}`, + ); } - const data = await response.json() as ApiResponse; + const data = (await response.json()) as ApiResponse; if (!data.success) { - throw new Error(data.error || 'API request failed'); + throw new Error(data.error || "API request failed"); } return data.data!; } diff --git a/examples/memclaw/src/config.ts b/examples/memclaw/src/config.ts new file mode 100644 index 0000000..f74eff8 --- /dev/null +++ b/examples/memclaw/src/config.ts @@ -0,0 +1,278 @@ +/** + * Configuration management for MemClaw + * + * Handles platform-specific config paths, config file generation, + * and auto-opening config files for user editing. + */ + +import * as fs from "fs"; +import * as path from "path"; +import * as os from "os"; +import { spawn } from "child_process"; + +// Platform-specific paths +export function getConfigDir(): string { + const platform = process.platform; + + if (platform === "win32") { + return path.join( + process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), + "memclaw", + ); + } else if (platform === "darwin") { + return path.join(os.homedir(), "Library", "Application Support", "memclaw"); + } else { + return path.join(os.homedir(), ".config", "memclaw"); + } +} + +export function getDataDir(): string { + const platform = process.platform; + + if (platform === "win32") { + return path.join( + process.env.LOCALAPPDATA || path.join(os.homedir(), "AppData", "Local"), + "memclaw", + "data", + ); + } else if (platform === "darwin") { + return path.join( + os.homedir(), + "Library", + "Application Support", + "memclaw", + "data", + ); + } else { + return path.join(os.homedir(), ".local", "share", "memclaw", "data"); + } +} + +export function getConfigPath(): string { + return path.join(getConfigDir(), "config.toml"); +} + +export interface MemClawConfig { + qdrant: { + url: string; + collection_name: string; + timeout_secs: number; + }; + llm: { + api_base_url: string; + api_key: string; + model_efficient: string; + temperature: number; + max_tokens: number; + }; + embedding: { + api_base_url: string; + api_key: string; + model_name: string; + batch_size: number; + timeout_secs: number; + }; + server: { + host: string; + port: number; + }; + cortex: { + data_dir: string; + enable_intent_analysis: boolean; + }; +} + +export function generateConfigTemplate(): string { + const dataDir = getDataDir().replace(/\\/g, "/"); + + return `# MemClaw Configuration +# +# This file was auto-generated. Please fill in the required values below. +# Required fields are marked with [REQUIRED] + +# Qdrant Vector Database Configuration +[qdrant] +url = "http://localhost:6334" +collection_name = "memclaw" +timeout_secs = 30 + +# LLM Configuration [REQUIRED for memory processing] +[llm] +# Your LLM API endpoint (OpenAI-compatible) +api_base_url = "https://api.openai.com/v1" +# Your API key [REQUIRED] +api_key = "" +# Model for memory extraction and layer generation +model_efficient = "gpt-4o-mini" +temperature = 0.1 +max_tokens = 4096 + +# Embedding Configuration [REQUIRED for vector search] +[embedding] +# Your embedding API endpoint (OpenAI-compatible) +api_base_url = "https://api.openai.com/v1" +# Your API key [REQUIRED - can be same as llm.api_key] +api_key = "" +model_name = "text-embedding-3-small" +batch_size = 10 +timeout_secs = 30 + +# Service Configuration +[server] +host = "localhost" +port = 8085 + +# Cortex Memory Settings +[cortex] +data_dir = "${dataDir}" +enable_intent_analysis = false +`; +} + +export function ensureConfigExists(): { created: boolean; path: string } { + const configDir = getConfigDir(); + const configPath = getConfigPath(); + + if (!fs.existsSync(configDir)) { + fs.mkdirSync(configDir, { recursive: true }); + } + + if (!fs.existsSync(configPath)) { + const template = generateConfigTemplate(); + fs.writeFileSync(configPath, template, "utf-8"); + return { created: true, path: configPath }; + } + + return { created: false, path: configPath }; +} + +export function openConfigFile(configPath: string): Promise { + return new Promise((resolve, reject) => { + const platform = process.platform; + let command: string; + let args: string[] = []; + + if (platform === "win32") { + command = "cmd"; + args = ["/c", "start", '""', configPath]; + } else if (platform === "darwin") { + command = "open"; + args = [configPath]; + } else { + command = "xdg-open"; + args = [configPath]; + } + + const proc = spawn(command, args, { detached: true, stdio: "ignore" }); + proc.on("error", (err) => { + reject(err); + }); + proc.unref(); + resolve(); + }); +} + +export function parseConfig(configPath: string): MemClawConfig { + const content = fs.readFileSync(configPath, "utf-8"); + const config: Partial = {}; + + let currentSection = ""; + + for (const line of content.split("\n")) { + const trimmed = line.trim(); + + // Skip comments and empty lines + if (trimmed.startsWith("#") || trimmed === "") continue; + + // Section header + const sectionMatch = trimmed.match(/^\[(\w+)\]$/); + if (sectionMatch) { + currentSection = sectionMatch[1]; + config[currentSection as keyof MemClawConfig] = {} as any; + continue; + } + + // Key-value pair + const kvMatch = + trimmed.match(/^(\w+)\s*=\s*"([^"]*)"(?:\s*$|\s*#)/) || + trimmed.match(/^(\w+)\s*=\s*(\d+(?:\.\d+)?)(?:\s*$|\s*#)/) || + trimmed.match(/^(\w+)\s*=\s*(true|false)(?:\s*$|\s*#)/); + + if (kvMatch && currentSection) { + const key = kvMatch[1]; + let value: string | number | boolean = kvMatch[2]; + + // Convert to appropriate type + if (value === "true") value = true; + else if (value === "false") value = false; + else if (/^\d+$/.test(value)) value = parseInt(value, 10); + else if (/^\d+\.\d+$/.test(value)) value = parseFloat(value); + + (config as any)[currentSection] = (config as any)[currentSection] || {}; + (config as any)[currentSection][key] = value; + } + } + + // Apply defaults + const dataDir = getDataDir(); + + return { + qdrant: { + url: "http://localhost:6334", + collection_name: "memclaw", + timeout_secs: 30, + ...(config.qdrant || {}), + }, + llm: { + api_base_url: "https://api.openai.com/v1", + api_key: "", + model_efficient: "gpt-5-mini", + temperature: 0.1, + max_tokens: 4096, + ...(config.llm || {}), + }, + embedding: { + api_base_url: "https://api.openai.com/v1", + api_key: "", + model_name: "text-embedding-3-small", + batch_size: 10, + timeout_secs: 30, + ...(config.embedding || {}), + }, + server: { + host: "localhost", + port: 8085, + ...(config.server || {}), + }, + cortex: { + data_dir: dataDir, + enable_intent_analysis: false, + ...(config.cortex || {}), + }, + }; +} + +export function validateConfig(config: MemClawConfig): { + valid: boolean; + errors: string[]; +} { + const errors: string[] = []; + + if (!config.llm.api_key || config.llm.api_key === "") { + errors.push("llm.api_key is required"); + } + + if (!config.embedding.api_key || config.embedding.api_key === "") { + // Allow using llm.api_key for embedding if not specified + if (config.llm.api_key && config.llm.api_key !== "") { + config.embedding.api_key = config.llm.api_key; + } else { + errors.push("embedding.api_key is required"); + } + } + + return { + valid: errors.length === 0, + errors, + }; +} diff --git a/examples/memclaw/src/migrate.ts b/examples/memclaw/src/migrate.ts new file mode 100644 index 0000000..57e67e9 --- /dev/null +++ b/examples/memclaw/src/migrate.ts @@ -0,0 +1,340 @@ +/** + * Migration script for OpenClaw native memory to MemClaw + * + * Migrates: + * - memory/YYYY-MM-DD.md → session timeline files + * - MEMORY.md → users/{tenant}/preferences.md + */ + +import * as fs from 'fs'; +import * as path from 'path'; +import * as os from 'os'; +import { exec } from 'child_process'; +import { promisify } from 'util'; +import { glob } from 'glob'; +import { getDataDir, getConfigPath } from './config.js'; +import { getCliPath } from './binaries.js'; + +const execAsync = promisify(exec); + +// Migration configuration +const MIGRATION_TENANT = 'tenant_claw'; +const DEFAULT_ROLE = 'user'; + +interface MigrationResult { + dailyLogsMigrated: number; + memoryMdMigrated: boolean; + sessionsCreated: string[]; + errors: string[]; +} + +/** + * Detect OpenClaw workspace directory + */ +function findOpenClawWorkspace(): string | null { + const homeDir = os.homedir(); + const workspacePath = path.join(homeDir, '.openclaw', 'workspace'); + + if (fs.existsSync(workspacePath)) { + return workspacePath; + } + + return null; +} + +/** + * Split content into paragraphs (not just lines) + */ +function splitIntoParagraphs(content: string): string[] { + return content + .split(/\n\s*\n/) + .map(p => p.trim()) + .filter(p => p.length > 0 && !p.startsWith('#')); // Skip headers +} + +/** + * Generate L2 content for a single paragraph + */ +function generateL2Content( + paragraph: string, + sessionId: string, + date: string, + index: number +): string { + // Generate a deterministic timestamp based on index + const hour = String(index % 24).padStart(2, '0'); + const minute = String((index * 7) % 60).padStart(2, '0'); + const second = String((index * 13) % 60).padStart(2, '0'); + const timestamp = `${date}T${hour}:${minute}:${second}Z`; + + const msgId = `${date.replace(/-/g, '')}_${String(index).padStart(4, '0')}`; + + return `--- +id: "${msgId}" +role: "${DEFAULT_ROLE}" +timestamp: "${timestamp}" +thread_id: "${sessionId}" +--- +${paragraph}`; +} + +/** + * Migrate daily logs from OpenClaw native memory to MemClaw + */ +async function migrateDailyLogs( + ocWorkspace: string, + dataDir: string, + log?: (msg: string) => void +): Promise<{ count: number; sessions: string[]; errors: string[] }> { + const memoryDir = path.join(ocWorkspace, 'memory'); + const count = 0; + const sessions: string[] = []; + const errors: string[] = []; + + if (!fs.existsSync(memoryDir)) { + log?.('No memory directory found in OpenClaw workspace'); + return { count: 0, sessions: [], errors: [] }; + } + + // Find all daily log files + const dailyLogPattern = path.join(memoryDir, '*.md').replace(/\\/g, '/'); + const files = await glob(dailyLogPattern); + const dailyLogs = files.filter(f => { + const basename = path.basename(f); + return /^\d{4}-\d{2}-\d{2}\.md$/.test(basename); + }); + + log?.(`Found ${dailyLogs.length} daily log files to migrate`); + + for (const logPath of dailyLogs) { + try { + const date = path.basename(logPath, '.md'); // 2026-03-13 + const [year, month, day] = date.split('-'); + const sessionId = `migrated-oc-${date}`; + + const timelineDir = path.join( + dataDir, + 'sessions', + MIGRATION_TENANT, + sessionId, + 'timeline', + year, + month, + day + ); + + // Create directory + fs.mkdirSync(timelineDir, { recursive: true }); + + // Read and split content + const content = fs.readFileSync(logPath, 'utf-8'); + const paragraphs = splitIntoParagraphs(content); + + // Write each paragraph as L2 file + for (let i = 0; i < paragraphs.length; i++) { + const para = paragraphs[i]; + const hour = String(i % 24).padStart(2, '0'); + const minute = String((i * 7) % 60).padStart(2, '0'); + const second = String((i * 13) % 60).padStart(2, '0'); + const msgId = `${date.replace(/-/g, '')}_${String(i).padStart(4, '0')}`; + + const l2Content = generateL2Content(para, sessionId, date, i); + const filename = `${hour}_${minute}_${second}_${msgId}.md`; + + fs.writeFileSync(path.join(timelineDir, filename), l2Content, 'utf-8'); + } + + sessions.push(sessionId); + log?.(`Migrated ${date}: ${paragraphs.length} messages`); + + } catch (err) { + const errorMsg = `Failed to migrate ${logPath}: ${err}`; + errors.push(errorMsg); + log?.(`Error: ${errorMsg}`); + } + } + + return { + count: dailyLogs.length, + sessions, + errors, + }; +} + +/** + * Migrate MEMORY.md to user preferences + */ +async function migrateMemoryMd( + ocWorkspace: string, + dataDir: string, + log?: (msg: string) => void +): Promise<{ migrated: boolean; error?: string }> { + const memoryMdPath = path.join(ocWorkspace, 'MEMORY.md'); + + if (!fs.existsSync(memoryMdPath)) { + log?.('No MEMORY.md found'); + return { migrated: false }; + } + + try { + const userDir = path.join(dataDir, 'users', MIGRATION_TENANT); + fs.mkdirSync(userDir, { recursive: true }); + + const content = fs.readFileSync(memoryMdPath, 'utf-8'); + const targetPath = path.join(userDir, 'preferences.md'); + + // Add header to indicate migration source + const migratedContent = ` +${content}`; + + fs.writeFileSync(targetPath, migratedContent, 'utf-8'); + log?.('Migrated MEMORY.md to user preferences'); + + return { migrated: true }; + } catch (err) { + const error = `Failed to migrate MEMORY.md: ${err}`; + log?.(`Error: ${error}`); + return { migrated: false, error }; + } +} + +/** + * Generate L0/L1 layers using cortex-mem-cli + */ +async function generateLayers( + configPath: string, + tenant: string, + log?: (msg: string) => void +): Promise { + log?.('Generating L0/L1 layers...'); + + const cliPath = getCliPath(); + if (!cliPath) { + log?.('cortex-mem-cli not found, skipping layer generation'); + return; + } + + try { + const { stdout, stderr } = await execAsync( + `"${cliPath}" --config "${configPath}" --tenant ${tenant} layers ensure-all`, + { timeout: 300000 } // 5 minutes + ); + + if (stdout) log?.(stdout); + if (stderr) log?.(stderr); + + log?.('Layer generation completed'); + } catch (err) { + log?.(`Layer generation warning: ${err}`); + // Don't throw - this is not critical for migration + } +} + +/** + * Generate vector index using cortex-mem-cli + */ +async function generateVectorIndex( + configPath: string, + tenant: string, + log?: (msg: string) => void +): Promise { + log?.('Generating vector index...'); + + const cliPath = getCliPath(); + if (!cliPath) { + log?.('cortex-mem-cli not found, skipping vector index generation'); + return; + } + + try { + const { stdout, stderr } = await execAsync( + `"${cliPath}" --config "${configPath}" --tenant ${tenant} vector reindex`, + { timeout: 600000 } // 10 minutes + ); + + if (stdout) log?.(stdout); + if (stderr) log?.(stderr); + + log?.('Vector index generation completed'); + } catch (err) { + log?.(`Vector index warning: ${err}`); + // Don't throw - this is not critical for migration + } +} + +/** + * Main migration function + */ +export async function migrateFromOpenClaw( + log?: (msg: string) => void +): Promise { + const result: MigrationResult = { + dailyLogsMigrated: 0, + memoryMdMigrated: false, + sessionsCreated: [], + errors: [], + }; + + log?.('Starting OpenClaw memory migration...'); + + // Find OpenClaw workspace + const ocWorkspace = findOpenClawWorkspace(); + if (!ocWorkspace) { + const error = 'OpenClaw workspace not found at ~/.openclaw/workspace'; + result.errors.push(error); + log?.(error); + return result; + } + + log?.(`Found OpenClaw workspace: ${ocWorkspace}`); + + const dataDir = getDataDir(); + const configPath = getConfigPath(); + + // Migrate daily logs + const dailyResult = await migrateDailyLogs(ocWorkspace, dataDir, log); + result.dailyLogsMigrated = dailyResult.count; + result.sessionsCreated = dailyResult.sessions; + result.errors.push(...dailyResult.errors); + + // Migrate MEMORY.md + const memoryMdResult = await migrateMemoryMd(ocWorkspace, dataDir, log); + result.memoryMdMigrated = memoryMdResult.migrated; + if (memoryMdResult.error) { + result.errors.push(memoryMdResult.error); + } + + // Generate layers and index + if (result.dailyLogsMigrated > 0 || result.memoryMdMigrated) { + await generateLayers(configPath, MIGRATION_TENANT, log); + await generateVectorIndex(configPath, MIGRATION_TENANT, log); + } + + log?.(`Migration completed: ${result.dailyLogsMigrated} daily logs, MEMORY.md: ${result.memoryMdMigrated}`); + + return result; +} + +/** + * Check if migration is possible + */ +export function canMigrate(): { possible: boolean; reason: string } { + const ocWorkspace = findOpenClawWorkspace(); + + if (!ocWorkspace) { + return { possible: false, reason: 'OpenClaw workspace not found' }; + } + + const memoryDir = path.join(ocWorkspace, 'memory'); + const memoryMd = path.join(ocWorkspace, 'MEMORY.md'); + + if (!fs.existsSync(memoryDir) && !fs.existsSync(memoryMd)) { + return { possible: false, reason: 'No memory files found in OpenClaw workspace' }; + } + + return { possible: true, reason: 'OpenClaw memory found and ready for migration' }; +} diff --git a/examples/cortex-mem-openclaw/tsconfig.json b/examples/memclaw/tsconfig.json similarity index 72% rename from examples/cortex-mem-openclaw/tsconfig.json rename to examples/memclaw/tsconfig.json index b37b6b9..e77470c 100644 --- a/examples/cortex-mem-openclaw/tsconfig.json +++ b/examples/memclaw/tsconfig.json @@ -5,7 +5,7 @@ "moduleResolution": "NodeNext", "lib": ["ES2022"], "outDir": "./dist", - "rootDir": "./src", + "rootDir": ".", "strict": true, "esModuleInterop": true, "skipLibCheck": true, @@ -15,6 +15,13 @@ "sourceMap": true, "resolveJsonModule": true }, - "include": ["src/**/*"], - "exclude": ["node_modules", "dist"] + "include": [ + "index.ts", + "plugin-impl.ts", + "src/**/*.ts" + ], + "exclude": [ + "node_modules", + "dist" + ] } diff --git a/examples/skill/cortex-mem-skill-claw/SKILL.md b/examples/skill/cortex-mem-skill-claw/SKILL.md deleted file mode 100644 index fc87dc1..0000000 --- a/examples/skill/cortex-mem-skill-claw/SKILL.md +++ /dev/null @@ -1,245 +0,0 @@ ---- -name: cortex-mem -description: Layered semantic memory for OpenClaw using Cortex Memory — supports L0/L1/L2 tiered recall, semantic search, session-isolated memory, and persistent memory capture across conversations. -homepage: https://github.com/sopaco/cortex-mem -user-invocable: true -metadata: { "openclaw": { "emoji": "🧠", "homepage": "https://github.com/sopaco/cortex-mem", "requires": { "config": ["plugins.entries.cortex-mem.enabled"] } } } ---- - -# Cortex Memory Skill - -This skill teaches the agent how to use the Cortex Memory plugin (`cortex-mem`) to store, search, and recall memories across conversations. - -## Agent Autonomy: Setup and Dependency Management - -As an agent using this skill, you have the autonomy and responsibility to **detect, install, and configure** the required dependencies before calling any of the memory tools. **Do not** ask the user to do this manually unless an error occurs that you cannot resolve. - -### Step 1: Check and Setup Qdrant Vector Database -The memory service requires Qdrant to store vector embeddings. -1. **Detect**: Check if Qdrant is already running locally on port `6333` (e.g., via `curl -s http://127.0.0.1:6333` or checking running processes). -2. **Install & Run**: If it is not running, run Qdrant via Docker in the background: - ```bash - docker run -d -p 6333:6333 -p 6334:6334 qdrant/qdrant - ``` - -### Step 2: Check and Setup `cortex-mem-service` -The tools communicate with the local `cortex-mem-service`. -1. **Detect**: Check if the service is already running on port `8085` (e.g., via `curl -s http://127.0.0.1:8085/health`). -2. **Check Binary**: If not running, check if `cortex-mem-service` is available in the environment (e.g., `which cortex-mem-service`). -3. **Install**: If the binary is missing, install it using Cargo: - ```bash - cargo install cortex-mem-service - ``` -4. **Run**: Start the service in the background. **Crucially**, you must specify a fixed data directory suitable for OpenClaw (`~/.openclaw/cortex-data`): - ```bash - mkdir -p ~/.openclaw/cortex-data - nohup cortex-mem-service --data-dir ~/.openclaw/cortex-data > ~/.openclaw/cortex-data/service.log 2>&1 & - ``` - *Wait a few seconds and verify it started successfully on port `8085`.* - -### Step 3: Verify OpenClaw Plugin Configuration -Ensure the plugin is configured in `~/.openclaw/openclaw.json` (you can read and update this file if needed). - ---- - -## Plugin Setup - -The Cortex Memory plugin provides **five tools**. All tools communicate with the `cortex-mem-service` running locally over HTTP. - -**Required:** The `cortex-mem` plugin must be enabled in your `~/.openclaw/openclaw.json`: - -```json5 -{ - plugins: { - entries: { - "cortex-mem": { - enabled: true, - config: { - serviceUrl: "http://127.0.0.1:8085", - tenantId: "tenant_claw", - defaultSessionId: "default", - searchLimit: 10, - minScore: 0.6 - } - } - } - } -} -``` - -**Start the service** before using any memory tools: -```bash -cargo run -p cortex-mem-service -- --data-dir ./cortex-data -``` - -## Available Tools - -### `cortex_search` — Semantic Memory Search - -Search across all stored memories using natural language. Returns results ranked by relevance. - -**When to use:** -- Finding past decisions, discussions, or facts from previous sessions -- Discovering related context for the current task -- Quick lookup of stored knowledge - -**Parameters:** -- `query` (required): Natural language search query -- `scope` (optional): Limit search to a specific session/thread ID -- `limit` (optional): Max results, default `10` -- `min_score` (optional): Relevance threshold (0–1), default `0.6` - -**Example:** -```json -{ "query": "database architecture decisions", "limit": 5 } -``` - ---- - -### `cortex_recall` — Layered Memory Recall - -Retrieve memories with configurable detail levels using the L0/L1/L2 layer system. - -**Layer system:** -| Layer | Tokens | Content | -|-------|--------|---------| -| L0 | ~100 | Abstract — quick relevance summary | -| L1 | ~2000 | Overview — key points and context | -| L2 | Full | Complete original content | - -**When to use:** -- When `cortex_search` results are not detailed enough -- When you need to understand the full context of a past conversation -- Start with `L0`, escalate to `L1` or `L2` only if needed (to save tokens) - -**Parameters:** -- `query` (required): Search query -- `layers` (optional): Array of layers to return, default `["L0"]` -- `scope` (optional): Session/thread ID filter -- `limit` (optional): Max results, default `5` - -**Example:** -```json -{ "query": "user preferences for code style", "layers": ["L0", "L1"] } -``` - ---- - -### `cortex_add_memory` — Store Memory - -Persist important information to the Cortex Memory store. Content is automatically vectorized for future semantic search. - -**When to use:** -- After learning important facts about the user (preferences, project details, decisions) -- When the user explicitly asks to remember something -- To capture key outcomes of a conversation for future reference - -**Parameters:** -- `content` (required): The text to store -- `role` (optional): `"user"` | `"assistant"` | `"system"`, default `"user"` -- `session_id` (optional): Target session; uses `defaultSessionId` if omitted - -**Example:** -```json -{ - "content": "User prefers TypeScript with strict mode and functional patterns", - "role": "assistant", - "session_id": "project-frontend" -} -``` - ---- - -### `cortex_list_sessions` — List Memory Sessions - -List all available memory sessions with their status and message counts. - -**When to use:** -- To see what sessions/contexts exist before searching -- To pick a specific session scope for `cortex_search` or `cortex_recall` - -**Parameters:** None - ---- - -### `cortex_close_session` — Close Session & Extract Memories - -Close a session and trigger the **full memory extraction pipeline**: -1. LLM extracts user preferences, entities, decisions → stored in `user/` directory -2. Complete L0/L1 summaries regenerated for the entire session -3. All extracted memories indexed into the vector database - -**When to use:** -- At the end of a meaningful conversation or task -- When you want user preferences/entities to be persistently stored -- When you need complete L0/L1 summaries (not just the per-message incremental ones) - -**Parameters:** -- `session_id` (optional): Session to close; uses `defaultSessionId` if omitted - -**Example:** -```json -{ "session_id": "project-frontend" } -``` - -> ⚠️ This triggers LLM calls and may take 30–60 seconds. Call it once when a conversation is complete, not after every message. - ---- - -## Usage Patterns - -### Pattern 1: Context-aware response - -Before answering a complex question, search for relevant past context: - -1. Call `cortex_search` with the topic as query -2. Use returned snippets to enrich your response -3. After the conversation, call `cortex_add_memory` to store new insights -4. When the conversation is complete, call `cortex_close_session` to extract and consolidate all memories - -### Pattern 2: Progressive detail retrieval - -When you need more context without loading everything: - -1. Call `cortex_recall` with `layers: ["L0"]` to scan for relevant memories (minimal tokens) -2. If you find a relevant memory, call `cortex_recall` again with `layers: ["L1"]` for overview -3. Only use `layers: ["L2"]` when you truly need the full original content - -### Pattern 3: Session-scoped memory - -For project-specific or topic-specific memory management: - -1. Use `cortex_list_sessions` to find existing session IDs -2. Pass the matching session ID as `scope` in search/recall calls -3. Store new information with `session_id` set to the relevant session - ---- - -## Layer Architecture - -``` -Memory Query - │ - ▼ -L0 Abstract (~100 tokens) - │ quick relevance scan - ▼ -L1 Overview (~2000 tokens) - │ key context - ▼ -L2 Full Content - │ complete details (use sparingly) - ▼ -cortex-mem-service (Rust) - ├─ Qdrant (vector search) - ├─ Filesystem (content store) - └─ LLM (layer generation) -``` - -## Notes - -- Memories are organized by **tenant** (`tenantId` config) and **session** (`session_id`) -- L0 and L1 layers are generated asynchronously after `cortex_add_memory` — they may not be immediately available -- **User preferences and entities** are only extracted when `cortex_close_session` is called -- `minScore` of `0.6` is a good starting point; lower it if results are too sparse, raise it for higher precision -- The service must be running at `serviceUrl` before any tool calls will succeed