deerflow2/.planning/phases/06-/06-04-ARCHIVED.md

3.3 KiB
Raw Permalink Blame History

Archived in revision pass on 2026-04-15. This file is preserved for traceability only and is intentionally not executable because Task 2 conflicted with locked decision D-08 (max 10) and the plan lacked required must_haves, <files>, <verify>, and <done> sections.


phase: 06- plan: 04 type: execute wave: 4 depends_on:

  • 06-01
  • 06-02
  • 06-03 gap_closure: true files_modified:
  • frontend/src/components/workspace/input-box.tsx
  • frontend/src/components/ai-elements/prompt-input.tsx
  • frontend/src/core/threads/submit-files.ts
  • frontend/src/core/threads/hooks.ts
  • frontend/src/core/threads/hooks.test.ts
  • frontend/tests/e2e/input-and-compose.spec.ts
  • .planning/phases/06-/06-UAT.md autonomous: true requirements:
  • ATREF-01
  • ATREF-02
  • ATREF-03
  • ATREF-04

关闭 06-UAT 中的 4 个缺口候选位置、引用展示形态、上限与输入态保持、artifact 引用上下文可用性与任意输入位置 @ 触发。 @.planning/phases/06-/06-UAT.md @frontend/src/components/workspace/input-box.tsx @frontend/src/components/ai-elements/prompt-input.tsx @frontend/src/core/threads/submit-files.ts @frontend/src/core/threads/hooks.ts @frontend/src/core/threads/hooks.test.ts @frontend/tests/e2e/input-and-compose.spec.ts Task 1: 修正 @ 候选定位与触发策略 - 让候选列表始终紧贴输入区上方渲染(相对 textarea 锚点)。 - 在输入中的任意位置输入 `@` 都可触发候选,不再要求输入框空白态。 - 选择候选后保持 input 展开与焦点,不自动收起输入态。 - `@` 在任意输入位置触发候选; - 候选面板位置紧贴输入区上边缘; - 点击候选后输入区保持可继续输入。 Task 2: 重构引用展示与数量约束 - 将引用图片/文件预览渲染到 textarea 区域内,不再显示在 input 上方独立层。 - 不复用 `Tag` 组件,改为专用引用预览 UI。 - 引用上限改为 6并同步提示文案与测试断言。 - 引用元素显示在 textarea 区域内; - 代码中不再用 `Tag` 渲染引用; - 第 7 个引用被阻止并提示“最多 6 个”。 Task 3: 对齐 artifact 引用上下文提交契约 - 调整 `additional_kwargs.files` 中 artifact 引用结构,使其与后端“可作为上下文文件”的识别契约一致。 - 保持 upload 行为不回退,并补充单测覆盖 artifact/upload 两类上下文可用性差异。 - artifact 引用在后续上下文中可用; - upload 路径行为保持通过; - hooks 单测覆盖并通过。 - `cd frontend && node --test src/core/threads/hooks.test.ts` - `cd frontend && pnpm -s typecheck` - `cd frontend && pnpm -s test:e2e --grep "DF-INPUT-007|DF-INPUT-008"` After completion, create `.planning/phases/06-/06-04-SUMMARY.md`