Skip to content

feat: add session query filters and cursor pagination#341

Merged
liujuanjuan1984 merged 2 commits intomainfrom
issue-334-session-query-pagination
Mar 27, 2026
Merged

feat: add session query filters and cursor pagination#341
liujuanjuan1984 merged 2 commits intomainfrom
issue-334-session-query-pagination

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

变更概述

Session Query

  • opencode.sessions.list 增加 directoryrootsstartsearchlimit 过滤参数。
  • opencode.sessions.messages.list 增加 before cursor,并返回 result.next_cursor
  • directory 不做原样透传,统一复用现有 workspace boundary 解析,保持与当前目录约束一致。

Upstream / Contract

  • 在 upstream client 中显式读取上游 X-Next-Cursor,消息分页不再把下一页 cursor 丢在 header 里。
  • 同步更新 session query extension contract、Agent Card、OpenAPI 示例与英文 guide 文档。
  • 保持现有默认/最大 limit 与旧客户端兼容。

Tests

  • 补齐参数解析、handler、upstream client、Agent Card 等回归测试。
  • 清理 1 处测试中的不可达桩代码,同时保持 async generator 形态不变。

验证

  • ./scripts/doctor.sh
  • 418 tests passed
  • coverage 91.97%

关联 Issue

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

自审结果:

  1. 代码变动审查
  • 这次改动整体合理,没有发现阻断合并的问题。
  • opencode.sessions.listdirectory 过滤没有直接透传,而是复用了现有 workspace boundary 解析;这比把上游 query 参数原样暴露更稳健,和当前服务的目录约束语义一致。
  • opencode.sessions.messages.list 通过 upstream client 显式读取 X-Next-Cursor 并映射到 result.next_cursor,实现路径清晰,避免了把分页语义藏在上游 header 里。
  • contract、Agent Card、OpenAPI、guide 和测试已同步更新,契约漂移风险控制得比较好。
  1. 风险与边界
  • 旧客户端仍可继续只传 limit,兼容性没有被破坏;想消费增量分页的下游需要显式适配 before / next_cursor
  • 当前 start 仍按整数时间戳处理,没有跟随上游放宽到任意 number;这个收紧是可接受的,因为 issue 目标是稳定暴露过滤能力,不是 1:1 复制所有宽松输入形态。
  • 本 PR 顺手包含了 1 处测试死代码清理,但仅限测试桩,不影响运行时代码路径。
  1. PR 标题与描述
  • 当前标题 add session query filters and cursor pagination 与本次主变更一致,采用英文 commit message 风格,合适。
  • 当前描述已按模块区分,并覆盖了两个提交的内容;无需再扩展额外章节。
  1. Issue 关系审查
  • Closes #334 准确,应该保留。
  • 不建议增加其它 Related / Closes:附带的测试死代码清理不对应独立 issue,也不应误关其它跟踪项。

@liujuanjuan1984 liujuanjuan1984 merged commit c2ba625 into main Mar 27, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-334-session-query-pagination branch March 27, 2026 09:01
@liujuanjuan1984 liujuanjuan1984 changed the title add session query filters and cursor pagination feat: add session query filters and cursor pagination Mar 27, 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.

[Priority: Med] [Enhancement] 对齐 session query 的过滤参数与 cursor 分页

1 participant