refactor move web search sdk helpers into plugin-sdk

This commit is contained in:
Tak Hoffman 2026-03-18 00:24:30 -05:00
parent 5f89897df1
commit cd2752346c
No known key found for this signature in database
8 changed files with 472 additions and 398 deletions

View File

@ -1,33 +1,30 @@
import { Type } from "@sinclair/typebox";
import { readNumberParam, readStringParam } from "../../../src/agents/tools/common.js";
import type { SearchConfigRecord } from "../../../src/agents/tools/web-search-provider-common.js";
import {
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
formatCliCommand,
normalizeFreshness,
normalizeToIsoDate,
readCachedSearchPayload,
readConfiguredSecretString,
readNumberParam,
readProviderEnvValue,
readStringParam,
resolveSearchCacheTtlMs,
resolveSearchCount,
resolveSearchTimeoutSeconds,
resolveSiteName,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../../../src/agents/tools/web-search-provider-common.js";
import {
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import { formatCliCommand } from "../../../src/cli/command-format.js";
import type { OpenClawConfig } from "../../../src/config/config.js";
import type {
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../../../src/plugins/types.js";
import { wrapWebContent } from "../../../src/security/external-content.js";
type OpenClawConfig,
type SearchConfigRecord,
type WebSearchProviderPlugin,
type WebSearchProviderToolDefinition,
withTrustedWebSearchEndpoint,
wrapWebContent,
writeCachedSearchPayload,
} from "openclaw/plugin-sdk/provider-web-search";
const BRAVE_SEARCH_ENDPOINT = "https://api.search.brave.com/res/v1/web/search";
const BRAVE_LLM_CONTEXT_ENDPOINT = "https://api.search.brave.com/res/v1/llm/context";

View File

@ -1,10 +1,10 @@
import { Type } from "@sinclair/typebox";
import {
enablePluginInConfig,
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import { enablePluginInConfig } from "../../../src/plugins/enable.js";
import type { WebSearchProviderPlugin } from "../../../src/plugins/types.js";
type WebSearchProviderPlugin,
} from "openclaw/plugin-sdk/provider-web-search";
import { runFirecrawlSearch } from "./firecrawl-client.js";
const GenericFirecrawlSearchSchema = Type.Object(

View File

@ -1,30 +1,27 @@
import { Type } from "@sinclair/typebox";
import { readNumberParam, readStringParam } from "../../../src/agents/tools/common.js";
import { resolveCitationRedirectUrl } from "../../../src/agents/tools/web-search-citation-redirect.js";
import type { SearchConfigRecord } from "../../../src/agents/tools/web-search-provider-common.js";
import {
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
readCachedSearchPayload,
readConfiguredSecretString,
readNumberParam,
readProviderEnvValue,
readStringParam,
resolveCitationRedirectUrl,
resolveSearchCacheTtlMs,
resolveSearchCount,
resolveSearchTimeoutSeconds,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../../../src/agents/tools/web-search-provider-common.js";
import {
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import type { OpenClawConfig } from "../../../src/config/config.js";
import type {
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../../../src/plugins/types.js";
import { wrapWebContent } from "../../../src/security/external-content.js";
type OpenClawConfig,
type SearchConfigRecord,
type WebSearchProviderPlugin,
type WebSearchProviderToolDefinition,
withTrustedWebSearchEndpoint,
wrapWebContent,
writeCachedSearchPayload,
} from "openclaw/plugin-sdk/provider-web-search";
const DEFAULT_GEMINI_MODEL = "gemini-2.5-flash";
const GEMINI_API_BASE = "https://generativelanguage.googleapis.com/v1beta";

View File

@ -1,29 +1,26 @@
import { Type } from "@sinclair/typebox";
import { readNumberParam, readStringParam } from "../../../src/agents/tools/common.js";
import type { SearchConfigRecord } from "../../../src/agents/tools/web-search-provider-common.js";
import {
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
readCachedSearchPayload,
readConfiguredSecretString,
readNumberParam,
readProviderEnvValue,
readStringParam,
resolveSearchCacheTtlMs,
resolveSearchCount,
resolveSearchTimeoutSeconds,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../../../src/agents/tools/web-search-provider-common.js";
import {
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import type { OpenClawConfig } from "../../../src/config/config.js";
import type {
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../../../src/plugins/types.js";
import { wrapWebContent } from "../../../src/security/external-content.js";
type OpenClawConfig,
type SearchConfigRecord,
type WebSearchProviderPlugin,
type WebSearchProviderToolDefinition,
withTrustedWebSearchEndpoint,
wrapWebContent,
writeCachedSearchPayload,
} from "openclaw/plugin-sdk/provider-web-search";
const DEFAULT_KIMI_BASE_URL = "https://api.moonshot.ai/v1";
const DEFAULT_KIMI_MODEL = "moonshot-v1-128k";

View File

@ -3,9 +3,6 @@ import {
readNumberParam,
readStringArrayParam,
readStringParam,
} from "../../../src/agents/tools/common.js";
import type { SearchConfigRecord } from "../../../src/agents/tools/web-search-provider-common.js";
import {
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
@ -19,21 +16,18 @@ import {
resolveSearchCount,
resolveSearchTimeoutSeconds,
resolveSiteName,
throwWebSearchApiError,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../../../src/agents/tools/web-search-provider-common.js";
import {
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import type { OpenClawConfig } from "../../../src/config/config.js";
import type {
WebSearchCredentialResolutionSource,
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../../../src/plugins/types.js";
import { wrapWebContent } from "../../../src/security/external-content.js";
throwWebSearchApiError,
type OpenClawConfig,
type SearchConfigRecord,
type WebSearchCredentialResolutionSource,
type WebSearchProviderPlugin,
type WebSearchProviderToolDefinition,
withTrustedWebSearchEndpoint,
wrapWebContent,
writeCachedSearchPayload,
} from "openclaw/plugin-sdk/provider-web-search";
const DEFAULT_PERPLEXITY_BASE_URL = "https://openrouter.ai/api/v1";
const PERPLEXITY_DIRECT_BASE_URL = "https://api.perplexity.ai";

View File

@ -1,29 +1,26 @@
import { Type } from "@sinclair/typebox";
import { readNumberParam, readStringParam } from "../../../src/agents/tools/common.js";
import type { SearchConfigRecord } from "../../../src/agents/tools/web-search-provider-common.js";
import {
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
readCachedSearchPayload,
readConfiguredSecretString,
readNumberParam,
readProviderEnvValue,
readStringParam,
resolveSearchCacheTtlMs,
resolveSearchCount,
resolveSearchTimeoutSeconds,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../../../src/agents/tools/web-search-provider-common.js";
import {
resolveProviderWebSearchPluginConfig,
setProviderWebSearchPluginConfigValue,
} from "../../../src/agents/tools/web-search-provider-config.js";
import type { OpenClawConfig } from "../../../src/config/config.js";
import type {
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../../../src/plugins/types.js";
import { wrapWebContent } from "../../../src/security/external-content.js";
type OpenClawConfig,
type SearchConfigRecord,
type WebSearchProviderPlugin,
type WebSearchProviderToolDefinition,
withTrustedWebSearchEndpoint,
wrapWebContent,
writeCachedSearchPayload,
} from "openclaw/plugin-sdk/provider-web-search";
const XAI_API_ENDPOINT = "https://api.x.ai/v1/responses";
const DEFAULT_GROK_MODEL = "grok-4-1-fast";

View File

@ -1,17 +1,45 @@
// Public web-search registration helpers for provider plugins.
import type { WebSearchProviderPlugin } from "../plugins/types.js";
import type { OpenClawConfig } from "../config/config.js";
import type {
WebSearchCredentialResolutionSource,
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
} from "../plugins/types.js";
export { readNumberParam, readStringArrayParam, readStringParam } from "../agents/tools/common.js";
export { resolveCitationRedirectUrl } from "../agents/tools/web-search-citation-redirect.js";
export {
getScopedCredentialValue,
getTopLevelCredentialValue,
resolveProviderWebSearchPluginConfig,
setScopedCredentialValue,
setProviderWebSearchPluginConfigValue,
setTopLevelCredentialValue,
} from "../agents/tools/web-search-provider-config.js";
export type { SearchConfigRecord } from "../agents/tools/web-search-provider-common.js";
export { resolveWebSearchProviderCredential } from "../agents/tools/web-search-provider-credentials.js";
export { withTrustedWebToolsEndpoint } from "../agents/tools/web-guarded-fetch.js";
export {
DEFAULT_TIMEOUT_SECONDS,
buildSearchCacheKey,
DEFAULT_SEARCH_COUNT,
MAX_SEARCH_COUNT,
isoToPerplexityDate,
normalizeFreshness,
normalizeToIsoDate,
readCachedSearchPayload,
readConfiguredSecretString,
readProviderEnvValue,
resolveSearchCacheTtlMs,
resolveSearchCount,
resolveSearchTimeoutSeconds,
resolveSiteName,
throwWebSearchApiError,
withTrustedWebSearchEndpoint,
writeCachedSearchPayload,
} from "../agents/tools/web-search-provider-common.js";
export {
DEFAULT_CACHE_TTL_MINUTES,
DEFAULT_TIMEOUT_SECONDS,
normalizeCacheKey,
readCache,
readResponseText,
@ -19,7 +47,15 @@ export {
resolveTimeoutSeconds,
writeCache,
} from "../agents/tools/web-shared.js";
export { enablePluginInConfig } from "../plugins/enable.js";
export { formatCliCommand } from "../cli/command-format.js";
export { wrapWebContent } from "../security/external-content.js";
export type {
OpenClawConfig,
WebSearchCredentialResolutionSource,
WebSearchProviderPlugin,
WebSearchProviderToolDefinition,
};
/**
* @deprecated Implement provider-owned `createTool(...)` directly on the

View File

@ -1,362 +1,418 @@
[
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 2,
"file": "extensions/discord/src/directory-config.ts",
"line": 7,
"kind": "import",
"specifier": "../../../src/agents/tools/common.js",
"specifier": "../../../src/channels/read-only-account-inspect.discord.runtime.js",
"resolvedPath": "src/channels/read-only-account-inspect.discord.runtime.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/directory-config.ts",
"line": 8,
"kind": "import",
"specifier": "../../../src/channels/read-only-account-inspect.js",
"resolvedPath": "src/channels/read-only-account-inspect.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 10,
"kind": "export",
"specifier": "../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 3,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 19,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"file": "extensions/googlechat/runtime-api.ts",
"line": 23,
"kind": "export",
"specifier": "../../src/channels/mention-gating.js",
"resolvedPath": "src/channels/mention-gating.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 30,
"kind": "export",
"specifier": "../../src/channels/plugins/config-schema.js",
"resolvedPath": "src/channels/plugins/config-schema.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 34,
"kind": "export",
"specifier": "../../src/channels/plugins/config-helpers.js",
"resolvedPath": "src/channels/plugins/config-helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 38,
"kind": "export",
"specifier": "../../src/channels/plugins/directory-config-helpers.js",
"resolvedPath": "src/channels/plugins/directory-config-helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 39,
"kind": "export",
"specifier": "../../src/channels/plugins/helpers.js",
"resolvedPath": "src/channels/plugins/helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 40,
"kind": "export",
"specifier": "../../src/channels/plugins/media-limits.js",
"resolvedPath": "src/channels/plugins/media-limits.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 46,
"kind": "export",
"specifier": "../../src/channels/plugins/setup-wizard-helpers.js",
"resolvedPath": "src/channels/plugins/setup-wizard-helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 47,
"kind": "export",
"specifier": "../../src/channels/plugins/pairing-message.js",
"resolvedPath": "src/channels/plugins/pairing-message.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 52,
"kind": "export",
"specifier": "../../src/channels/plugins/setup-helpers.js",
"resolvedPath": "src/channels/plugins/setup-helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 53,
"kind": "export",
"specifier": "../../src/channels/plugins/account-helpers.js",
"resolvedPath": "src/channels/plugins/account-helpers.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 59,
"kind": "export",
"specifier": "../../src/channels/plugins/types.js",
"resolvedPath": "src/channels/plugins/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 60,
"kind": "export",
"specifier": "../../src/channels/plugins/types.plugin.js",
"resolvedPath": "src/channels/plugins/types.plugin.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 61,
"kind": "export",
"specifier": "../../src/channels/registry.js",
"resolvedPath": "src/channels/registry.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 62,
"kind": "export",
"specifier": "../../src/channels/reply-prefix.js",
"resolvedPath": "src/channels/reply-prefix.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 63,
"kind": "export",
"specifier": "../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 64,
"kind": "export",
"specifier": "../../src/config/dangerous-name-matching.js",
"resolvedPath": "src/config/dangerous-name-matching.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 70,
"kind": "export",
"specifier": "../../src/config/runtime-group-policy.js",
"resolvedPath": "src/config/runtime-group-policy.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 75,
"kind": "export",
"specifier": "../../src/config/types.js",
"resolvedPath": "src/config/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 76,
"kind": "export",
"specifier": "../../src/config/types.secrets.js",
"resolvedPath": "src/config/types.secrets.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 77,
"kind": "export",
"specifier": "../../src/config/zod-schema.providers-core.js",
"resolvedPath": "src/config/zod-schema.providers-core.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 78,
"kind": "export",
"specifier": "../../src/infra/net/fetch-guard.js",
"resolvedPath": "src/infra/net/fetch-guard.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 79,
"kind": "export",
"specifier": "../../src/infra/outbound/target-errors.js",
"resolvedPath": "src/infra/outbound/target-errors.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 80,
"kind": "export",
"specifier": "../../src/plugins/config-schema.js",
"resolvedPath": "src/plugins/config-schema.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 81,
"kind": "export",
"specifier": "../../src/plugins/runtime/types.js",
"resolvedPath": "src/plugins/runtime/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 82,
"kind": "export",
"specifier": "../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 83,
"kind": "export",
"specifier": "../../src/routing/session-key.js",
"resolvedPath": "src/routing/session-key.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 84,
"kind": "export",
"specifier": "../../src/security/dm-policy-shared.js",
"resolvedPath": "src/security/dm-policy-shared.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 85,
"kind": "export",
"specifier": "../../src/terminal/links.js",
"resolvedPath": "src/terminal/links.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 86,
"kind": "export",
"specifier": "../../src/wizard/prompts.js",
"resolvedPath": "src/wizard/prompts.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/googlechat/runtime-api.ts",
"line": 89,
"kind": "export",
"specifier": "../../src/pairing/pairing-challenge.js",
"resolvedPath": "src/pairing/pairing-challenge.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/imessage/runtime-api.ts",
"line": 1,
"kind": "export",
"specifier": "../../src/config/types.imessage.js",
"resolvedPath": "src/config/types.imessage.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/imessage/runtime-api.ts",
"line": 2,
"kind": "export",
"specifier": "../../src/channels/plugins/types.plugin.js",
"resolvedPath": "src/channels/plugins/types.plugin.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/imessage/runtime-api.ts",
"line": 15,
"kind": "export",
"specifier": "../../src/channels/plugins/media-limits.js",
"resolvedPath": "src/channels/plugins/media-limits.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/imessage/runtime-api.ts",
"line": 19,
"kind": "export",
"specifier": "../../src/channels/plugins/normalize/imessage.js",
"resolvedPath": "src/channels/plugins/normalize/imessage.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/imessage/runtime-api.ts",
"line": 20,
"kind": "export",
"specifier": "../../src/config/zod-schema.providers-core.js",
"resolvedPath": "src/config/zod-schema.providers-core.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/directory-config.ts",
"line": 8,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"specifier": "../../../src/channels/plugins/normalize/slack.js",
"resolvedPath": "src/channels/plugins/normalize/slack.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 24,
"file": "extensions/slack/src/directory-config.ts",
"line": 9,
"kind": "import",
"specifier": "../../../src/cli/command-format.js",
"resolvedPath": "src/cli/command-format.js",
"specifier": "../../../src/channels/read-only-account-inspect.js",
"resolvedPath": "src/channels/read-only-account-inspect.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 25,
"file": "extensions/slack/src/directory-config.ts",
"line": 10,
"kind": "import",
"specifier": "../../../src/channels/read-only-account-inspect.slack.runtime.js",
"resolvedPath": "src/channels/read-only-account-inspect.slack.runtime.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/runtime-api.ts",
"line": 1,
"kind": "export",
"specifier": "../../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 29,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
"file": "extensions/slack/src/runtime-api.ts",
"line": 2,
"kind": "export",
"specifier": "../../../src/config/types.slack.js",
"resolvedPath": "src/config/types.slack.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/brave/src/brave-web-search-provider.ts",
"line": 30,
"kind": "import",
"specifier": "../../../src/security/external-content.js",
"resolvedPath": "src/security/external-content.js",
"reason": "imports core src path outside plugin-sdk from an extension"
"file": "extensions/slack/src/runtime-api.ts",
"line": 3,
"kind": "export",
"specifier": "../../../src/channels/plugins/types.js",
"resolvedPath": "src/channels/plugins/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/runtime-api.ts",
"line": 38,
"file": "extensions/slack/src/runtime-api.ts",
"line": 19,
"kind": "export",
"specifier": "../../../src/channels/plugins/normalize/slack.js",
"resolvedPath": "src/channels/plugins/normalize/slack.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/runtime-api.ts",
"line": 23,
"kind": "export",
"specifier": "../../../src/channels/account-snapshot-fields.js",
"resolvedPath": "src/channels/account-snapshot-fields.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/runtime-api.ts",
"line": 24,
"kind": "export",
"specifier": "../../../src/config/zod-schema.providers-core.js",
"resolvedPath": "src/config/zod-schema.providers-core.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/runtime-api.ts",
"line": 32,
"kind": "export",
"specifier": "../../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/slack/src/runtime-api.ts",
"line": 33,
"kind": "export",
"specifier": "../../../src/agents/date-time.js",
"resolvedPath": "src/agents/date-time.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/runtime-api.ts",
"line": 39,
"kind": "export",
"specifier": "../../../src/agents/sandbox-paths.js",
"resolvedPath": "src/agents/sandbox-paths.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/runtime-api.ts",
"line": 41,
"kind": "export",
"specifier": "../../../src/polls.js",
"resolvedPath": "src/polls.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/runtime-api.ts",
"line": 42,
"kind": "export",
"specifier": "../../../src/config/types.js",
"resolvedPath": "src/config/types.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/discord/src/runtime-api.ts",
"line": 47,
"kind": "export",
"specifier": "../../../src/config/types.secrets.js",
"resolvedPath": "src/config/types.secrets.js",
"reason": "re-exports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/firecrawl/src/firecrawl-search-provider.ts",
"line": 5,
"file": "extensions/telegram/src/directory-config.ts",
"line": 9,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"specifier": "../../../src/channels/read-only-account-inspect.js",
"resolvedPath": "src/channels/read-only-account-inspect.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/firecrawl/src/firecrawl-search-provider.ts",
"file": "extensions/telegram/src/directory-config.ts",
"line": 10,
"kind": "import",
"specifier": "../../../src/channels/read-only-account-inspect.telegram.runtime.js",
"resolvedPath": "src/channels/read-only-account-inspect.telegram.runtime.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/whatsapp/src/directory-config.ts",
"line": 6,
"kind": "import",
"specifier": "../../../src/plugins/enable.js",
"resolvedPath": "src/plugins/enable.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/firecrawl/src/firecrawl-search-provider.ts",
"line": 7,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 2,
"kind": "import",
"specifier": "../../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 3,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-citation-redirect.js",
"resolvedPath": "src/agents/tools/web-search-citation-redirect.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 4,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 17,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 21,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 22,
"kind": "import",
"specifier": "../../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 26,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/google/src/gemini-web-search-provider.ts",
"line": 27,
"kind": "import",
"specifier": "../../../src/security/external-content.js",
"resolvedPath": "src/security/external-content.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 2,
"kind": "import",
"specifier": "../../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 3,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 16,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 20,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 21,
"kind": "import",
"specifier": "../../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 25,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/moonshot/src/kimi-web-search-provider.ts",
"line": 26,
"kind": "import",
"specifier": "../../../src/security/external-content.js",
"resolvedPath": "src/security/external-content.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 6,
"kind": "import",
"specifier": "../../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 7,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 25,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 29,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 30,
"kind": "import",
"specifier": "../../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 35,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/perplexity/src/perplexity-web-search-provider.ts",
"line": 36,
"kind": "import",
"specifier": "../../../src/security/external-content.js",
"resolvedPath": "src/security/external-content.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 2,
"kind": "import",
"specifier": "../../../src/agents/tools/common.js",
"resolvedPath": "src/agents/tools/common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 3,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 16,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-common.js",
"resolvedPath": "src/agents/tools/web-search-provider-common.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 20,
"kind": "import",
"specifier": "../../../src/agents/tools/web-search-provider-config.js",
"resolvedPath": "src/agents/tools/web-search-provider-config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 21,
"kind": "import",
"specifier": "../../../src/config/config.js",
"resolvedPath": "src/config/config.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 25,
"kind": "import",
"specifier": "../../../src/plugins/types.js",
"resolvedPath": "src/plugins/types.js",
"reason": "imports core src path outside plugin-sdk from an extension"
},
{
"file": "extensions/xai/src/grok-web-search-provider.ts",
"line": 26,
"kind": "import",
"specifier": "../../../src/security/external-content.js",
"resolvedPath": "src/security/external-content.js",
"specifier": "../../../src/whatsapp/normalize.js",
"resolvedPath": "src/whatsapp/normalize.js",
"reason": "imports core src path outside plugin-sdk from an extension"
}
]