@liveshops/host-sdk
v0.3.6
Published
LiveShop Host handshake, HTTP client, iframe/remote contribution protocol, and Gateway Host runtime entries.
Downloads
186
Readme
@liveshops/host-sdk 0.3.6
本次是公开 0.3.5 的最小 SDK 热修,新增 navigateHost、setHostPagePresentation 和 HostRouteContext。0.4.x 现代开发线独立保留,没有覆盖或回退其源码。
import { connectToHost, navigateHost, setHostPagePresentation, type HostRouteContext } from '@liveshops/host-sdk'
const context = await connectToHost()
const route: HostRouteContext | undefined = context.route
setHostPagePresentation({ summary: 'module' })
navigateHost('/live/123/console')导航只允许不超过 2048 字符、不含空格/控制符/反斜线/query/hash 的站内绝对路径;拒绝外部 URL 和 //。呈现只接受 host / module,选择当前页说明区域所有者,不创建跨页遮罩。两个命令都必须在 iframe 已完成 parent/source/origin/protocol 握手后调用;等待握手、超时或独立顶层运行时拒绝。超时接收器被移除,迟到握手不能激活已失败连接。
Host 接收端需实现现行 LIVESHOP_HOST_NAVIGATE 与 LIVESHOP_HOST_PAGE_PRESENTATION 协议,并继续执行自己的 source/origin/protocol、目录与权限校验。SDK 不代替 Host 身份与路由裁决。
既有 /runtime、/runtime/console、/host.css 从公开 @liveshops/[email protected] 固定 SHA512 输入中逐字节保留;此次不升级 Host Runtime,也不引入未发布的 design-tokens 1.6.0。bundle-host-runtime.mjs 校验官方 tarball,缓存后只复制其 runtime 子目录;校验失败则停止,不采用替代来源。
源码基线 b7d371a 的 SDK 目录与明确发布 0.3.5 的干净作者 eaf7d97 相同。npm 0.3.5 的 gitHead 指向更早 af9b315,因此发布证据同时核对实际公开 tarball,而不只信版本元数据。
隔离容器验收:npm test、npm run prepublishOnly、npm pack;源码与实际安装的 tarball 都执行导航安全测试,全部 runtime 文件比对 SHA256。Live 仍使用公开 design-tokens 1.5.3;正式 npm 发布成功后才固定依赖 0.3.6。
