Skip to content

feat(web): remote dependency metadata, revision-bound previews and cache feedback - #1141

Draft
sheepbox8646 wants to merge 4 commits into
workspace-deps/03-runtimefrom
workspace-deps/04-web
Draft

feat(web): remote dependency metadata, revision-bound previews and cache feedback#1141
sheepbox8646 wants to merge 4 commits into
workspace-deps/03-runtimefrom
workspace-deps/04-web

Conversation

@sheepbox8646

@sheepbox8646 sheepbox8646 commented Sep 3, 2026

Copy link
Copy Markdown
Member

Bot 依赖页、Supermarket 依赖页和启用 Agent 流程改为消费远端目录元数据,删除五个依赖的硬编码名称、描述与图标映射。名称和描述使用配方的三语翻译及通用回退,图标使用 Server 的已验证 digest 地址。

脚本预览与操作请求绑定同一 definition_revision,切换 Bot/目标或重试会重置旧预览;后台操作继续展示真实 SSE 日志与终态。目录暂时离线时展示缓存提示和重试入口,业务分支与本地化文案只依赖稳定错误码。

栈第 5/6 层:#1138 → 本 PR → #1144。验证:依赖相关 Vitest、ESLint 与 UI contract guard;实际页面验证五个远端图标加载、中文深色模式及桌面、390px 窄屏布局无横向溢出。全量 Web typecheck 仍报告仓库既有的其他页面与 UI 子模块类型错误,未把它记作通过。

⚠️ No human QA — this PR has not been verified by a human yet. Remove this line once a human confirms the happy path.

@sheepbox8646 sheepbox8646 changed the title workspace deps/04 web feat(web): workspace dependencies tab and enable-agent preflight Sep 3, 2026
@sheepbox8646 sheepbox8646 changed the title feat(web): workspace dependencies tab and enable-agent preflight feat(web): workspace dependencies — bot tab, Supermarket tab and enable-agent preflight Sep 3, 2026
@sheepbox8646 sheepbox8646 changed the title feat(web): workspace dependencies — bot tab, Supermarket tab and enable-agent preflight feat(web): remote dependency metadata, revision-bound previews and cache feedback Sep 7, 2026
sheepbox8646 and others added 4 commits September 7, 2026 23:56
Adds the SDK-backed query and SSE composables for the dependency API, pure
status/action/icon helpers with tests, the confirm/progress/script/rollback
dialogs, and the en/zh/ja strings the dependencies tab and enable flow use.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
Adds the Dependencies tab on the bot detail page (target picker, workspace
state banner, grouped rows with status badges, install/update/reinstall/
remove/rollback/script actions, streaming progress dialog with background
mode and a needs-attention badge in the sidebar), gates enabling a direct
agent behind a dependency preflight (install-and-enable flow, workspace
not running guidance), and renders the agent_dependency_missing chat error
with a link to the tab and the background install task status.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
…ies tab and icons

The bot Dependencies tab becomes a flat list of what is installed, grouped
by capability, with the version in effect, the image baseline and the
overlay badge from the new image_version/overlay fields; alignment and
required-version copy is gone. Installing lives in the Supermarket, whose
new Dependencies tab reads the bot-independent catalog endpoint and opens
an install dialog with a bot picker and an optional version input (neutral
placeholder, sent as the {version} body). The enable-agent preflight only
asks whether a copy is present. Adds Node.js, Python and uv brand icons to
@memohai/icon and records the copy rules in apps/web/AGENTS.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
Streaming install/update/reinstall/remove operations now live in a Pinia
store keyed by bot and dependency; dialogs are viewers, so closing one
lets the operation continue in the background and settles with a toast,
reopening resumes the same log, and duplicate requests for a running
operation are refused client-side. Progress, confirm and script dialogs
get fixed widths, wrapped log lines and clipped key/value rows so long npm
output no longer stretches them, and the bot page shows a banner with a
retry when the workspace discovery step fails.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017sihinqYWYNmZ9K842WqDJ
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