chore: audit public exports — #278

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

背景

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

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

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

统计

总 export 外部使用 未使用 使用率
30 19 11 63%

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

备注

部分为从 protocol 的冗余 re-export( 等),部分为内部序列化函数。

操作

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

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

\u53ef\u8fbe\u6027\u5206\u6790 \u2014 @uncaged/workflow-register\n\n### \u5305\u804c\u8d23\n\nBundle \u6ce8\u518c + \u5143\u6570\u636e\u7ba1\u7406\u3002 Descriptor \u6821\u9a8c\u3001registry YAML \u8bfb\u5199\u3001\u6a21\u578b\u89e3\u6790\u3002\n\n### \u53d7\u4f17\n\n- Bundle \u4f5c\u8005\uff1abuildDescriptor\uff08\u6784\u9020 descriptor\uff09\u3001validateWorkflowDescriptor\uff08\u6821\u9a8c\uff09\n- CLI\uff1aregistry \u8bfb\u5199\uff08readWorkflowRegistry, registerWorkflowVersion \u7b49\uff09\n- Execute\uff1aextractBundleExports, resolveModel, importWorkflowBundleModule\n\n### \u53ef\u8fbe\u6027\u5224\u5b9a\n\n**\u2705 \u4ece bundle \u4f5c\u8005\u5b9a\u5236\u6811\u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- buildDescriptor \u2014 Layer 5\uff0c\u6784\u9020 descriptor\n- validateWorkflowDescriptor \u2014 template \u5305\u4f7f\u7528\n\n**\u2705 \u4ece CLI \u5e94\u7528\u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- readWorkflowRegistry, writeWorkflowRegistry \u2014 registry CRUD\n- registerWorkflowVersion, unregisterWorkflow, rollbackWorkflowToHistoryHash\n- listRegisteredWorkflowNames, getRegisteredWorkflow\n- workflowRegistryPath\n- splitProviderModelRef\n- stringifyWorkflowDescriptor\n- validateWorkflowBundle\n- extractBundleExports\n- importWorkflowBundleModule\n- WorkflowRegistryFile, WorkflowRegistryEntry \u2014 CLI \u9700\u8981\u8fd9\u4e9b\u7c7b\u578b\n\n**\u2705 \u4ece execute \u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- resolveModel\n- WorkflowConfig\n\n**\u274c \u4e0d\u53ef\u8fbe \u2014 \u5185\u90e8\u5316\u5019\u9009\uff1a**\n- ExtractedBundleExports \u2014 extractBundleExports \u7684\u8fd4\u56de\u7c7b\u578b\u3002\u6ce8\u610f\uff1a\u5982\u679c\u8c03\u7528\u8005\u9700\u8981\u6807\u6ce8\u7c7b\u578b\u5219\u5e94\u4fdd\u7559\u3002**\u68c0\u67e5 CLI/execute \u662f\u5426\u663e\u5f0f\u4f7f\u7528\u6b64\u7c7b\u578b\u3002**\n- ProviderConfig \u2014 \u4ece protocol re-export\uff0cregister \u4e0d\u5e94\u91cd\u590d export\n- ResolvedModel \u2014 resolveModel \u7684\u8fd4\u56de\u7c7b\u578b\uff0c\u540c\u4e0a\u68c0\u67e5\n- WorkflowBundleValidationInput \u2014 validateWorkflowBundle \u7684\u53c2\u6570\u7c7b\u578b\uff0c\u540c\u4e0a\n- WorkflowDescriptor \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- WorkflowGraph, WorkflowGraphEdge \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- WorkflowHistoryEntry \u2014 registry \u5185\u90e8\u7c7b\u578b\n- WorkflowRoleDescriptor, WorkflowRoleSchema \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- parseWorkflowRegistryYaml, stringifyWorkflowRegistryYaml \u2014 \u5185\u90e8\u5e8f\u5217\u5316\uff0cCLI \u7528\u66f4\u9ad8\u5c42\u7684 read/writeWorkflowRegistry\n\n**\u6838\u5fc3\u95ee\u9898\uff1a** \u8fd9\u4e2a\u5305\u6709\u5927\u91cf\u4ece protocol \u7684\u5197\u4f59 re-export\uff0c\u5e94\u8be5\u5168\u90e8\u79fb\u9664\uff0c\u8ba9\u6d88\u8d39\u8005\u4ece protocol \u76f4\u63a5\u5f15\u3002\n\n\u2014 \u5c0f\u6a58 \ud83c\udf4a\uff08NEKO Team\uff09

