@inventec/dsh-onetree-log 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -81,6 +81,22 @@ node scripts/e2e.mjs # 宿主半身端到端
81
81
  无构建步骤:`lib/` 即发布产物(与 dsh-surf / dsh-obmc-web 一致的薄插件风格)。
82
82
  宿主半身需要 Node ≥22.15(zlib 原生 zstd;旧版本自动回退系统 `zstd -dc`)。
83
83
 
84
+ ## DSH 版本兼容
85
+
86
+ - **版本门槛**:`0.2.1` 及以上宿主需 **≥0.1.4**——0.2.1 起宿主移除 `webRuntime`
87
+ 服务(改名 `webStartup`),0.1.0–0.1.3 在其上会静默失效(插件 pending、路由
88
+ 404)。≥0.1.4 采用非抛双服务解析(`webStartup` → `webRuntime` → `[]`),在
89
+ `0.1.x`–`0.2.1-rc.x` 宿主全线可用。本包不声明 `@deepseek-ai/dsh` 家族 peer,
90
+ 宿主版本守卫对其不设门槛,兼容范围以本节与市场文案为准。
91
+ - **依赖的宿主契约面**:`webServer.register`(prefix 路由)、客户端
92
+ `settings.section` slot、`slots` 客户端服务、`window.__ModuleLoader__` 启动
93
+ 契约。数据自持在插件自有目录(`ONETREE_LOG_DIR` 可覆盖),不触宿主
94
+ settings/credentials。
95
+ - **失效模式**:契约若在后续宿主版本变更,症状为设置面板消失(客户端 console
96
+ 报错)或路由 404,不会损坏宿主、不会波及已落盘的 dumps 数据。
97
+ - **实测口径**:DSH `0.2.1-rc.2` web 实例 link 装机即线上,`GET /onetree-log/dumps`
98
+ 200(2026-10-19 复核);源码级适配审计对照 `0.2.1-rc.2` 宿主逐点核证。
99
+
84
100
  ## 发版
85
101
 
86
102
  npm 包走 GitHub Actions OIDC Trusted Publishing(无静态 token,自带 provenance):
package/icon.svg ADDED
@@ -0,0 +1,20 @@
1
+ <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="dsh-onetree-log">
2
+ <!-- dsh-onetree-log:原木横截面年轮(log 双关 = 日志),
3
+ 三圈年轮蓝青相间 + 轮上木结 = OneTree dump 日志剖析 -->
4
+ <circle cx="18" cy="18" r="12.2" stroke="url(#b)" stroke-width="2.7" fill="none"/>
5
+ <circle cx="18" cy="18" r="7.9" stroke="url(#t)" stroke-width="2.4" fill="none" opacity="0.9"/>
6
+ <circle cx="18" cy="18" r="3.6" stroke="url(#b)" stroke-width="2.2" fill="none" opacity="0.95"/>
7
+ <circle cx="18" cy="18" r="1.2" fill="url(#t)"/>
8
+ <circle cx="21.8" cy="10.6" r="1.25" fill="url(#t)"/>
9
+ <path d="M24.6 11.4L28.6 7.4" stroke="url(#b)" stroke-width="2.4" stroke-linecap="round"/>
10
+ <defs>
11
+ <linearGradient id="b" x1="5.8" y1="5.8" x2="30.2" y2="30.2" gradientUnits="userSpaceOnUse">
12
+ <stop stop-color="#69B9FF"/>
13
+ <stop offset="1" stop-color="#324DE2"/>
14
+ </linearGradient>
15
+ <linearGradient id="t" x1="10.1" y1="10.1" x2="25.9" y2="25.9" gradientUnits="userSpaceOnUse">
16
+ <stop stop-color="#45E7A4"/>
17
+ <stop offset="1" stop-color="#05909D"/>
18
+ </linearGradient>
19
+ </defs>
20
+ </svg>
package/lib/index.js CHANGED
@@ -23,7 +23,7 @@ import { pipeline } from 'node:stream/promises'
23
23
  import { DumpStore } from './store.js'
24
24
 
25
25
  export const name = '@inventec/dsh-onetree-log'
26
- export const inject = ['webServer'] /* LOCAL-PATCH 2026-10-18 (know-how 035): 0.2.1 host removed webRuntime (→webStartup); trusted-hosts now resolved per-request via non-throwing dual-service fallback */
26
+ export const inject = ['webServer'] /* compat (know-how 035, shipped since 0.1.4): 0.2.1 host removed webRuntime (→webStartup); trusted-hosts now resolved per-request via non-throwing dual-service fallback */
27
27
 
28
28
  const MAX_UPLOAD_BYTES = 512 * 1024 * 1024
29
29
  const PREVIEW_BYTES = 256 * 1024
@@ -247,7 +247,7 @@ export function apply(ctx) {
247
247
  store = new DumpStore()
248
248
  ctx.logger?.info?.(`[dsh-onetree-log] store at ${store.dumpsDir},已登记 ${store.list().length} 个 dump`)
249
249
 
250
- /* LOCAL-PATCH 2026-10-18 (know-how 035): was `ctx.webRuntime?.trustedHosts` (0.2.1 host removed webRuntime; cordis Local throws on un-injected property access, `?.` cannot protect). 034 pattern: non-throwing ctx.get lookup, webStartup (0.2.1+) → webRuntime (≤0.2.0) → []. */
250
+ /* compat (know-how 035, shipped since 0.1.4): was `ctx.webRuntime?.trustedHosts` (0.2.1 host removed webRuntime; cordis Local throws on un-injected property access, `?.` cannot protect). 034 pattern: non-throwing ctx.get lookup, webStartup (0.2.1+) → webRuntime (≤0.2.0) → []. */
251
251
  const resolveTrustedHosts = () => {
252
252
  let startup, runtime
253
253
  try { startup = ctx?.get?.('webStartup') } catch {}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@inventec/dsh-onetree-log",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "AMI MegaRAC OneTree 一键日志(OpenBMC dreport dump)上传与分析框架:设置面板「OneTree 日志」上传压缩包或登记服务器本地路径,安全解包、自动探测 dump 根、文件清单分类,为第二阶段逐域解析提供内核。",
5
+ "icon": "./icon.svg",
5
6
  "type": "module",
6
7
  "main": "./lib/index.js",
7
8
  "exports": {
@@ -13,7 +14,8 @@
13
14
  "lib/",
14
15
  "cordis.patch.yml",
15
16
  "README.md",
16
- "LICENSE"
17
+ "LICENSE",
18
+ "icon.svg"
17
19
  ],
18
20
  "license": "MIT",
19
21
  "author": "iasiv5",