Repository navigation
Conversation
Generated-by: OpenAI Codex
Generated-by: OpenAI Codex
me2seeks
left a comment
There was a problem hiding this comment.
Automated review notice: This comment was posted by an automated review agent operated by me2seeks make. It is not an independent human review and does not replace one.
Summary
Extracts bots and shared network code into their own packages: packages/bots gains 15 bridge/adapter modules (base-adapter, bot-registry, dingtalk/discord/feishu/gateway/qq/slack/telegram/wechat/wecom bridges, ws-bridge-base, bot-test, types, index) and packages/network gains the 5 proxy modules (active-proxy-state, bypass-matcher, proxied-fetch, proxy-dispatcher, proxy-env) — moved out of the runtime package behind the same call sites, with bot-incoming lifecycle/typing/project-cwd tests, runtime-host-client-uds, the streaming-remount e2e, and the renderer-architecture checker updated for the new package boundaries. Addon builds (all four platforms) and the immutable-tarball lane pass.
Findings
- [P3] Only the addon-build and tarball lanes ran on this head — for a package-boundary refactor of the bot bridges and proxy layer, the
testlane must run green to prove no bridge import or proxy singleton broke in the move.
Verdict
merge-ready — correct package extraction with the bot/network surfaces moving intact; request the runtime test lane.
|
This pull request has had no new commits for 30 days and has been marked stale. It will be closed in 7 days unless a new commit is pushed. Comments do not reset this timer: only a new commit does. If the pull request is intentionally long-lived, a maintainer can apply the |
|
This pull request has been closed because it received no new commits during the 7-day grace period. This is not a judgement on the merit of the change; it only keeps the review queue aligned with work that is actively in flight. The branch and review history are preserved. Push a new commit and reopen the pull request whenever the work is ready to continue. |
Summary
Bot delivery currently pulls IM SDKs into every runtime consumer. Extracting bots while keeping a runtime re-export would retain that dependency and, if bots imported runtime, introduce a cycle.
@maka/bots; move shared proxy transports into@maka/network. Neither package depends on runtime. Desktop connects bot events to Session execution through the existing callbacks.wsremains for OpenAI Responses WebSocket transport.Fixes #3910.
Compatibility
This intentionally revises the issue's old-entry compatibility requirement: remove
@maka/runtime/botsand the migrated runtime network exports instead of keeping a re-export. These are private workspace packages, and all known consumers are migrated together. Import bots from@maka/botsand transports from@maka/network/*. No session or persisted-data migration is required.Verification
npm ci --ignore-scripts,npm run build:test, fullnpm run build, andnpm run typecheckpassed on the PR worktree based onac59b47b7.git diff --checkpassed.5d24c3c59; they are not fixed here.AI use
Tool(s) and scope: OpenAI Codex implemented the extraction, migrated consumers/tests, ran validation, and drafted this PR. The commit includes a
Generated-bytrailer.Checklist
Does this PR entail a change in behavior?
中文说明
概述
目前机器人投递模块使所有 runtime 使用方都带上 IM SDK。直接拆包但保留 runtime 转导出,仍会保留这条依赖;如果 bots 同时依赖 runtime,还会形成循环。
@maka/bots,将共享代理传输能力迁入@maka/network。两个包均不依赖 runtime;Desktop 继续通过现有回调将机器人消息连接到 Session 执行。ws仍用于 OpenAI Responses WebSocket 传输,因此保留。解决 #3910。
兼容性
这里明确调整 issue 的旧入口兼容要求:删除
@maka/runtime/bots及已迁移的 runtime 网络导出,不保留转导出。这些是私有工作区包,已知调用方均在本次统一迁移。机器人从@maka/bots导入,网络传输从@maka/network/*导入。不涉及 Session 或持久化数据迁移。验证
ac59b47b7的 PR 工作区完成干净的npm ci --ignore-scripts,npm run build:test、完整npm run build和npm run typecheck均通过。git diff --check均通过。5d24c3c59中也全部复现;本次不修改这些问题。AI 使用
生成式工具有实质贡献。OpenAI Codex 完成拆包、调用方和测试迁移、验证及 PR 草稿;提交包含
Generated-by标记。检查清单