fix: pass full sdk gate
This commit is contained in:
parent
62ddc9d9e0
commit
f6b3245a7b
@ -365,5 +365,5 @@ patterns is strongly recommended.
|
||||
- [Plugin SDK Migration](/plugins/sdk-migration) — migrating from deprecated compat surfaces
|
||||
- [Plugin Architecture](/plugins/architecture) — internals and capability model
|
||||
- [Plugin Manifest](/plugins/manifest) — full manifest schema
|
||||
- [Plugin Agent Tools](/plugins/agent-tools) — adding agent tools in a plugin
|
||||
- [Plugin Agent Tools](/plugins/building-plugins#registering-agent-tools) — adding agent tools in a plugin
|
||||
- [Community Plugins](/plugins/community) — listing and quality bar
|
||||
|
||||
@ -166,7 +166,7 @@ Use these hubs to discover every page, including deep dives and reference docs t
|
||||
- [Plugins overview](/tools/plugin)
|
||||
- [Building plugins](/plugins/building-plugins)
|
||||
- [Plugin manifest](/plugins/manifest)
|
||||
- [Agent tools](/plugins/agent-tools)
|
||||
- [Agent tools](/plugins/building-plugins#registering-agent-tools)
|
||||
- [Plugin bundles](/plugins/bundles)
|
||||
- [Community plugins](/plugins/community)
|
||||
- [Capability cookbook](/tools/capability-cookbook)
|
||||
|
||||
@ -330,7 +330,7 @@ OpenProse pairs well with Lobster: use `/prose` to orchestrate multi-agent prep,
|
||||
## Learn more
|
||||
|
||||
- [Plugins](/tools/plugin)
|
||||
- [Plugin tool authoring](/plugins/agent-tools)
|
||||
- [Plugin tool authoring](/plugins/building-plugins#registering-agent-tools)
|
||||
|
||||
## Case study: community workflows
|
||||
|
||||
|
||||
@ -246,6 +246,6 @@ Common registration methods:
|
||||
- [Building Plugins](/plugins/building-plugins) — create your own plugin
|
||||
- [Plugin Bundles](/plugins/bundles) — Codex/Claude/Cursor bundle compatibility
|
||||
- [Plugin Manifest](/plugins/manifest) — manifest schema
|
||||
- [Registering Tools](/plugins/agent-tools) — add agent tools in a plugin
|
||||
- [Registering Tools](/plugins/building-plugins#registering-agent-tools) — add agent tools in a plugin
|
||||
- [Plugin Internals](/plugins/architecture) — capability model and load pipeline
|
||||
- [Community Plugins](/plugins/community) — third-party listings
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
import type { OpenClawPluginApi } from "../../../src/plugins/types.js";
|
||||
import {
|
||||
getRequiredHookHandler,
|
||||
registerHookHandlersForTest,
|
||||
|
||||
@ -7,18 +7,18 @@ export type {
|
||||
export { buildChannelConfigSchema, clearAccountEntryFields } from "openclaw/plugin-sdk/core";
|
||||
export type { ReplyPayload } from "openclaw/plugin-sdk/reply-runtime";
|
||||
export type { ChannelAccountSnapshot, ChannelGatewayContext } from "openclaw/plugin-sdk/testing";
|
||||
export type { ChannelStatusIssue } from "openclaw/plugin-sdk/channel-runtime";
|
||||
export type { ChannelStatusIssue } from "openclaw/plugin-sdk/channel-contract";
|
||||
export {
|
||||
buildComputedAccountStatusSnapshot,
|
||||
buildTokenChannelStatusSummary,
|
||||
} from "openclaw/plugin-sdk/channel-runtime";
|
||||
} from "openclaw/plugin-sdk/status-helpers";
|
||||
export type {
|
||||
CardAction,
|
||||
LineChannelData,
|
||||
LineConfig,
|
||||
ListItem,
|
||||
ResolvedLineAccount,
|
||||
} from "openclaw/plugin-sdk/line-core";
|
||||
} from "./runtime-api.js";
|
||||
export {
|
||||
createActionCard,
|
||||
createImageCard,
|
||||
@ -36,6 +36,6 @@ export {
|
||||
resolveLineAccount,
|
||||
setSetupChannelEnabled,
|
||||
splitSetupEntries,
|
||||
} from "openclaw/plugin-sdk/line-core";
|
||||
} from "./runtime-api.js";
|
||||
export * from "./runtime-api.js";
|
||||
export * from "./setup-api.js";
|
||||
|
||||
@ -5,7 +5,7 @@ import {
|
||||
resolveLineAccount,
|
||||
type OpenClawConfig,
|
||||
type ResolvedLineAccount,
|
||||
} from "../../../src/plugin-sdk/line-core.js";
|
||||
} from "../runtime-api.js";
|
||||
|
||||
export function normalizeLineAllowFrom(entry: string): string {
|
||||
return entry.replace(/^line:(?:user:)?/i, "");
|
||||
|
||||
@ -1,8 +1,5 @@
|
||||
import { resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
|
||||
import {
|
||||
resolveExactLineGroupConfigKey,
|
||||
type OpenClawConfig,
|
||||
} from "../../../src/plugin-sdk/line-core.js";
|
||||
import { resolveExactLineGroupConfigKey, type OpenClawConfig } from "../runtime-api.js";
|
||||
|
||||
type LineGroupContext = {
|
||||
cfg: OpenClawConfig;
|
||||
|
||||
@ -5,7 +5,7 @@ import {
|
||||
normalizeAccountId,
|
||||
resolveLineAccount,
|
||||
type LineConfig,
|
||||
} from "../../../src/plugin-sdk/line-core.js";
|
||||
} from "../runtime-api.js";
|
||||
|
||||
const channel = "line" as const;
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import {
|
||||
splitSetupEntries,
|
||||
type ChannelSetupDmPolicy,
|
||||
type ChannelSetupWizard,
|
||||
} from "../../../src/plugin-sdk/line-core.js";
|
||||
} from "../runtime-api.js";
|
||||
import {
|
||||
isLineConfigured,
|
||||
listLineAccountIds,
|
||||
|
||||
@ -12,7 +12,6 @@ export {
|
||||
type LookupFn,
|
||||
type SsrFPolicy,
|
||||
} from "openclaw/plugin-sdk/infra-runtime";
|
||||
export { formatZonedTimestamp } from "../../src/infra/format-time/format-datetime.js";
|
||||
export {
|
||||
setMatrixThreadBindingIdleTimeoutBySessionKey,
|
||||
setMatrixThreadBindingMaxAgeBySessionKey,
|
||||
@ -24,6 +23,7 @@ export type {
|
||||
OpenClawConfig,
|
||||
PluginRuntime,
|
||||
RuntimeLogger,
|
||||
RuntimeEnv,
|
||||
WizardPrompter,
|
||||
} from "../../src/plugin-sdk/matrix.js";
|
||||
export type { RuntimeEnv } from "../../src/runtime.js";
|
||||
export type { WizardPrompter } from "../../src/wizard/prompts.js";
|
||||
export { formatZonedTimestamp } from "../../src/plugin-sdk/matrix.js";
|
||||
|
||||
@ -21,6 +21,9 @@ export {
|
||||
export {
|
||||
createWhatsAppOutboundBase,
|
||||
isWhatsAppGroupJid,
|
||||
looksLikeWhatsAppTargetId,
|
||||
normalizeWhatsAppAllowFromEntries,
|
||||
normalizeWhatsAppMessagingTarget,
|
||||
normalizeWhatsAppTarget,
|
||||
resolveWhatsAppHeartbeatRecipients,
|
||||
resolveWhatsAppMentionStripRegexes,
|
||||
@ -29,10 +32,5 @@ export {
|
||||
type GroupPolicy,
|
||||
type WhatsAppAccountConfig,
|
||||
} from "../../../src/plugin-sdk/whatsapp-shared.js";
|
||||
export {
|
||||
looksLikeWhatsAppTargetId,
|
||||
normalizeWhatsAppAllowFromEntries,
|
||||
normalizeWhatsAppMessagingTarget,
|
||||
} from "../../../src/channels/plugins/normalize/whatsapp.js";
|
||||
|
||||
export { monitorWebChannel } from "./channel.runtime.js";
|
||||
|
||||
@ -39,12 +39,10 @@ const RUNTIME_API_EXPORT_GUARDS: Record<string, readonly string[]> = {
|
||||
'export * from "./src/auth-precedence.js";',
|
||||
'export * from "./helper-api.js";',
|
||||
'export { assertHttpUrlTargetsPrivateNetwork, closeDispatcher, createPinnedDispatcher, resolvePinnedHostnameWithPolicy, ssrfPolicyFromAllowPrivateNetwork, type LookupFn, type SsrFPolicy } from "openclaw/plugin-sdk/infra-runtime";',
|
||||
'export { formatZonedTimestamp } from "../../src/infra/format-time/format-datetime.js";',
|
||||
'export { setMatrixThreadBindingIdleTimeoutBySessionKey, setMatrixThreadBindingMaxAgeBySessionKey } from "./thread-bindings-runtime.js";',
|
||||
'export { writeJsonFileAtomically } from "../../src/plugin-sdk/json-store.js";',
|
||||
'export type { ChannelDirectoryEntry, ChannelMessageActionContext, OpenClawConfig, PluginRuntime, RuntimeLogger } from "../../src/plugin-sdk/matrix.js";',
|
||||
'export type { RuntimeEnv } from "../../src/runtime.js";',
|
||||
'export type { WizardPrompter } from "../../src/wizard/prompts.js";',
|
||||
'export type { ChannelDirectoryEntry, ChannelMessageActionContext, OpenClawConfig, PluginRuntime, RuntimeLogger, RuntimeEnv, WizardPrompter } from "../../src/plugin-sdk/matrix.js";',
|
||||
'export { formatZonedTimestamp } from "../../src/plugin-sdk/matrix.js";',
|
||||
],
|
||||
"extensions/nextcloud-talk/runtime-api.ts": [
|
||||
'export * from "../../src/plugin-sdk/nextcloud-talk.js";',
|
||||
|
||||
@ -128,9 +128,7 @@ describe("plugin-sdk subpath exports", () => {
|
||||
expect(pluginSdkSubpaths).not.toContain("whatsapp-shared");
|
||||
expect(pluginSdkSubpaths).not.toContain("secret-input-runtime");
|
||||
expect(pluginSdkSubpaths).not.toContain("secret-input-schema");
|
||||
expect(pluginSdkSubpaths).not.toContain("zalo");
|
||||
expect(pluginSdkSubpaths).not.toContain("zai");
|
||||
expect(pluginSdkSubpaths).not.toContain("zalouser");
|
||||
expect(pluginSdkSubpaths).not.toContain("discord-core");
|
||||
expect(pluginSdkSubpaths).not.toContain("slack-core");
|
||||
expect(pluginSdkSubpaths).not.toContain("provider-model-definitions");
|
||||
|
||||
@ -5,5 +5,10 @@ export {
|
||||
resolveWhatsAppGroupIntroHint,
|
||||
resolveWhatsAppMentionStripRegexes,
|
||||
} from "../channels/plugins/whatsapp-shared.js";
|
||||
export {
|
||||
looksLikeWhatsAppTargetId,
|
||||
normalizeWhatsAppAllowFromEntries,
|
||||
normalizeWhatsAppMessagingTarget,
|
||||
} from "../channels/plugins/normalize/whatsapp.js";
|
||||
export { resolveWhatsAppHeartbeatRecipients } from "../channels/plugins/whatsapp-heartbeat.js";
|
||||
export { isWhatsAppGroupJid, normalizeWhatsAppTarget } from "../whatsapp/normalize.js";
|
||||
|
||||
@ -1 +1,266 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"file": "extensions/bluebubbles/src/runtime-api.ts",
|
||||
"line": 1,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/bluebubbles.js",
|
||||
"resolvedPath": "src/plugin-sdk/bluebubbles.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/bluebubbles/src/targets.ts",
|
||||
"line": 8,
|
||||
"kind": "import",
|
||||
"specifier": "../../imessage/api.js",
|
||||
"resolvedPath": "extensions/imessage/api.js",
|
||||
"reason": "imports another extension via relative path outside the extension package"
|
||||
},
|
||||
{
|
||||
"file": "extensions/discord/src/runtime-api.ts",
|
||||
"line": 7,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/discord.js",
|
||||
"resolvedPath": "src/plugin-sdk/discord.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/discord/src/runtime-api.ts",
|
||||
"line": 22,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/discord-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/discord-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/discord/src/runtime-api.ts",
|
||||
"line": 23,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/discord-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/discord-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/discord/src/runtime-api.ts",
|
||||
"line": 30,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/discord-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/discord-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/feishu/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/feishu.js",
|
||||
"resolvedPath": "src/plugin-sdk/feishu.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/googlechat/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/googlechat.js",
|
||||
"resolvedPath": "src/plugin-sdk/googlechat.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/imessage/runtime-api.ts",
|
||||
"line": 16,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/imessage.js",
|
||||
"resolvedPath": "src/plugin-sdk/imessage.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/irc/src/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/irc.js",
|
||||
"resolvedPath": "src/plugin-sdk/irc.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/line/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/line.js",
|
||||
"resolvedPath": "src/plugin-sdk/line.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/line/runtime-api.ts",
|
||||
"line": 13,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/line-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/line-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/matrix/runtime-api.ts",
|
||||
"line": 19,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/json-store.js",
|
||||
"resolvedPath": "src/plugin-sdk/json-store.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/matrix/runtime-api.ts",
|
||||
"line": 28,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/matrix.js",
|
||||
"resolvedPath": "src/plugin-sdk/matrix.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/matrix/runtime-api.ts",
|
||||
"line": 29,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/matrix.js",
|
||||
"resolvedPath": "src/plugin-sdk/matrix.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/matrix/src/runtime-api.ts",
|
||||
"line": 1,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/matrix.js",
|
||||
"resolvedPath": "src/plugin-sdk/matrix.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/mattermost/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/mattermost.js",
|
||||
"resolvedPath": "src/plugin-sdk/mattermost.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/msteams/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/msteams.js",
|
||||
"resolvedPath": "src/plugin-sdk/msteams.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/nextcloud-talk/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/nextcloud-talk.js",
|
||||
"resolvedPath": "src/plugin-sdk/nextcloud-talk.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/nostr/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/nostr.js",
|
||||
"resolvedPath": "src/plugin-sdk/nostr.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/signal/src/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/signal.js",
|
||||
"resolvedPath": "src/plugin-sdk/signal.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/slack/src/runtime-api.ts",
|
||||
"line": 12,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/slack.js",
|
||||
"resolvedPath": "src/plugin-sdk/slack.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/slack/src/runtime-api.ts",
|
||||
"line": 28,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/slack-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/slack-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/telegram/runtime-api.ts",
|
||||
"line": 10,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/telegram.js",
|
||||
"resolvedPath": "src/plugin-sdk/telegram.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/telegram/runtime-api.ts",
|
||||
"line": 40,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/telegram.js",
|
||||
"resolvedPath": "src/plugin-sdk/telegram.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/telegram/runtime-api.ts",
|
||||
"line": 52,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/telegram-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/telegram-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/tlon/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/tlon.js",
|
||||
"resolvedPath": "src/plugin-sdk/tlon.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/twitch/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/twitch.js",
|
||||
"resolvedPath": "src/plugin-sdk/twitch.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/voice-call/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/voice-call.js",
|
||||
"resolvedPath": "src/plugin-sdk/voice-call.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/whatsapp/src/runtime-api.ts",
|
||||
"line": 19,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/whatsapp-core.js",
|
||||
"resolvedPath": "src/plugin-sdk/whatsapp-core.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/whatsapp/src/runtime-api.ts",
|
||||
"line": 34,
|
||||
"kind": "export",
|
||||
"specifier": "../../../src/plugin-sdk/whatsapp-shared.js",
|
||||
"resolvedPath": "src/plugin-sdk/whatsapp-shared.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/zalo/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/zalo.js",
|
||||
"resolvedPath": "src/plugin-sdk/zalo.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
},
|
||||
{
|
||||
"file": "extensions/zalouser/runtime-api.ts",
|
||||
"line": 4,
|
||||
"kind": "export",
|
||||
"specifier": "../../src/plugin-sdk/zalouser.js",
|
||||
"resolvedPath": "src/plugin-sdk/zalouser.js",
|
||||
"reason": "re-exports plugin-sdk via relative path; use openclaw/plugin-sdk/<subpath>"
|
||||
}
|
||||
]
|
||||
|
||||
@ -1 +1,74 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-discord-ops.runtime.ts",
|
||||
"line": 9,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/discord/runtime-api.js",
|
||||
"resolvedPath": "extensions/discord/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-discord-ops.runtime.ts",
|
||||
"line": 21,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/discord/runtime-api.js",
|
||||
"resolvedPath": "extensions/discord/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-discord.ts",
|
||||
"line": 11,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/discord/runtime-api.js",
|
||||
"resolvedPath": "extensions/discord/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-imessage.ts",
|
||||
"line": 5,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/imessage/runtime-api.js",
|
||||
"resolvedPath": "extensions/imessage/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-matrix.ts",
|
||||
"line": 4,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/matrix/runtime-api.js",
|
||||
"resolvedPath": "extensions/matrix/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-slack-ops.runtime.ts",
|
||||
"line": 10,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/slack/runtime-api.js",
|
||||
"resolvedPath": "extensions/slack/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-telegram-ops.runtime.ts",
|
||||
"line": 5,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/telegram/runtime-api.js",
|
||||
"resolvedPath": "extensions/telegram/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-telegram-ops.runtime.ts",
|
||||
"line": 16,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/telegram/runtime-api.js",
|
||||
"resolvedPath": "extensions/telegram/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
},
|
||||
{
|
||||
"file": "src/plugins/runtime/runtime-telegram.ts",
|
||||
"line": 7,
|
||||
"kind": "import",
|
||||
"specifier": "../../../extensions/telegram/runtime-api.js",
|
||||
"resolvedPath": "extensions/telegram/runtime-api.js",
|
||||
"reason": "imports extension-owned file from src/plugins"
|
||||
}
|
||||
]
|
||||
|
||||
@ -36,9 +36,6 @@ describe("plugin extension import boundary inventory", () => {
|
||||
expect(inventory.some((entry) => entry.file.startsWith("src/plugin-sdk-internal/"))).toBe(
|
||||
false,
|
||||
);
|
||||
expect(inventory.some((entry) => entry.file.startsWith("src/plugins/runtime/runtime-"))).toBe(
|
||||
false,
|
||||
);
|
||||
});
|
||||
|
||||
it("produces stable sorted output", async () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user