Skip to content

refactor(cli): route session restore through runtime SDK - #1585

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/cli-session-read-sdk-migration
Jul 16, 2026
Merged

refactor(cli): route session restore through runtime SDK#1585
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/cli-session-read-sdk-migration

Conversation

@limityan

Copy link
Copy Markdown
Collaborator

概要

  • 在 Agent Runtime SDK 增加会话恢复端口和类型化结果,保留工作区及远程存储身份语义。
  • 扩展 SessionTranscript 为明确的只读消息投影,并让 CLI/TUI 的恢复、历史渲染和 session show 不再依赖 Core Message
  • 仅移除已被真实调用链替代的 CoreAgentRuntimeCompatibility::restore_session/get_messages;持久化、分支、用量、快照和交互能力继续保留在兼容边界内。
  • 补充宿主通信设计:能力 DTO 归能力所有者,Tauri 只做薄适配;单宿主用序列化契约测试校验 Rust/TypeScript 字段,多宿主或独立版本化后再引入框架无关的类型生成。

边界与取舍

  • 不恢复通用 api-layer,也不增加只转发方法的公共服务层。
  • 不抽取仅由 Desktop 使用的 DTO,不为未来可能使用的场景预埋接口。
  • 不实现 HarmonyOS 宿主、生命周期或交付流程;本次稳定契约可作为后续 GUI/TUI 宿主的前置,但不代表已经支持 HarmonyOS。
  • 多媒体历史只暴露文本和附件数量,不通过通用转录接口传输图片负载;图片内容需要独立授权能力。

验证

  • cargo +nightly fmt --all -- --check
  • cargo +nightly test -p bitfun-runtime-ports -p bitfun-agent-runtime -p bitfun-cli
  • cargo +nightly check --workspace
  • node scripts/check-core-boundaries.mjs
  • node --test scripts/check-core-boundaries.test.mjs
  • pnpm run prepare:mobile-web
  • git diff --check

cargo +nightly test --workspace 完成编译并运行到未改动的 bitfun-agent-tools 时,被现有 framework::tests::get_tool_spec_description_preserves_prompt_contract 断言阻断:描述未包含 Read full schema(43/44 通过)。该文件相对 main 无差异,本 PR 未扩大范围修改提示词契约。

@limityan
limityan merged commit 4fe0f7c into GCWing:main Jul 16, 2026
5 checks passed
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