Skip to content

feat(gateway,runtime): 会话附件删除接口与图片输入模型兼容投影#713

Closed
wynxing wants to merge 1 commit into
1024XEngineer:mainfrom
wynxing:clean/session-asset-delete-image-projection
Closed

feat(gateway,runtime): 会话附件删除接口与图片输入模型兼容投影#713
wynxing wants to merge 1 commit into
1024XEngineer:mainfrom
wynxing:clean/session-asset-delete-image-projection

Conversation

@wynxing
Copy link
Copy Markdown
Collaborator

@wynxing wynxing commented Jun 7, 2026

概述

本 PR 是 #712 的干净替代版本,排除了纯空格/格式变更的脏提交。

变更内容

  • 新增 \DeleteSessionAsset\ 网关接口与运行时实现
  • 新增 \SessionAssetPort\ 接口抽象,解耦具体类型嵌入
  • 图片输入模型兼容投影(projection)
  • ACL 测试键归一化与 nil source 保护
  • Hook Matcher DSL 与命令处理器
  • microcompact 删除与 input_preparer 迁移
  • Web 端多模态会话资产支持
  • TUI 会话资产删除事件处理

#712 的区别

  • 排除了 3 个纯空格变更文件(
    unner.go,
    unner_tool.go, \ ypes.go\)
  • 消除了 10+ 个文件的空格膨胀(diff 行数从 +14252/-6881 降至 +14227/-6856)
  • 合并为 1 个干净的 commit,无脏提交历史

关联

Closes #712

- 新增 DeleteSessionAsset 网关接口与运行时实现
- 新增 SessionAssetPort 接口抽象,解耦具体类型嵌入
- 图片输入模型兼容投影(projection)
- ACL 测试键归一化与 nil source 保护
- Hook Matcher DSL 与命令处理器
- microcompact 删除与 input_preparer 迁移
- Web 端多模态会话资产支持
- TUI 会话资产删除事件处理
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

Copy link
Copy Markdown
Contributor

@fennoai fennoai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

发现 1 个需要修复的问题。

本地验证未能执行:go 不在 PATH 中;cd web && npm test -- --runvitest: Permission denied 失败。

@@ -406,7 +696,7 @@ func (s *NetworkServer) withCORS(next http.Handler) http.Handler {
}

writer.Header().Set("Access-Control-Allow-Methods", "GET, POST, OPTIONS")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里新增了浏览器端 deleteSessionAsset(),会发起 DELETE /api/session-assets/...,且通常携带 AuthorizationX-NeoCode-Workspace-Hash,因此跨源浏览器连接会先发 CORS preflight。当前 Access-Control-Allow-Methods 仍只有 GET, POST, OPTIONS,preflight 会因为缺少 DELETE 被浏览器拦截,导致上传后清理/删除附件失败。建议把 DELETE 加入允许方法,并补一个 OPTIONS 覆盖测试。

@wynxing wynxing closed this Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant