导入路径
如何为已移除的通道门面选择最窄的已文档化子路径,以及每个导出的映射。属于 Plugin SDK 迁移 指南的一部分。
导入路径参考¶
使用从 SDK 概览 链接的主题 SDK 指南,
并优先选择最窄的已文档化带类型公开子路径。在 package.json 中,
这些子路径同时具有 types 和 default 导出目标。
scripts/lib/plugin-sdk-entrypoints.json 中的编译器清单还包含
私有本地条目。它们的分类维护在
scripts/lib/plugin-sdk-private-local-only-subpaths.json 中。生产私有
条目可能具有仅 JavaScript 的 default 导出,用于捆绑或单独发布的官方插件,
但它们的声明会从包中排除。
运行时导出或源文件并不构成带类型的第三方 SDK 契约。
本页上的映射是迁移子集,而不是完整的 SDK 表面。 在替换导入之前,请同时检查公开子路径及其实际命名导出。
保留的捆绑插件辅助接缝已从公开 SDK
导出映射中移除,但明确文档化的兼容性门面除外,例如
已弃用的 plugin-sdk/discord 垫片,它保留给仍直接导入已发布
@openclaw/discord 包的外部插件。所有者专属
辅助函数位于所属插件包内部;共享宿主行为通过通用 SDK 契约迁移,例如 plugin-sdk/gateway-runtime、
plugin-sdk/security-runtime,以及注入的插件 API。
使用与任务匹配的最窄导入。如果找不到某个导出,
请检查 src/plugin-sdk/ 中的源代码,或询问维护者应由哪个通用
契约拥有它。
已移除的通道门面映射¶
已移除的通道门面不能与 channel-outbound 互换使用。
请分别迁移每个函数和类型。
对于 openclaw/plugin-sdk/channel-reply-pipeline,请使用来自
openclaw/plugin-sdk/channel-outbound 的以下导出:
| 旧版导出 | 新版导出 |
|---|---|
createChannelReplyPipeline |
createChannelMessageReplyPipeline |
resolveChannelSourceReplyDeliveryMode |
resolveChannelMessageSourceReplyDeliveryMode |
createReplyPrefixContext, createReplyPrefixOptions, createTypingCallbacks |
名称相同 |
这些函数保留了原门面的实现。它们的命名
类型也可从 channel-outbound 原样使用:
ChannelReplyPipeline、CreateTypingCallbacksParams、ReplyPrefixContext、
ReplyPrefixContextBundle、ReplyPrefixOptions、SourceReplyDeliveryMode,
以及 TypingCallbacks。
来自 openclaw/plugin-sdk/channel-lifecycle 的以下函数原样迁移到
channel-outbound:createAccountStatusSink、createChannelRunQueue、
keepHttpServerTaskAlive、runPassiveAccountLifecycle、waitUntilAbort、
createDraftStreamLoop、createFinalizableDraftLifecycle、
createFinalizableDraftStreamControls、
createFinalizableDraftStreamControlsForState、clearFinalizableDraftMessage、
takeMessageIdAfterStop、createRunStateMachine,以及 createArmableStallWatchdog。
命名类型 ChannelRunQueue、ChannelRunQueueParams、
ChannelRunQueueTaskContext、DraftStreamLoop、FinalizableDraftStreamState、
ArmableStallWatchdog,以及 StallWatchdogTimeoutMeta 也原样迁移到
channel-outbound。
用
defineFinalizableLivePreviewAdapter 和 deliverWithFinalizableLivePreviewAdapter 替换 deliverFinalizableDraftPreview。
将预览回调移入 adapter,并处理带有 kind
和可选 liveState 的对象结果,而不是旧版字符串结果。适配器可以返回
preview-retained;已移除的包装器将该 kind 映射为 normal-skipped。
旧版 DraftPreviewFinalizerDraft 和 DraftPreviewFinalizerResult 名称
已移除。请将类型用法适配到聚焦的实时预览契约,并考虑
结果形状的变化。
对于 openclaw/plugin-sdk/channel-message,将出站导出原样迁移到
channel-outbound,但将其三个分发别名迁移到
openclaw/plugin-sdk/channel-inbound:
| 旧版导出 | 新版入站导出 |
|---|---|
hasFinalChannelTurnDispatch |
hasFinalInboundReplyDispatch |
hasVisibleChannelTurnDispatch |
hasVisibleInboundReplyDispatch |
resolveChannelTurnDispatchCounts |
resolveInboundReplyDispatchCounts |
这些别名共享其实现和签名。参见 通道出站 API 了解出站契约。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw