feat: 任务附件——server/worker/console 链路打通(+ popen goal 新语义补漏)
server:POST /uploads(multipart,413 预检、路径/数量/大小校验、 24h 过期包、used 防一包多用)+ 建任务绑定(同事务写附件行 + 包置 used,cloud 执行器 400)+ 列表/详情带 attachments + 取消删暂存 + 分支带走附件清单;db.py PG 建表 + init_db 补表。 worker:_task_seed_dir(无附件/目录已删静默 None)+ dispatch/ goal 三路(同步本地、popen、Docker 只读挂载 /tmp/codex-seed) + cloud 执行器兜底失败 + 终局删暂存。 console:文件/文件夹/图片三路输入,先上传拿 upload_id 再建任务, 列表 [附件×n]、详情列附件路径。 附带:popen 的 goal 命令此前强制要求 verify_command,goal 新语义 任务到本地 worker(走 popen)会直接报错,改成与同步 goal_task 一致(无验收不传 --verify,轮次 0 原样传)。 测试:新增 test_task_attachments.py 15 个。
This commit is contained in:
1 parent
9537e6f0d2
commit
7c444a688b
8 files changed
+869
-32
No files matched your search
+15
@@ -840,6 +840,21 @@ POSTGRES_SCHEMA = (
|
||||
"environment_id TEXT, "
|
||||
"UNIQUE(project_id, idempotency_key))",
|
||||
"CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status)",
|
||||
# 附件包与任务附件:与 server._ensure_uploads_tables 同款,
|
||||
# POSTGRES_SCHEMA 在每次初始化时全量执行,新表自动补建。
|
||||
"CREATE TABLE IF NOT EXISTS uploads("
|
||||
"id TEXT PRIMARY KEY, "
|
||||
"created_by TEXT, "
|
||||
"created_at DOUBLE PRECISION, "
|
||||
"status TEXT)",
|
||||
"CREATE TABLE IF NOT EXISTS task_attachments("
|
||||
"task_id TEXT, "
|
||||
"bundle_id TEXT, "
|
||||
"rel_path TEXT, "
|
||||
"size INTEGER, "
|
||||
"PRIMARY KEY(task_id, rel_path))",
|
||||
"CREATE INDEX IF NOT EXISTS idx_attachments_task"
|
||||
" ON task_attachments(task_id)",
|
||||
"CREATE TABLE IF NOT EXISTS task_followups("
|
||||
"id TEXT PRIMARY KEY, "
|
||||
"task_id TEXT, "
|
||||
|
||||
Reference in new issue
Block a user