/** * 批 4b:零依赖静态文件服务器(127.0.0.1 专用)——serve Web 导出目录供浏览器试玩。 * * 安全(spec §3 批 4b):仅绑定回环地址(不对外);路径穿越防护复用 core/path-utils * resolveWithinRoot(2026-08-21 架构审查 MEDIUM-3:迭代解码+realpath+symlink 防护的 * 最强实现,替代本地 normalize+前缀弱化版——导出目录内 symlink 指向根外会被拒); * 目录不列不 serve(仅文件);无 CGI/无上传。Host 校验拒 DNS rebinding; * nosniff + SVG 内嵌脚本风险由 X-Content-Type-Options 缓解。 */ import { type Server } from 'http'; /** 请求路径安全化:返回相对 root 的绝对文件路径;穿越形态 → throw(403)。 * MEDIUM-3(2026-08-21):核心校验下沉到 core/path-utils.resolveWithinRoot * (迭代解码+realpath+symlink 防护);此处仅做 URL 层预解码与空路径映射。 */ export declare function sanitizeRequestPath(rawUrlPath: string, rootDir: string): string; export interface RunningWebServer { server: Server; url: string; port: number; close(): Promise; } /** 起服务器(仅 127.0.0.1);listening 后 resolve。port=0 让系统分配。 */ export declare function startWebServer(rootDir: string, portInput?: number): Promise;