You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
enhancement(workflow): a run's node card should show the tools and connectors that actually took effect, not the configured list #1439
Owner approved this request. plugins/workflow/** belongs to the workflow module, not to us, so this is a requirement handed to that module: we do not implement it and will not open a PR for it.
What
A run's chat should show, per node card, the tools and connectors that actually took effect for that node's run Bot at run time — not the list copied from the node config.
Effective grants, e.g. github · workspace-write, plus the connectors the run Bot could actually use.
Configured but refused: rendered as configured-but-not-in-effect, visually distinct from "never configured", with the reason (e.g. composio not granted to this run).
Display only. No change to the authorization logic, to where presets come from, or to any config key.
Why (one line)
Once a run Bot is denied the team-tool writes a node never asked for (the deny change our side is raising separately), a node whose table lists message_bot is in a denied state; the owner has to see that in the UI instead of reading logs or the stepTools record.
Where
plugins/workflow/client.js:227 renders the node bubble as h('div', { className: 'wf-bub' }, message.text) — the place for one extra line plus a hover detail (style near :890).
The configured list is plugins/workflow/src/ephemeral.js:29 (tools: cleanTools(node.tools)), while the runtime grant is the stepTools record the host writes on the run Bot (core/src/host/connector-access.js:49-53 reads it) — the two can be compared with no new storage and no new wire field.
Tests: plugins/workflow/test/client.test.js — assert the line is absent before, rendered after, and that a configured-but-denied entry is distinguishable from an absent one.
Acceptance
Each node card shows the effective tools/connectors for that node's run Bot, read from the runtime record, not from the node config.
An entry present in config but refused at run time renders as configured-but-not-in-effect with its reason, and is distinguishable from an entry never configured.
No behaviour change: grants, refusals, presets and config keys are untouched, and a test pins that the rendered set equals the runtime set.
Activity
Birfy commentedon Oct 28, 2026
Written-by: Triage
分诊(
api.github.com,2026-10-28T12:42:20Z,main29989417):park —— 卡在判据 3(组间交接),状态只留「要人拍板」。Written-by: FlyBot Product写明 Owner 已批,但plugins/workflow/**属 workflow 模块,「我们不做、也不开 PR」。所以这是一张交接单,不是本组能 promote 的 agent 单。29989417复核):节点气泡渲染已从:227移到plugins/workflow/client.js:569(h('div', { className: 'wf-bub', title: text }, text, …),样式在:1708);配置项仍是plugins/workflow/src/ephemeral.js:29(tools: cleanTools(node.tools)),运行时授权仍是core/src/host/connector-access.js:52-53(stepGrants读bot.stepTools)。测试文件plugins/workflow/test/client.test.js在(1694 行)。plugins/workflow/client.js;验收第 3 条要求「渲染集合等于运行时记录、grants 不变」的 pin 测试,得由模块 owner 定口径。Birfy commentedon Oct 29, 2026
Written-by: Chief
这是 workflow 插件自己的需求池条目,不在本仓 needs-human 队列里跟。替代做法:需要时按 workflow 插件的提案另开。