Skip to content

重构: 收敛 cli.ts 两处 no-transport inline 谓词(独立信任域,先想清 import 源) #1100

Description

@deepcoldy

背景

PR #1099worker.ts 四处 inline no-transport 判定(apiOnly || http_async_ || http_wait_)收敛到 core/types 的中央 larkTransportEnabled。复审时确认 cli.ts 还有两处同类 inline未收敛:

  • currentTurnHasNoTransport(...)
  • assertSessionTransportOrExit(...)

(两处的 source-lock 见 test/api-only-mode-wiring.test.ts:310 / :350。)

为什么没并入 #1099

cli.ts 的宿主是 botmux CLI 瘦壳进程,与 worker/daemon 是不同信任域

  • 不便直接引 daemon 侧类型/模块(core/types)。
  • 收敛前需先想清 CLI 侧该 import 哪个真值源——可能不是 core/types,而是 CLI 自己的等价物;这不是纯搬运。

强行按"看起来同类"合并会跨信任域耦合,因此拆出独立跟踪。

待办

  1. 厘清 CLI 侧 no-transport 判定应依赖的真值源(core/types 直引 vs CLI 本地等价物 vs 共享一个无 daemon 依赖的纯函数)。
  2. 若可共享,抽一个不含 daemon 依赖的纯谓词,worker 与 cli 同源。
  3. 收敛 currentTurnHasNoTransport / assertSessionTransportOrExit,同步更新对应 source-lock。
  4. 保持 isHttpVirtualSession 的 nullish 容忍语义一致(refactor(worker): 收敛四份 no-transport inline 谓词到中央 larkTransportEnabled #1099 已在中央谓词加)。

参考

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions