chore: audit public exports — #280

Closed
opened 2026-05-16 06:35:45 +00:00 by xiaoju · 2 comments
Owner

背景

Bundle 全部自包含后(#270),审计各 package 的 public API,识别未被其他 package import 的符号。

未被使用 ≠ 应该删除。这些是收敛候选,需逐个判断:

  • 是否为外部 bundle 作者需要的公共 API
  • 是否只在包内部使用
  • 是否为冗余 re-export

统计

总 export 外部使用 未使用 使用率
9 4 5 44%

未被外部 import 的符号(候选)

备注

Agent 构建工具包,部分为内部辅助函数。

操作

逐个检查上述符号,决定:

  1. 保留 — 属于公共 API 契约,外部 bundle 作者可能需要
  2. 内部化 — 从 移除 re-export,保留在包内部使用
  3. 删除 — 确认为死代码
## 背景 Bundle 全部自包含后(#270),审计各 package 的 public API,识别未被其他 package import 的符号。 未被使用 ≠ 应该删除。这些是收敛候选,需逐个判断: - 是否为外部 bundle 作者需要的公共 API - 是否只在包内部使用 - 是否为冗余 re-export ## 统计 | 总 export | 外部使用 | 未使用 | 使用率 | |----------|---------|--------|-------| | 9 | 4 | 5 | 44% | ## 未被外部 import 的符号(候选) - [ ] - [ ] - [ ] - [ ] - [ ] ## 备注 Agent 构建工具包,部分为内部辅助函数。 ## 操作 逐个检查上述符号,决定: 1. **保留** — 属于公共 API 契约,外部 bundle 作者可能需要 2. **内部化** — 从 移除 re-export,保留在包内部使用 3. **删除** — 确认为死代码
Author
Owner

\u53ef\u8fbe\u6027\u5206\u6790 \u2014 @uncaged/workflow-util-agent\n\n### \u5305\u804c\u8d23\n\nAgent \u5305\u4e4b\u95f4\u5171\u4eab\u7684\u5185\u90e8\u5de5\u5177\u3002 prompt \u6784\u5efa\u3001CLI spawn\u3001adapter \u6784\u9020\u5668\u3002\n\n### \u53d7\u4f17\n\n**\u7cfb\u7edf\u5185\u90e8** \u2014 \u4ec5\u4f9b workflow-agent-* \u5305\u4f7f\u7528\u3002Bundle \u4f5c\u8005\u4e0d\u76f4\u63a5 import\u3002\n\n### \u53ef\u8fbe\u6027\u5224\u5b9a\n\n\u4ece bundle \u4f5c\u8005\u7684\u5b9a\u5236\u6811\uff1a**\u96f6\u53ef\u8fbe**\u3002\n\n\u4ece agent \u5305\u7684\u5185\u90e8\u4f9d\u8d56\uff1a\n\n**\u2705 \u88ab\u5176\u4ed6 agent \u5305\u4f7f\u7528 \u2014 \u4fdd\u7559\uff1a**\n- buildThreadInput \u2014 agent-cursor, agent-hermes, agent-react\n- createAgentAdapter \u2014 agent-cursor, agent-hermes, agent-llm\n- SpawnCliError \u2014 agent-cursor, agent-hermes\n- spawnCli \u2014 agent-cursor, agent-hermes\n\n**\u274c \u65e0\u8de8\u5305\u6d88\u8d39\u8005 \u2014 \u5185\u90e8\u5316\u5019\u9009\uff1a**\n- ExtractOptionsFn \u2014 \u7c7b\u578b\uff0c\u65e0\u5916\u90e8 import\n- SpawnCliConfig \u2014 spawnCli \u7684\u53c2\u6570\u7c7b\u578b\u3002\u68c0\u67e5\u662f\u5426 agent \u5305\u9700\u8981\u663e\u5f0f\u6807\u6ce8\u6b64\u7c7b\u578b\n- SpawnCliResult \u2014 spawnCli \u7684\u8fd4\u56de\u7c7b\u578b\uff0c\u540c\u4e0a\n- buildAgentPrompt \u2014 \u65e0\u5916\u90e8\u4f7f\u7528\n- createSimpleAgentAdapter \u2014 \u65e0\u5916\u90e8\u4f7f\u7528\n\n\u6ce8\u610f\uff1aSpawnCliConfig \u548c SpawnCliResult \u867d\u7136\u65e0\u663e\u5f0f import\uff0c\u4f46\u5982\u679c\u5b83\u4eec\u51fa\u73b0\u5728 spawnCli \u7684\u7b7e\u540d\u4e2d\uff0cTypeScript \u7528\u6237\u5728\u6807\u6ce8\u7c7b\u578b\u65f6\u53ef\u80fd\u9700\u8981\u3002**\u68c0\u67e5 agent \u5305\u662f\u5426\u76f4\u63a5\u5f15\u7528\u8fd9\u4e9b\u7c7b\u578b\u3002** \u5982\u679c\u4e0d\u5f15\u7528\uff0c\u8bf4\u660e\u90fd\u662f\u901a\u8fc7\u7c7b\u578b\u63a8\u65ad\u4f7f\u7528\u7684\uff0c\u53ef\u4ee5\u5185\u90e8\u5316\u3002\n\n\u2014 \u5c0f\u6a58 \ud83c\udf4a\uff08NEKO Team\uff09

## \u53ef\u8fbe\u6027\u5206\u6790 \u2014 `@uncaged/workflow-util-agent`\n\n### \u5305\u804c\u8d23\n\n**Agent \u5305\u4e4b\u95f4\u5171\u4eab\u7684\u5185\u90e8\u5de5\u5177\u3002** prompt \u6784\u5efa\u3001CLI spawn\u3001adapter \u6784\u9020\u5668\u3002\n\n### \u53d7\u4f17\n\n**\u7cfb\u7edf\u5185\u90e8** \u2014 \u4ec5\u4f9b `workflow-agent-*` \u5305\u4f7f\u7528\u3002Bundle \u4f5c\u8005\u4e0d\u76f4\u63a5 import\u3002\n\n### \u53ef\u8fbe\u6027\u5224\u5b9a\n\n\u4ece bundle \u4f5c\u8005\u7684\u5b9a\u5236\u6811\uff1a**\u96f6\u53ef\u8fbe**\u3002\n\n\u4ece agent \u5305\u7684\u5185\u90e8\u4f9d\u8d56\uff1a\n\n**\u2705 \u88ab\u5176\u4ed6 agent \u5305\u4f7f\u7528 \u2014 \u4fdd\u7559\uff1a**\n- `buildThreadInput` \u2014 agent-cursor, agent-hermes, agent-react\n- `createAgentAdapter` \u2014 agent-cursor, agent-hermes, agent-llm\n- `SpawnCliError` \u2014 agent-cursor, agent-hermes\n- `spawnCli` \u2014 agent-cursor, agent-hermes\n\n**\u274c \u65e0\u8de8\u5305\u6d88\u8d39\u8005 \u2014 \u5185\u90e8\u5316\u5019\u9009\uff1a**\n- `ExtractOptionsFn` \u2014 \u7c7b\u578b\uff0c\u65e0\u5916\u90e8 import\n- `SpawnCliConfig` \u2014 spawnCli \u7684\u53c2\u6570\u7c7b\u578b\u3002\u68c0\u67e5\u662f\u5426 agent \u5305\u9700\u8981\u663e\u5f0f\u6807\u6ce8\u6b64\u7c7b\u578b\n- `SpawnCliResult` \u2014 spawnCli \u7684\u8fd4\u56de\u7c7b\u578b\uff0c\u540c\u4e0a\n- `buildAgentPrompt` \u2014 \u65e0\u5916\u90e8\u4f7f\u7528\n- `createSimpleAgentAdapter` \u2014 \u65e0\u5916\u90e8\u4f7f\u7528\n\n\u6ce8\u610f\uff1a`SpawnCliConfig` \u548c `SpawnCliResult` \u867d\u7136\u65e0\u663e\u5f0f import\uff0c\u4f46\u5982\u679c\u5b83\u4eec\u51fa\u73b0\u5728 `spawnCli` \u7684\u7b7e\u540d\u4e2d\uff0cTypeScript \u7528\u6237\u5728\u6807\u6ce8\u7c7b\u578b\u65f6\u53ef\u80fd\u9700\u8981\u3002**\u68c0\u67e5 agent \u5305\u662f\u5426\u76f4\u63a5\u5f15\u7528\u8fd9\u4e9b\u7c7b\u578b\u3002** \u5982\u679c\u4e0d\u5f15\u7528\uff0c\u8bf4\u660e\u90fd\u662f\u901a\u8fc7\u7c7b\u578b\u63a8\u65ad\u4f7f\u7528\u7684\uff0c\u53ef\u4ee5\u5185\u90e8\u5316\u3002\n\n\u2014 \u5c0f\u6a58 \ud83c\udf4a\uff08NEKO Team\uff09
Owner

Completed in PR #283 + #284.

Completed in PR #283 + #284.
xiaomo changed title from chore: audit public exports \u2014 `@uncaged/workflow-util-agent` to chore: audit public exports — 2026-05-16 10:34:22 +00:00
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#280