@deepseek-ai/dsh-host-frontend-static 0.1.5-rc.2 → 0.1.6-alpha.1
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.i18n.yaml +1 -1
- package/README.zh.md +4 -4
- package/package.json +8 -8
package/README.i18n.yaml
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/host/frontend-static/README.md
|
|
5
5
|
README.md: e616c048119fc1ce75ad29b002c3298b84169af9
|
|
6
|
-
README.zh.md:
|
|
6
|
+
README.zh.md: 6cf55bb6d82f665754767f0a8c5b9cc68d8236d6
|
package/README.zh.md
CHANGED
|
@@ -37,15 +37,15 @@ kind: "package-reference"
|
|
|
37
37
|
|
|
38
38
|
`distIndex` 是组合应用的组装事实:[`dsh-web-app`](../../bundle/web-app/README.zh.md) 通过前端包的 exports 解析它并挂载本插件;部署绝不硬编码它。
|
|
39
39
|
|
|
40
|
-
###
|
|
40
|
+
### 服务器实施的约束
|
|
41
41
|
|
|
42
|
-
请求从 dist 根目录(包含 `distIndex` 的目录)提供。dist 根目录与配置的 index 路径以 HTTP 200 渲染 `index.html`;任何其他已有文件按自身 MIME 类型直接提供,未知扩展名按 `application/octet-stream` 提供。解析到根目录之外的路径以 403 拒绝,因此精心构造的路径无法读取 dist 之上的文件。dist
|
|
42
|
+
请求从 dist 根目录(包含 `distIndex` 的目录)提供。dist 根目录与配置的 index 路径以 HTTP 200 渲染 `index.html`;任何其他已有文件按自身 MIME 类型直接提供,未知扩展名按 `application/octet-stream` 提供。解析到根目录之外的路径以 403 拒绝,因此精心构造的路径无法读取 dist 之上的文件。dist 根目录内不存在或不是文件的目标——文件缺失、目录或配置的 index 缺失——返回空 404。没有匹配具名路由的非 GET/HEAD 请求返回 405。每个成功的 index 响应都经 webserver 的 `renderIndex` 渲染,因此启动 manifest(元数据清单)会通过 `/` 与配置的 index 路径送达页面。
|
|
43
43
|
|
|
44
44
|
根路径与配置的 index 响应会在读取 HTML 前调用 `ctx.connection.authorizeIndex`。有效进程 token 会得到 303 重定向与持久浏览器 cookie;已有有效 cookie 时直接提供 index;其他 index 请求得到 Connection 所有的 401 响应。非 index 文件仍是公开静态资源。Token、cookie、过期时间与签名记录语义都归 Connection 所有。
|
|
45
45
|
|
|
46
46
|
### 可观察的失败
|
|
47
47
|
|
|
48
|
-
遍历返回 403 而不是错误页。dist
|
|
48
|
+
遍历返回 403 而不是错误页。dist 根目录内不存在或不是文件的目标返回空 404,因此失效链接或拼错的 pathname 是显式失败,而不是静默的 SPA 回退。第二次占据席位会抛错,而席位无人占据时 webserver 返回 404——本插件的 fiber 被 dispose(资源释放)后,浏览器看到的就是该响应。
|
|
49
49
|
|
|
50
50
|
-----
|
|
51
51
|
|
|
@@ -114,4 +114,4 @@ kind: "package-reference"
|
|
|
114
114
|
|
|
115
115
|
</details>
|
|
116
116
|
|
|
117
|
-
**运行时不变式:**
|
|
117
|
+
**运行时不变式:** 不发布伴生入口。唯一受本包所有的关系是单个回退席位,但无法从 teardown 流中探测它:`internal/plugin` 在正在释放的 fiber 执行 effect disposer 前触发,因此通知发出时合法所有者仍占据席位,任何占位探测都会把每次正确释放误报为失败;这不同于 webserver companion 对保留路径的探测,后者不会与存活注册冲突。席位的注册/释放对称性由本包真实组合的 HMR(热模块替换)安全测试覆盖。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-host-frontend-static",
|
|
3
3
|
"description": "SPA dist server for the Web shell: owns the webserver fallback seat, serving explicit index entries and static assets with traversal rejection and 404 misses",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.6-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -27,18 +27,18 @@
|
|
|
27
27
|
],
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@deepseek-ai/dsh-host-webserver": "^0.1.
|
|
31
|
-
"@deepseek-ai/
|
|
32
|
-
"@deepseek-ai/
|
|
30
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.6-alpha.1",
|
|
31
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.6-alpha.1",
|
|
32
|
+
"@deepseek-ai/cordis": "^4.0.2"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@deepseek-ai/schemastery": "^3.18.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
39
|
-
"@deepseek-ai/dsh-client-connection": "^0.1.
|
|
40
|
-
"@deepseek-ai/dsh-credentials-local": "^0.1.
|
|
41
|
-
"@deepseek-ai/
|
|
42
|
-
"@deepseek-ai/
|
|
39
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.6-alpha.1",
|
|
40
|
+
"@deepseek-ai/dsh-credentials-local": "^0.1.6-alpha.1",
|
|
41
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.6-alpha.1",
|
|
42
|
+
"@deepseek-ai/cordis": "^4.0.2"
|
|
43
43
|
}
|
|
44
44
|
}
|