## \u53ef\u8fbe\u6027\u5206\u6790 \u2014 `@uncaged/workflow-register`\n\n### \u5305\u804c\u8d23\n\n**Bundle \u6ce8\u518c + \u5143\u6570\u636e\u7ba1\u7406\u3002** Descriptor \u6821\u9a8c\u3001registry YAML \u8bfb\u5199\u3001\u6a21\u578b\u89e3\u6790\u3002\n\n### \u53d7\u4f17\n\n- **Bundle \u4f5c\u8005**\uff1a`buildDescriptor`\uff08\u6784\u9020 descriptor\uff09\u3001`validateWorkflowDescriptor`\uff08\u6821\u9a8c\uff09\n- **CLI**\uff1aregistry \u8bfb\u5199\uff08`readWorkflowRegistry`, `registerWorkflowVersion` \u7b49\uff09\n- **Execute**\uff1a`extractBundleExports`, `resolveModel`, `importWorkflowBundleModule`\n\n### \u53ef\u8fbe\u6027\u5224\u5b9a\n\n**\u2705 \u4ece bundle \u4f5c\u8005\u5b9a\u5236\u6811\u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- `buildDescriptor` \u2014 Layer 5\uff0c\u6784\u9020 descriptor\n- `validateWorkflowDescriptor` \u2014 template \u5305\u4f7f\u7528\n\n**\u2705 \u4ece CLI \u5e94\u7528\u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- `readWorkflowRegistry`, `writeWorkflowRegistry` \u2014 registry CRUD\n- `registerWorkflowVersion`, `unregisterWorkflow`, `rollbackWorkflowToHistoryHash`\n- `listRegisteredWorkflowNames`, `getRegisteredWorkflow`\n- `workflowRegistryPath`\n- `splitProviderModelRef`\n- `stringifyWorkflowDescriptor`\n- `validateWorkflowBundle`\n- `extractBundleExports`\n- `importWorkflowBundleModule`\n- `WorkflowRegistryFile`, `WorkflowRegistryEntry` \u2014 CLI \u9700\u8981\u8fd9\u4e9b\u7c7b\u578b\n\n**\u2705 \u4ece execute \u53ef\u8fbe \u2014 \u4fdd\u7559\uff1a**\n- `resolveModel`\n- `WorkflowConfig`\n\n**\u274c \u4e0d\u53ef\u8fbe \u2014 \u5185\u90e8\u5316\u5019\u9009\uff1a**\n- `ExtractedBundleExports` \u2014 `extractBundleExports` \u7684\u8fd4\u56de\u7c7b\u578b\u3002\u6ce8\u610f\uff1a\u5982\u679c\u8c03\u7528\u8005\u9700\u8981\u6807\u6ce8\u7c7b\u578b\u5219\u5e94\u4fdd\u7559\u3002**\u68c0\u67e5 CLI/execute \u662f\u5426\u663e\u5f0f\u4f7f\u7528\u6b64\u7c7b\u578b\u3002**\n- `ProviderConfig` \u2014 \u4ece protocol re-export\uff0cregister \u4e0d\u5e94\u91cd\u590d export\n- `ResolvedModel` \u2014 `resolveModel` \u7684\u8fd4\u56de\u7c7b\u578b\uff0c\u540c\u4e0a\u68c0\u67e5\n- `WorkflowBundleValidationInput` \u2014 `validateWorkflowBundle` \u7684\u53c2\u6570\u7c7b\u578b\uff0c\u540c\u4e0a\n- `WorkflowDescriptor` \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- `WorkflowGraph`, `WorkflowGraphEdge` \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- `WorkflowHistoryEntry` \u2014 registry \u5185\u90e8\u7c7b\u578b\n- `WorkflowRoleDescriptor`, `WorkflowRoleSchema` \u2014 \u4ece protocol re-export\uff0c\u5197\u4f59\n- `parseWorkflowRegistryYaml`, `stringifyWorkflowRegistryYaml` \u2014 \u5185\u90e8\u5e8f\u5217\u5316\uff0cCLI \u7528\u66f4\u9ad8\u5c42\u7684 read/writeWorkflowRegistry\n\n**\u6838\u5fc3\u95ee\u9898\uff1a** \u8fd9\u4e2a\u5305\u6709\u5927\u91cf\u4ece protocol \u7684\u5197\u4f59 re-export\uff0c\u5e94\u8be5\u5168\u90e8\u79fb\u9664\uff0c\u8ba9\u6d88\u8d39\u8005\u4ece protocol \u76f4\u63a5\u5f15\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-register` to chore: audit public exports — 2026-05-16 10:34:19 +00:00
This repo is archived. You cannot comment on issues.
No Label
2 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#278