跳转至

导入路径

如何为已移除的通道门面选择最窄的已文档化子路径,以及每个导出的映射。属于 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