{"_id":"@atom-workflow-agent/workflow-ui","name":"@atom-workflow-agent/workflow-ui","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@atom-workflow-agent/workflow-ui","version":"0.1.0","description":"Read-only local inspector for workflow definitions and runs.","license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/joekbits/atom-workflow-agent.git","directory":"apps/workflow-ui"},"homepage":"https://github.com/joekbits/atom-workflow-agent/tree/main/apps/workflow-ui#readme","bugs":{"url":"https://github.com/joekbits/atom-workflow-agent/issues"},"keywords":["atom","workflow","inspector","visualization"],"type":"module","exports":{".":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"}},"publishConfig":{"access":"public","provenance":true},"engines":{"node":">=22"},"dependencies":{"@xyflow/react":"^12.0.0","elkjs":"^0.11.0","react":"^19.0.0","react-dom":"^19.0.0","@atom-workflow-agent/contracts":"0.1.0"},"devDependencies":{"@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@vitejs/plugin-react":"^5.0.0","vite":"^7.0.0"},"scripts":{"build":"tsc -p tsconfig.server.json && tsc -p tsconfig.client.json --noEmit && vite build","typecheck":"tsc -p tsconfig.server.json --noEmit && tsc -p tsconfig.client.json --noEmit","test":"vitest run --config vitest.config.ts"},"_id":"@atom-workflow-agent/workflow-ui@0.1.0","_integrity":"sha512-JY4TChE7xPj4CntAdvmEdcptzWSctIQxMKw3gMbWzU4N9E3/JZmvZJ6vdA7mmliivi9gxwVkwtuBtpTO4op4Jg==","_resolved":"/private/tmp/atomflow-npm-release-20260902-1720/atom-workflow-agent-workflow-ui-0.1.0.tgz","_from":"file:/private/tmp/atomflow-npm-release-20260902-1720/atom-workflow-agent-workflow-ui-0.1.0.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-JY4TChE7xPj4CntAdvmEdcptzWSctIQxMKw3gMbWzU4N9E3/JZmvZJ6vdA7mmliivi9gxwVkwtuBtpTO4op4Jg==","shasum":"8308a194987defe3910cd86d6620f2faeb81a9ba","tarball":"https://registry.npmjs.org/@atom-workflow-agent/workflow-ui/-/workflow-ui-0.1.0.tgz","fileCount":15,"unpackedSize":1957242,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICV5gGhlECGXkREkdZA8LYvPMve+lszTfbVmJDkC+vN7AiB0dd7zcNYvs7slNkYC6fYCLTDn4Zu76gIwQaD5szDExg=="}]},"_npmUser":{"name":"joekbits","email":"wangfeihong868@foxmail.com"},"directories":{},"maintainers":[{"name":"joekbits","email":"wangfeihong868@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/workflow-ui_0.1.0_1788342359322_0.5590326409432733"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-02T09:45:59.089Z","0.1.0":"2026-09-02T09:45:59.486Z","modified":"2026-09-02T09:45:59.770Z"},"maintainers":[{"name":"joekbits","email":"wangfeihong868@foxmail.com"}],"description":"Read-only local inspector for workflow definitions and runs.","homepage":"https://github.com/joekbits/atom-workflow-agent/tree/main/apps/workflow-ui#readme","keywords":["atom","workflow","inspector","visualization"],"repository":{"type":"git","url":"git+https://github.com/joekbits/atom-workflow-agent.git","directory":"apps/workflow-ui"},"bugs":{"url":"https://github.com/joekbits/atom-workflow-agent/issues"},"license":"Apache-2.0","readme":"# `@atom-workflow-agent/workflow-ui`\n\n[English](README.md) | [简体中文](README.zh-CN.md)\n\n用于理解冻结 Workflow Revision 和已持久化 Run 的本地只读界面，只监听 loopback。\n\n## 启动 Inspector\n\n```bash\natomflow inspector start --run-id <run-id> --port 4317\n```\n\n打开 `http://127.0.0.1:4317/?runId=<run-id>`。\n\n## 如何阅读\n\n- **Workflow 定义**：查看冻结拓扑、Atom 契约和静态数据绑定，不混入某次执行状态。\n- **Run 执行**：查看概览、实际执行图、Activation 时间线和 Artifact。\n- **业务图**：只保留真实 Atom，并把 Map、Join、Switch 等编译控制结构压缩成业务关系。\n- **Runtime 图**：展开 Runtime 控制节点，用于排查 Map、Join、Decision、Merge 和回边。\n- **仅实际路径**：隐藏未选分支；关闭后可核对完整冻结结构。\n- **上游/下游**：选择节点后只保留相关依赖，避免长 Workflow 充满画布。\n- **当前节点数据**：只显示所选节点的字段绑定，不全局铺开数据线。\n\n节点详情按“概览、输入输出、数据来源、执行记录、定义”分层。Map 和重复节点的每个 Activation 都可单独查看输入、输出、耗时和错误。\n\n## 安全边界\n\n服务只读取公共拓扑和有界诊断投影，不能编辑 Workflow、提交 Signal、恢复 HostTask，也不能读取 Continuation Secret 或内部 Checkpoint。它默认只监听 loopback；远程暴露必须另加独立认证层。\n\n## 维护者指南\n\n以下内容面向在 Monorepo 中开发的贡献者。\n\n- `src/server/`：只读 HTTP、SSE 失效通知和静态资源服务；\n- `src/client/inspector-app.tsx`：页面状态与 Graph 编排；\n- `src/client/components/`：概览、详情、时间线和 Artifact；\n- `src/client/graph-presentation.ts`：业务/Runtime 投影；\n- `src/client/edge-routing.ts`：确定性正交路由、独立端口、循环外侧通道和路由前校验；\n- `src/client/run-view-model.ts`：定义/Run 分离、关系聚焦、阶段和时间线；\n- UI 只依赖公共 contracts，不直接导入 Store 或 Scheduler。\n\nGraph 布局与 Runtime 执行解耦：投影层确定可见节点和语义边，ELK 只计算节点层级；UI 再为每条连接分配独立端口并生成确定性正交路径。回边使用图外独立通道，不与前向路径复用。任何端口缺失或同一节点端口被多条连接复用都会在渲染前失败，不静默生成含糊线路。\n\n```bash\npnpm --filter @atom-workflow-agent/workflow-ui typecheck\npnpm --filter @atom-workflow-agent/workflow-ui test\npnpm --filter @atom-workflow-agent/workflow-ui build\n```\n\nGraph 投影规则位于 [`@atom-workflow-agent/workflow-inspector`](../../packages/workflow-inspector/README.zh-CN.md)。\n","readmeFilename":"README.zh-CN.md","_rev":"1-ac8ad92aee3382bf2b6900e626323af2"}