koishi-plugin-market-next 3.4.1 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,12 +2,27 @@
2
2
 
3
3
  本文件记录 `koishi-plugin-market-next` 已发布到 npm 的版本差异。
4
4
 
5
+ ## 3.4.3
6
+
7
+ - 安全审计:通过 npm overrides 修复构建链路中的 `js-yaml` transitive 漏洞。
8
+ - 安全审计:试探升级 `@koishijs/client` 构建链路使用的 `element-plus` 与 `vite`,移除对应中危 audit 项。
9
+ - 完整 `npm audit` 从 20 个中危降到 14 个中危;高危与严重漏洞保持为 0。
10
+ - 剩余中危来自 Koishi / Console 最新上游链路,未使用会降级 `@koishijs/console` 的 `audit fix --force`。
11
+
12
+ ## 3.4.2
13
+
14
+ - Debug 性能面板拆分首屏加载与后台刷新,避免缓存耗时和网络刷新耗时混在一起。
15
+ - 市场索引自动路由增加内存评分:成功源加权、失败源降权,并结合压缩方式和平均耗时排序。
16
+ - Debug 面板显示候选源评分、首屏来源、后台刷新来源、压缩方式和传输大小。
17
+
5
18
  ## 3.4.1
6
19
 
7
20
  - 新增独立 CI workflow,在普通 push 和 pull request 时验证安装、构建、打包和高危依赖审计。
8
21
  - npm 发布 workflow 增加高危依赖审计门禁,继续使用 Trusted Publishing。
9
22
  - 升级 `@langchain/core` 到 1.x,移除 `langsmith` 旧版本带来的高危 audit 项。
10
23
  - ChatLuna Tool 依赖链随 LangChain 1.x 要求 Node.js 20 或更高版本。
24
+ - 市场索引请求显式声明 `br,gzip,deflate` 压缩能力,debug 面板增加压缩方式、传输大小和压缩比例。
25
+ - 市场索引自动路由会提高上次成功源的优先级,并对后续候选源进行短延迟错峰请求。
11
26
  - README 补充 CI、tag 发布、手动发布和高危 audit 策略说明。
12
27
 
13
28
  ## 3.4.0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # koishi-plugin-market-next
2
2
 
