dsh-agy-link 0.4.87 → 0.4.88

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
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.88 (2026-10-29)
4
+
5
+ ### English
6
+
7
+ - **Security(media): add `X-Content-Type-Options: nosniff` and a CSP sandbox to served media/assets.**
8
+ - The media and asset routes serve local image/SVG files from the DSH origin. They now send `X-Content-Type-Options: nosniff` (no MIME sniffing) and `Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox`, so an operator-supplied SVG cannot execute scripts if opened/navigated directly. Adds header assertions to the media test.
9
+
10
+ ### 中文
11
+
12
+ - **安全(media):媒体/静态资源响应增加 `X-Content-Type-Options: nosniff` 与 CSP sandbox。**
13
+ - 媒体与静态资源路由从 DSH 同源提供本地图片/SVG。现附加 `X-Content-Type-Options: nosniff`(禁止 MIME 嗅探)与 `Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox`,使运维提供的 SVG 即使被直接打开/导航也无法执行脚本。为媒体测试补充响应头断言。
14
+
15
+ **Full Changelog**: https://github.com/amlyczz/dsh-agy-link/compare/v0.4.87...v0.4.88
16
+
3
17
  ## 0.4.87 (2026-10-29)
4
18
 
5
19
  ### English
package/dist/index.js CHANGED
@@ -35126,7 +35126,9 @@ function handleMediaRequest(req, res, opts = {}) {
35126
35126
  "Content-Length": st.size,
35127
35127
  "Cache-Control": "public, max-age=3600",
35128
35128
  "Access-Control-Allow-Origin": "*",
35129
- "Content-Disposition": "inline"
35129
+ "Content-Disposition": "inline",
35130
+ "X-Content-Type-Options": "nosniff",
35131
+ "Content-Security-Policy": "default-src 'none'; style-src 'unsafe-inline'; sandbox"
35130
35132
  });
35131
35133
  const stream = createReadStream(filePath);
35132
35134
  stream.on("error", () => {
@@ -35173,7 +35175,9 @@ function handleAssetRequest(req, res, assetDir) {
35173
35175
  "Content-Type": contentType,
35174
35176
  "Content-Length": st.size,
35175
35177
  "Cache-Control": "public, max-age=86400",
35176
- "Access-Control-Allow-Origin": "*"
35178
+ "Access-Control-Allow-Origin": "*",
35179
+ "X-Content-Type-Options": "nosniff",
35180
+ "Content-Security-Policy": "default-src 'none'; style-src 'unsafe-inline'; sandbox"
35177
35181
  });
35178
35182
  const stream = createReadStream(filePath);
35179
35183
  stream.on("error", () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-agy-link",
3
- "version": "0.4.87",
3
+ "version": "0.4.88",
4
4
  "description": "Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.",
5
5
  "type": "module",
6
6
  "license": "MIT",