3
- ![Version](https://img.shields.io/badge/version-3.4.1-blue)
3
+ ![Version](https://img.shields.io/badge/version-3.4.3-blue)
4
4
  ![Koishi](https://img.shields.io/badge/Koishi-%5E4.18.11-6f42c1)
5
5
  ![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6)
6
6
  ![License](https://img.shields.io/badge/license-AGPL--3.0-orange)
@@ -38,8 +38,8 @@
38
38
  - **筛选行为更清楚**:分类可以再次点击取消,关键词或筛选变化后会重置列表位置。
39
39
  - **失败原因更可读**:市场加载失败时尽量展示实际 registry 和错误原因,而不是只给一个笼统的 fetch 失败。
40
40
  - **缓存更有判断力**:缓存优先显示后,后台刷新会利用 ETag、Last-Modified 和内容 hash 判断索引是否变化,未变化时跳过重复 JSON 解析和写盘。
41
- - **弱网少做无用功**:自动路由竞速命中最快源后会取消其他候选源请求,减少额外带宽占用。
42
- - **慢在哪里能看见**:`search.logLevel: debug` 时,市场页会显示下载、缓存读取、JSON parse、索引映射、前端筛选和虚拟滚动耗时。
41
+ - **弱网少做无用功**:自动路由会提高上次成功源的优先级,并在命中可用源后取消其他候选源请求,减少额外带宽占用。
42
+ - **慢在哪里能看见**:`search.logLevel: debug` 时,市场页会拆分首屏与后台刷新,并显示下载、压缩方式、传输大小、路由评分、缓存读取、JSON parse、索引映射、前端筛选和虚拟滚动耗时。
43
43
  - **安装后自动尝试补配置**:安装完成后等待 config 插件识别新包,再自动调用配置补齐逻辑,减少手动去依赖页点“配置”的次数。
44
44
  - **AI 可以查市场**:可选注册 ChatLuna 只读工具,让 AI 按关键词、分类、状态、创建/更新时间、评分、下载量等条件查询插件。
45
45
 
@@ -161,7 +161,7 @@ plugins:
161
161
  logLevel: debug
162
162
  ```
163
163
 
164
- `debug` 级别会额外在市场页显示性能面板,并在后端日志输出分段耗时;默认 `warn` 不会输出这些诊断日志。
164
+ `debug` 级别会额外在市场页显示性能面板,并在后端日志输出分段耗时;面板中的“解压大小”是 JSON 文本大小,“传输大小”来自响应头 `Content-Length`,压缩流或分块响应没有该响应头时会显示为空。默认 `warn` 不会输出这些诊断日志。
165
165
 
166
166
  市场搜索输入已做 120ms 防抖,并设置 500ms 最大等待上限;连续输入时不会每个字符都触发完整筛选,但长时间连续输入也会定期同步结果。
167
167
 
@@ -338,8 +338,8 @@ lib/ 后端与类型构建产物
338
338
  发布新版本时先提交 `package.json`、`README.md`、`CHANGELOG.md` 等版本变更,再推送匹配版本号的 tag:
339
339
 
340
340
  ```bash
341
- git tag v3.4.1
342
- git push origin v3.4.1
341
+ git tag v3.4.3
342
+ git push origin v3.4.3
343
343
  ```
344
344
 
345
345
  也可以在 GitHub Actions 页面手动运行 `Publish to npm`,但输入版本必须与 `package.json` 一致,并且只能从默认分支触发。workflow 会先检查 npm 上是否已经存在同版本,存在则直接失败,避免覆盖发布。
@@ -1 +1 @@
1
- .market-filter-item[data-v-b9c0ec9c]{display:flex;margin:4px 0;color:var(--k-text-normal);transition:color .5s;align-items:center;z-index:2;height:24px;cursor:pointer}.market-filter-item[data-v-b9c0ec9c]:hover{color:var(--k-text-dark)}.market-filter-item.active[data-v-b9c0ec9c]{color:var(--k-text-active)}.market-filter-item.active.verified[data-v-b9c0ec9c],.market-filter-item.active.newborn[data-v-b9c0ec9c]{color:var(--k-color-success)}.market-filter-item.active.preview[data-v-b9c0ec9c],.market-filter-item.active.portable[data-v-b9c0ec9c]{color:var(--k-color-warning)}.market-filter-item.active.insecure[data-v-b9c0ec9c]{color:var(--k-color-danger)}.market-filter-item.disabled[data-v-b9c0ec9c]{opacity:.5;text-decoration:line-through 2px}.market-filter-item .icon[data-v-b9c0ec9c]{display:inline-flex;width:1.75rem;margin-right:4px;align-items:center;justify-content:center}.market-filter-item:not(.active) .order[data-v-b9c0ec9c]{display:none}.market-filter-item .order[data-v-b9c0ec9c]{display:inline-flex;width:1.75rem;align-items:center;justify-content:center}.market-filter-item svg[data-v-b9c0ec9c]{height:1rem;max-width:1.125rem}.market-filter-item .text[data-v-b9c0ec9c],.market-filter-item .count[data-v-b9c0ec9c]{line-height:20px;font-size:14px;font-weight:500}.market-filter-item .count[data-v-b9c0ec9c]{margin-right:4px}.market-filter-item .spacer[data-v-b9c0ec9c]{flex:1}.cursor-pointer[data-v-9f322549]{cursor:pointer}.market-package[data-v-9f322549]{width:100%;max-width:540px;height:calc(12.5rem + 2px);margin:0;padding:1rem 1.25rem;box-sizing:border-box;transition:box-shadow .3s ease;box-shadow:0 0 0 2px inset transparent}.market-package[data-v-9f322549]:hover{box-shadow:0 0 0 2px inset var(--k-color-primary)}.market-package .market-icon[data-v-9f322549]{height:1em;display:inline}.market-package .header[data-v-9f322549],.market-package .footer[data-v-9f322549]{flex:0 0 auto}.market-package .header[data-v-9f322549]{position:relative}.market-package .header .left[data-v-9f322549]{width:3.5rem;height:3.5rem;border-radius:8px;border:1px solid var(--k-color-border);box-sizing:border-box}.market-package .header .left svg[data-v-9f322549]{height:1.75rem}.market-package .header h2[data-v-9f322549]{font-size:1.125rem;margin:0;line-height:1;display:flex;align-items:center}.market-package .header h2 .title[data-v-9f322549]{flex:0 1 auto;line-height:1.5rem;display:inline-block}.market-package .header h2 .icon[data-v-9f322549]{margin-left:.6rem;height:1.125rem;width:1.125rem;vertical-align:-2px;position:relative;display:inline-block;cursor:pointer}.market-package .header h2 .icon .market-icon[data-v-9f322549]{height:100%;transition:color .3s ease;z-index:10;position:relative}.market-package .header h2 .icon.verified[data-v-9f322549],.market-package .header h2 .icon.newborn[data-v-9f322549]{color:var(--k-color-success)}.market-package .header h2 .icon.preview[data-v-9f322549]{color:var(--k-color-warning)}.market-package .header h2 .icon.insecure[data-v-9f322549]{color:var(--k-color-danger)}.market-package .header h2 .icon.verified[data-v-9f322549]:before,.market-package .header h2 .icon.insecure[data-v-9f322549]:before{position:absolute;top:25%;left:25%;right:25%;bottom:25%;content:"";z-index:0;border-radius:100%;background-color:#fff}.market-package .header .rating[data-v-9f322549]{height:1.5rem;display:inline-flex;align-items:center;gap:0 .25rem;width:fit-content}.market-package .header .rating .market-icon[data-v-9f322549]{color:var(--k-color-warning);height:.875rem;transition:color .3s ease}.market-package .desc[data-v-9f322549]{margin:0;font-size:15px;flex:1 1 auto;line-height:1.5;overflow:hidden;word-break:break-word;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.market-package .footer[data-v-9f322549]{display:flex;gap:.5rem;align-items:center;height:1.5rem;margin-bottom:-.25rem;cursor:default;font-size:14px;transition:color .3s ease;overflow:hidden}.market-package .footer[data-v-9f322549]>*{flex:0 0 auto}.market-package .footer .spacer[data-v-9f322549]{flex:0 2 .5rem}.market-package .footer .long-spacer[data-v-9f322549]{flex:1 1 auto}.market-package .footer .market-icon[data-v-9f322549]{height:12px;width:16px;margin-right:6px;vertical-align:-1px}.market-package .footer .avatars[data-v-9f322549]{display:flex;gap:.25rem}.market-package .footer .avatars .avatar[data-v-9f322549]{cursor:pointer}.market-package .footer .avatars img[data-v-9f322549]{height:1.5rem;width:1.5rem;border-radius:100%;vertical-align:middle}.package-list[data-v-c6afd4f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(336px,1fr));gap:var(--card-margin);justify-items:center;flex:1 0 auto}.virtual-spacer[data-v-c6afd4f6]{grid-column:1/-1;width:100%;pointer-events:none}.k-empty[data-v-c6afd4f6]{flex:1 0 auto}.load-more[data-v-c6afd4f6],.load-complete[data-v-c6afd4f6]{margin:var(--card-margin) 0;display:flex;justify-content:center;color:var(--el-text-color-secondary);font-size:14px}.search-box[data-v-c2c992aa]{display:flex;margin:2rem auto 0;width:100%;max-width:600px;border-radius:1.5rem;align-items:center}.search-container[data-v-c2c992aa]{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;padding:.75rem 1.25rem;padding-right:0}.search-container input[data-v-c2c992aa]{flex:1 1 auto;height:1.25rem;min-width:10rem;font-size:.9em;padding:0;box-sizing:border-box;color:inherit;background-color:transparent;border:none;outline:none}.search-action[data-v-c2c992aa]{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:3rem;height:2.5rem;cursor:pointer}.search-action .market-icon[data-v-c2c992aa]{height:1rem;opacity:.5}.search-action:hover .market-icon.search[data-v-c2c992aa]{display:none}.search-action:not(:hover) .market-icon.close[data-v-c2c992aa]{display:none}.search-word[data-v-c2c992aa]{flex:0 0 auto;display:inline-block;font-size:14px;height:1.25rem;line-height:1rem;border-radius:4px;padding:2px 6px;box-sizing:border-box;color:#fff;font-weight:500;white-space:nowrap;vertical-align:baseline;background-color:var(--k-fill-normal);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .3s ease,background-color .3s ease}.search-word.invalid[data-v-c2c992aa]{opacity:.5;text-decoration:line-through}.search-word.invalid[data-v-c2c992aa]:hover{opacity:1}.manual-panel .k-comment{margin-top:0}.dep-package-view[data-v-8af0472c]{height:3rem;position:relative}.dep-package-view .el-button[data-v-8af0472c]{width:4rem}.dep-package-view .version-status[data-v-8af0472c]{display:inline-block;max-width:10rem;white-space:normal;line-height:1.3;font-size:.85em}.dep-package-view .version-status.muted[data-v-8af0472c]{color:var(--fg2)}.dep-package-view .version-status.danger[data-v-8af0472c]{color:var(--danger)}.page-deps{display:flex;flex-flow:column}.page-deps .body-container{transform:translateY(1px);margin-top:-1px}.page-deps table tr:first-child{border-top:none}.page-deps tbody tr{transition:.3s ease}.page-deps tbody tr:hover{background-color:var(--k-side-bg)}@media (max-width: 768px){.page-deps td{padding:.5em}}.theme-color.primary{color:var(--primary)}.theme-color.success{color:var(--success)}.theme-color.warning{color:var(--warning)}.theme-color.danger{color:var(--danger)}.install-panel .el-dialog__header{display:flex;gap:0 .5em;align-items:center;padding-right:36px;padding-bottom:4px}.install-panel .el-dialog__header .el-dialog__title{font-weight:500;color:var(--fg1);margin-right:.5rem;flex:0 0 auto}.install-panel .el-dialog__header .el-select{flex:1 1 auto;max-width:12.5rem;margin:-2px 0 -4px}.install-panel .warning{color:var(--k-color-warning)}.install-panel .danger{color:var(--k-color-danger)}.install-panel .version-badges{float:right;margin-right:-12px}.install-panel .el-dialog__body{padding:0 20px;min-height:40px}.install-panel .el-dialog__body>div{margin:1rem 0}.install-panel .el-dialog__body:last-child{padding-bottom:1rem}.install-panel table thead td,.install-panel table thead th,.install-panel table tbody td,.install-panel table tbody th{padding:.5em .875em;white-space:nowrap}.install-panel span.link:hover{cursor:pointer;text-decoration:underline}.install-panel .el-button+.el-button{margin-left:1rem}.install-panel .el-dialog__footer{display:flex;justify-content:space-between;align-items:center}.install-panel .wrapper{position:relative;display:inline-flex}.install-panel .wrapper .shadow{letter-spacing:1px;visibility:hidden;padding-right:22px}.install-panel .wrapper .el-select{position:absolute;left:0;top:50%;right:0;transform:translateY(-50%)}.dot-hint:before{content:"";position:absolute;border-radius:100%;width:.5rem;height:.5rem;top:50%;right:20px;transform:translateY(-50%);background-color:currentColor;transition:background-color .3s ease;box-shadow:1px 1px 2px #3333}.confirm-panel td.arrow{padding:0}.confirm-panel td.arrow span{display:flex;justify-content:center;align-items:center}.confirm-panel .el-dialog__footer{display:flex;justify-content:space-between;align-items:center}.page-market .layout-main .el-scrollbar__view{padding:0 var(--card-margin);display:flex;flex-direction:column;min-height:100%}.page-market .layout-left .market-filter-group{padding:0 1.5rem;margin:2rem 0}.page-market .layout-left h2{margin:0;font-size:14px;padding:8px 0}.search-box{background-color:var(--k-card-bg);box-shadow:var(--k-card-shadow);transition:var(--color-transition)}.market-hint{width:100%;margin:1rem 0 -.5rem;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);font-weight:var(--el-font-weight-primary);transition:color .3s ease}.market-hint .el-checkbox{margin-left:1.5rem}.market-stale.k-comment{width:100%;box-sizing:border-box;margin:1.25rem 0 -.25rem}.market-stale.k-comment p{margin:.25rem 0}.market-debug.k-comment{width:100%;box-sizing:border-box;margin:1.25rem 0 -.25rem;font-size:12px}.market-debug.k-comment p{margin:.25rem 0 .5rem}.market-debug-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.25rem 1rem}.market-debug-item{display:flex;justify-content:space-between;gap:.75rem;min-width:0}.market-debug-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg1)}.market-debug-timings{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.5rem;color:var(--fg2)}.market-container .k-button{padding:.35em .85em;transform:translateY(-1px);margin-left:1rem}.market-error.k-comment{margin-left:2rem;margin-right:2rem}.k-status .el-progress-bar{width:120px;margin-right:2px}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.grid{display:grid}.my-8{margin-top:2rem;margin-bottom:2rem}.ms{margin-inline-start:1rem}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.h2{height:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.shrink-0{flex-shrink:0}.grow-1{flex-grow:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b,.border{border-width:1px}.px{padding-left:1rem;padding-right:1rem}.pl-8{padding-left:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}
1
+ .market-filter-item[data-v-b9c0ec9c]{display:flex;margin:4px 0;color:var(--k-text-normal);transition:color .5s;align-items:center;z-index:2;height:24px;cursor:pointer}.market-filter-item[data-v-b9c0ec9c]:hover{color:var(--k-text-dark)}.market-filter-item.active[data-v-b9c0ec9c]{color:var(--k-text-active)}.market-filter-item.active.verified[data-v-b9c0ec9c],.market-filter-item.active.newborn[data-v-b9c0ec9c]{color:var(--k-color-success)}.market-filter-item.active.preview[data-v-b9c0ec9c],.market-filter-item.active.portable[data-v-b9c0ec9c]{color:var(--k-color-warning)}.market-filter-item.active.insecure[data-v-b9c0ec9c]{color:var(--k-color-danger)}.market-filter-item.disabled[data-v-b9c0ec9c]{opacity:.5;text-decoration:line-through 2px}.market-filter-item .icon[data-v-b9c0ec9c]{display:inline-flex;width:1.75rem;margin-right:4px;align-items:center;justify-content:center}.market-filter-item:not(.active) .order[data-v-b9c0ec9c]{display:none}.market-filter-item .order[data-v-b9c0ec9c]{display:inline-flex;width:1.75rem;align-items:center;justify-content:center}.market-filter-item svg[data-v-b9c0ec9c]{height:1rem;max-width:1.125rem}.market-filter-item .text[data-v-b9c0ec9c],.market-filter-item .count[data-v-b9c0ec9c]{line-height:20px;font-size:14px;font-weight:500}.market-filter-item .count[data-v-b9c0ec9c]{margin-right:4px}.market-filter-item .spacer[data-v-b9c0ec9c]{flex:1}.cursor-pointer[data-v-9f322549]{cursor:pointer}.market-package[data-v-9f322549]{width:100%;max-width:540px;height:calc(12.5rem + 2px);margin:0;padding:1rem 1.25rem;box-sizing:border-box;transition:box-shadow .3s ease;box-shadow:0 0 0 2px inset transparent}.market-package[data-v-9f322549]:hover{box-shadow:0 0 0 2px inset var(--k-color-primary)}.market-package .market-icon[data-v-9f322549]{height:1em;display:inline}.market-package .header[data-v-9f322549],.market-package .footer[data-v-9f322549]{flex:0 0 auto}.market-package .header[data-v-9f322549]{position:relative}.market-package .header .left[data-v-9f322549]{width:3.5rem;height:3.5rem;border-radius:8px;border:1px solid var(--k-color-border);box-sizing:border-box}.market-package .header .left svg[data-v-9f322549]{height:1.75rem}.market-package .header h2[data-v-9f322549]{font-size:1.125rem;margin:0;line-height:1;display:flex;align-items:center}.market-package .header h2 .title[data-v-9f322549]{flex:0 1 auto;line-height:1.5rem;display:inline-block}.market-package .header h2 .icon[data-v-9f322549]{margin-left:.6rem;height:1.125rem;width:1.125rem;vertical-align:-2px;position:relative;display:inline-block;cursor:pointer}.market-package .header h2 .icon .market-icon[data-v-9f322549]{height:100%;transition:color .3s ease;z-index:10;position:relative}.market-package .header h2 .icon.verified[data-v-9f322549],.market-package .header h2 .icon.newborn[data-v-9f322549]{color:var(--k-color-success)}.market-package .header h2 .icon.preview[data-v-9f322549]{color:var(--k-color-warning)}.market-package .header h2 .icon.insecure[data-v-9f322549]{color:var(--k-color-danger)}.market-package .header h2 .icon.verified[data-v-9f322549]:before,.market-package .header h2 .icon.insecure[data-v-9f322549]:before{position:absolute;top:25%;left:25%;right:25%;bottom:25%;content:"";z-index:0;border-radius:100%;background-color:#fff}.market-package .header .rating[data-v-9f322549]{height:1.5rem;display:inline-flex;align-items:center;gap:0 .25rem;width:fit-content}.market-package .header .rating .market-icon[data-v-9f322549]{color:var(--k-color-warning);height:.875rem;transition:color .3s ease}.market-package .desc[data-v-9f322549]{margin:0;font-size:15px;flex:1 1 auto;line-height:1.5;overflow:hidden;word-break:break-word;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.market-package .footer[data-v-9f322549]{display:flex;gap:.5rem;align-items:center;height:1.5rem;margin-bottom:-.25rem;cursor:default;font-size:14px;transition:color .3s ease;overflow:hidden}.market-package .footer[data-v-9f322549]>*{flex:0 0 auto}.market-package .footer .spacer[data-v-9f322549]{flex:0 2 .5rem}.market-package .footer .long-spacer[data-v-9f322549]{flex:1 1 auto}.market-package .footer .market-icon[data-v-9f322549]{height:12px;width:16px;margin-right:6px;vertical-align:-1px}.market-package .footer .avatars[data-v-9f322549]{display:flex;gap:.25rem}.market-package .footer .avatars .avatar[data-v-9f322549]{cursor:pointer}.market-package .footer .avatars img[data-v-9f322549]{height:1.5rem;width:1.5rem;border-radius:100%;vertical-align:middle}.package-list[data-v-c6afd4f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(336px,1fr));gap:var(--card-margin);justify-items:center;flex:1 0 auto}.virtual-spacer[data-v-c6afd4f6]{grid-column:1/-1;width:100%;pointer-events:none}.k-empty[data-v-c6afd4f6]{flex:1 0 auto}.load-more[data-v-c6afd4f6],.load-complete[data-v-c6afd4f6]{margin:var(--card-margin) 0;display:flex;justify-content:center;color:var(--el-text-color-secondary);font-size:14px}.search-box[data-v-c2c992aa]{display:flex;margin:2rem auto 0;width:100%;max-width:600px;border-radius:1.5rem;align-items:center}.search-container[data-v-c2c992aa]{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;padding:.75rem 1.25rem;padding-right:0}.search-container input[data-v-c2c992aa]{flex:1 1 auto;height:1.25rem;min-width:10rem;font-size:.9em;padding:0;box-sizing:border-box;color:inherit;background-color:transparent;border:none;outline:none}.search-action[data-v-c2c992aa]{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:3rem;height:2.5rem;cursor:pointer}.search-action .market-icon[data-v-c2c992aa]{height:1rem;opacity:.5}.search-action:hover .market-icon.search[data-v-c2c992aa]{display:none}.search-action:not(:hover) .market-icon.close[data-v-c2c992aa]{display:none}.search-word[data-v-c2c992aa]{flex:0 0 auto;display:inline-block;font-size:14px;height:1.25rem;line-height:1rem;border-radius:4px;padding:2px 6px;box-sizing:border-box;color:#fff;font-weight:500;white-space:nowrap;vertical-align:baseline;background-color:var(--k-fill-normal);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .3s ease,background-color .3s ease}.search-word.invalid[data-v-c2c992aa]{opacity:.5;text-decoration:line-through}.search-word.invalid[data-v-c2c992aa]:hover{opacity:1}.manual-panel .k-comment{margin-top:0}.dep-package-view[data-v-8af0472c]{height:3rem;position:relative}.dep-package-view .el-button[data-v-8af0472c]{width:4rem}.dep-package-view .version-status[data-v-8af0472c]{display:inline-block;max-width:10rem;white-space:normal;line-height:1.3;font-size:.85em}.dep-package-view .version-status.muted[data-v-8af0472c]{color:var(--fg2)}.dep-package-view .version-status.danger[data-v-8af0472c]{color:var(--danger)}.page-deps{display:flex;flex-flow:column}.page-deps .body-container{transform:translateY(1px);margin-top:-1px}.page-deps table tr:first-child{border-top:none}.page-deps tbody tr{transition:.3s ease}.page-deps tbody tr:hover{background-color:var(--k-side-bg)}@media(max-width:768px){.page-deps td{padding:.5em}}.theme-color.primary{color:var(--primary)}.theme-color.success{color:var(--success)}.theme-color.warning{color:var(--warning)}.theme-color.danger{color:var(--danger)}.install-panel .el-dialog__header{display:flex;gap:0 .5em;align-items:center;padding-right:36px;padding-bottom:4px}.install-panel .el-dialog__header .el-dialog__title{font-weight:500;color:var(--fg1);margin-right:.5rem;flex:0 0 auto}.install-panel .el-dialog__header .el-select{flex:1 1 auto;max-width:12.5rem;margin:-2px 0 -4px}.install-panel .warning{color:var(--k-color-warning)}.install-panel .danger{color:var(--k-color-danger)}.install-panel .version-badges{float:right;margin-right:-12px}.install-panel .el-dialog__body{padding:0 20px;min-height:40px}.install-panel .el-dialog__body>div{margin:1rem 0}.install-panel .el-dialog__body:last-child{padding-bottom:1rem}.install-panel table thead td,.install-panel table thead th,.install-panel table tbody td,.install-panel table tbody th{padding:.5em .875em;white-space:nowrap}.install-panel span.link:hover{cursor:pointer;text-decoration:underline}.install-panel .el-button+.el-button{margin-left:1rem}.install-panel .el-dialog__footer{display:flex;justify-content:space-between;align-items:center}.install-panel .wrapper{position:relative;display:inline-flex}.install-panel .wrapper .shadow{letter-spacing:1px;visibility:hidden;padding-right:22px}.install-panel .wrapper .el-select{position:absolute;left:0;top:50%;right:0;transform:translateY(-50%)}.dot-hint:before{content:"";position:absolute;border-radius:100%;width:.5rem;height:.5rem;top:50%;right:20px;transform:translateY(-50%);background-color:currentColor;transition:background-color .3s ease;box-shadow:1px 1px 2px #3333}.confirm-panel td.arrow{padding:0}.confirm-panel td.arrow span{display:flex;justify-content:center;align-items:center}.confirm-panel .el-dialog__footer{display:flex;justify-content:space-between;align-items:center}.page-market .layout-main .el-scrollbar__view{padding:0 var(--card-margin);display:flex;flex-direction:column;min-height:100%}.page-market .layout-left .market-filter-group{padding:0 1.5rem;margin:2rem 0}.page-market .layout-left h2{margin:0;font-size:14px;padding:8px 0}.search-box{background-color:var(--k-card-bg);box-shadow:var(--k-card-shadow);transition:var(--color-transition)}.market-hint{width:100%;margin:1rem 0 -.5rem;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);font-weight:var(--el-font-weight-primary);transition:color .3s ease}.market-hint .el-checkbox{margin-left:1.5rem}.market-stale.k-comment{width:100%;box-sizing:border-box;margin:1.25rem 0 -.25rem}.market-stale.k-comment p{margin:.25rem 0}.market-debug.k-comment{width:100%;box-sizing:border-box;margin:1.25rem 0 -.25rem;font-size:12px}.market-debug.k-comment p{margin:.25rem 0 .5rem}.market-debug-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.25rem 1rem}.market-debug-item{display:flex;justify-content:space-between;gap:.75rem;min-width:0}.market-debug-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg1)}.market-debug-timings,.market-debug-routes{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.5rem;color:var(--fg2)}.market-debug-route{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-container .k-button{padding:.35em .85em;transform:translateY(-1px);margin-left:1rem}.market-error.k-comment{margin-left:2rem;margin-right:2rem}.k-status .el-progress-bar{width:120px;margin-right:2px}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.grid{display:grid}.my-8{margin-top:2rem;margin-bottom:2rem}.ms{margin-inline-start:1rem}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.h2{height:.5rem}.flex{display:flex}.inline-flex{display:inline-flex}.shrink-0{flex-shrink:0}.grow-1{flex-grow:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-around{justify-content:space-around}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b,.border{border-width:1px}.px{padding-left:1rem;padding-right:1rem}.pl-8{padding-left:2rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}