Files
openclaw/docs/.generated/plugin-sdk-api-baseline.json
Josh Avant 6ade9c474c feat(hooks): add async requireApproval to before_tool_call (#55339)
* Plugins: add native ask dialog for before_tool_call hooks

Extend the before_tool_call plugin hook with a requireApproval return field
that pauses agent execution and waits for real user approval via channels
(Telegram, Discord, /approve command) instead of relying on the agent to
cooperate with a soft block.

- Add requireApproval field to PluginHookBeforeToolCallResult with id, title,
  description, severity, timeout, and timeoutBehavior options
- Extend runModifyingHook merge callback to receive hook registration so
  mergers can stamp pluginId; always invoke merger even for the first result
- Make ExecApprovalManager generic so it can be reused for plugin approvals
- Add plugin.approval.request/waitDecision/resolve gateway methods with
  schemas, scope guards, and broadcast events
- Handle requireApproval in pi-tools via two-phase gateway RPC with fallback
  to soft block when the gateway is unavailable
- Extend the exec approval forwarder with plugin approval message builders
  and forwarding methods
- Update /approve command to fall back to plugin.approval.resolve when exec
  approval lookup fails
- Document before_tool_call requireApproval in hooks docs and unified
  /approve behavior in exec-approvals docs

* Plugins: simplify plugin approval code

- Extract mergeParamsWithApprovalOverrides helper to deduplicate param
  merge logic in before_tool_call hook handling
- Use idiomatic conditional spread syntax in toolContext construction
- Extract callApprovalMethod helper in /approve command to eliminate
  duplicated callGateway calls
- Simplify plugin approval schema by removing unnecessary Type.Union
  with Type.Null on optional fields
- Extract normalizeTrimmedString helper for turn source field trimming

* Tests: add plugin approval wiring and /approve fallback coverage

Fix 3 broken assertions expecting old "Exec approval" message text.
Add tests for the /approve command's exec→plugin fallback path,
plugin approval method registration and scope authorization, and
handler factory key verification.

* UI: wire plugin approval events into the exec approval overlay

Handle plugin.approval.requested and plugin.approval.resolved gateway
events by extending the existing exec approval queue with a kind
discriminator. Plugin approvals reuse the same overlay, queue management,
and expiry timer, with branched rendering for plugin-specific content
(title, description, severity). The decision handler routes resolve calls
to the correct gateway method based on kind.

* fix: read plugin approval fields from nested request payload

The gateway broadcasts plugin approval payloads with title, description,
severity, pluginId, agentId, and sessionKey nested inside the request
object (PluginApprovalRequestPayload), not at the top level. Fix the
parser to read from the correct location so the overlay actually appears.

* feat: invoke plugin onResolution callback after approval decision

Adds onResolution to the requireApproval type and invokes it after
the user resolves the approval dialog, enabling plugins to react to
allow-always vs allow-once decisions.

* docs: add onResolution callback to requireApproval hook documentation

* test: fix /approve assertion for unified approval response text

* docs: regenerate plugin SDK API baseline

* docs: add changelog entry for plugin approval hooks

* fix: harden plugin approval hook reliability

- Add APPROVAL_NOT_FOUND error code so /approve fallback uses structured
  matching instead of fragile string comparison
- Check block before requireApproval so higher-priority plugin blocks
  cannot be overridden by a lower-priority approval
- Race waitDecision against abort signal so users are not stuck waiting
  for the full approval timeout after cancelling a run
- Use null consistently for missing pluginDescription instead of
  converting to undefined
- Add comments explaining the +10s timeout buffer on gateway RPCs

* docs: document block > requireApproval precedence in hooks

* fix: address Phase 1 critical correctness issues for plugin approval hooks

- Fix timeout-allow param bug: return merged hook params instead of
  original params when timeoutBehavior is "allow", preventing security
  plugins from having their parameter rewrites silently discarded.

- Host-generate approval IDs: remove plugin-provided id field from the
  requireApproval type, gateway request, and protocol schema. Server
  always generates IDs via randomUUID() to prevent forged/predictable
  ID attacks.

- Define onResolution semantics: add PluginApprovalResolutions constants
  and PluginApprovalResolution type. onResolution callback now fires on
  every exit path (allow, deny, timeout, abort, gateway error, no-ID).
  Decision branching uses constants instead of hard-coded strings.

- Fix pre-existing test infrastructure issues: bypass CJS mock cache for
  getGlobalHookRunner global singleton, reset gateway mock between tests,
  fix hook merger priority ordering in block+requireApproval test.

* fix: tighten plugin approval schema and add kind-prefixed IDs

Harden the plugin approval request schema: restrict severity to
enum (info|warning|critical), cap timeoutMs at 600s, limit title
to 80 chars and description to 256 chars. Prefix plugin approval
IDs with `plugin:` so /approve routing can distinguish them from
exec approvals deterministically instead of relying on fallback.

* fix: address remaining PR feedback (Phases 1-3 source changes)

* chore: regenerate baselines and protocol artifacts

* fix: exclude requesting connection from approval-client availability check

hasExecApprovalClients() counted the backend connection that issued
the plugin.approval.request RPC as an approval client, preventing
the no-approval-route fast path from firing in headless setups and
causing 120s stalls. Pass the caller's connId so it is skipped.
Applied to both plugin and exec approval handlers.

* Approvals: complete Discord parity and compatibility fallback

* Hooks: make plugin approval onResolution non-blocking

* Hooks: freeze params after approval owner is selected

* Gateway: harden plugin approval request/decision flow

* Discord/Telegram: fix plugin approval delivery parity

* Approvals: fix Telegram plugin approval edge cases

* Auto-reply: enforce Telegram plugin approval approvers

* Approvals: harden Telegram and plugin resolve policies

* Agents: static-import gateway approval call and fix e2e mock loading

* Auto-reply: restore /approve Telegram import boundary

* Approvals: fail closed on no-route and neutralize Discord mentions

* docs: refresh generated config and plugin API baselines

---------

Co-authored-by: Václav Belák <vaclav.belak@gendigital.com>
2026-03-27 09:06:40 -07:00

5433 lines
296 KiB
JSON

{
"generatedBy": "scripts/generate-plugin-sdk-api-baseline.ts",
"modules": [
{
"category": "legacy",
"entrypoint": "index",
"exports": [
{
"declaration": "export function delegateCompactionToRuntime(params: { sessionId: string; sessionKey?: string | undefined; sessionFile: string; tokenBudget?: number | undefined; force?: boolean | undefined; currentTokenCount?: number | undefined; compactionTarget?: \"budget\" | ... 1 more ... | undefined; customInstructions?: string | undefined; runtimeContext?: ContextEngineRuntimeContext | undefined; }): Promise<...>;",
"exportName": "delegateCompactionToRuntime",
"kind": "function",
"source": {
"line": 16,
"path": "src/context-engine/delegate.ts"
}
},
{
"declaration": "export function emptyPluginConfigSchema(): OpenClawPluginConfigSchema;",
"exportName": "emptyPluginConfigSchema",
"kind": "function",
"source": {
"line": 108,
"path": "src/plugins/config-schema.ts"
}
},
{
"declaration": "export function onDiagnosticEvent(listener: (evt: DiagnosticEventPayload) => void): () => void;",
"exportName": "onDiagnosticEvent",
"kind": "function",
"source": {
"line": 229,
"path": "src/infra/diagnostic-events.ts"
}
},
{
"declaration": "export function registerContextEngine(id: string, factory: ContextEngineFactory): ContextEngineRegistrationResult;",
"exportName": "registerContextEngine",
"kind": "function",
"source": {
"line": 377,
"path": "src/context-engine/registry.ts"
}
},
{
"declaration": "export type AnyAgentTool = AnyAgentTool;",
"exportName": "AnyAgentTool",
"kind": "type",
"source": {
"line": 9,
"path": "src/agents/tools/common.ts"
}
},
{
"declaration": "export type ChannelAccountSnapshot = ChannelAccountSnapshot;",
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
"line": 144,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentTool = ChannelAgentTool;",
"exportName": "ChannelAgentTool",
"kind": "type",
"source": {
"line": 18,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentToolFactory = ChannelAgentToolFactory;",
"exportName": "ChannelAgentToolFactory",
"kind": "type",
"source": {
"line": 23,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelCapabilities = ChannelCapabilities;",
"exportName": "ChannelCapabilities",
"kind": "type",
"source": {
"line": 230,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelConfigSchema = ChannelConfigSchema;",
"exportName": "ChannelConfigSchema",
"kind": "type",
"source": {
"line": 68,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type ChannelConfigUiHint = ChannelConfigUiHint;",
"exportName": "ChannelConfigUiHint",
"kind": "type",
"source": {
"line": 37,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingConversationRef = ChannelConfiguredBindingConversationRef;",
"exportName": "ChannelConfiguredBindingConversationRef",
"kind": "type",
"source": {
"line": 569,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingMatch = ChannelConfiguredBindingMatch;",
"exportName": "ChannelConfiguredBindingMatch",
"kind": "type",
"source": {
"line": 574,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingProvider = ChannelConfiguredBindingProvider;",
"exportName": "ChannelConfiguredBindingProvider",
"kind": "type",
"source": {
"line": 578,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelGatewayContext = ChannelGatewayContext<ResolvedAccount>;",
"exportName": "ChannelGatewayContext",
"kind": "type",
"source": {
"line": 243,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelId = ChannelId;",
"exportName": "ChannelId",
"kind": "type",
"source": {
"line": 13,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;",
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
"line": 516,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionContext = ChannelMessageActionContext;",
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
"line": 482,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";",
"exportName": "ChannelMessageActionName",
"kind": "type",
"source": {
"line": 6,
"path": "src/channels/plugins/types.ts"
}
},
{
"declaration": "export type ChannelPlugin = ChannelPlugin<ResolvedAccount, Probe, Audit>;",
"exportName": "ChannelPlugin",
"kind": "type",
"source": {
"line": 76,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type ChannelSetupAdapter = ChannelSetupAdapter;",
"exportName": "ChannelSetupAdapter",
"kind": "type",
"source": {
"line": 60,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelSetupInput = ChannelSetupInput;",
"exportName": "ChannelSetupInput",
"kind": "type",
"source": {
"line": 63,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelSetupWizard = ChannelSetupWizard;",
"exportName": "ChannelSetupWizard",
"kind": "type",
"source": {
"line": 247,
"path": "src/channels/plugins/setup-wizard.ts"
}
},
{
"declaration": "export type ChannelSetupWizardAllowFromEntry = ChannelSetupWizardAllowFromEntry;",
"exportName": "ChannelSetupWizardAllowFromEntry",
"kind": "type",
"source": {
"line": 154,
"path": "src/channels/plugins/setup-wizard.ts"
}
},
{
"declaration": "export type ChannelStatusIssue = ChannelStatusIssue;",
"exportName": "ChannelStatusIssue",
"kind": "type",
"source": {
"line": 100,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "ClawdbotConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type CliBackendConfig = CliBackendConfig;",
"exportName": "CliBackendConfig",
"kind": "type",
"source": {
"line": 47,
"path": "src/config/types.agent-defaults.ts"
}
},
{
"declaration": "export type CliBackendPlugin = CliBackendPlugin;",
"exportName": "CliBackendPlugin",
"kind": "type",
"source": {
"line": 1452,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type CompiledConfiguredBinding = CompiledConfiguredBinding;",
"exportName": "CompiledConfiguredBinding",
"kind": "type",
"source": {
"line": 38,
"path": "src/channels/plugins/binding-types.ts"
}
},
{
"declaration": "export type ConfiguredBindingConversation = ConversationRef;",
"exportName": "ConfiguredBindingConversation",
"kind": "type",
"source": {
"line": 13,
"path": "src/channels/plugins/binding-types.ts"
}
},
{
"declaration": "export type ConfiguredBindingResolution = ConfiguredBindingResolution;",
"exportName": "ConfiguredBindingResolution",
"kind": "type",
"source": {
"line": 49,
"path": "src/channels/plugins/binding-types.ts"
}
},
{
"declaration": "export type ContextEngineFactory = ContextEngineFactory;",
"exportName": "ContextEngineFactory",
"kind": "type",
"source": {
"line": 10,
"path": "src/context-engine/registry.ts"
}
},
{
"declaration": "export type ContextEngineInfo = ContextEngineInfo;",
"exportName": "ContextEngineInfo",
"kind": "type",
"source": {
"line": 46,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type ContextEngineMaintenanceResult = TranscriptRewriteResult;",
"exportName": "ContextEngineMaintenanceResult",
"kind": "type",
"source": {
"line": 84,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type ContextEngineRuntimeContext = ContextEngineRuntimeContext;",
"exportName": "ContextEngineRuntimeContext",
"kind": "type",
"source": {
"line": 86,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type DiagnosticEventPayload = DiagnosticEventPayload;",
"exportName": "DiagnosticEventPayload",
"kind": "type",
"source": {
"line": 150,
"path": "src/infra/diagnostic-events.ts"
}
},
{
"declaration": "export type GeneratedImageAsset = GeneratedImageAsset;",
"exportName": "GeneratedImageAsset",
"kind": "type",
"source": {
"line": 4,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type HookEntry = HookEntry;",
"exportName": "HookEntry",
"kind": "type",
"source": {
"line": 47,
"path": "src/hooks/types.ts"
}
},
{
"declaration": "export type ImageGenerationProvider = ImageGenerationProvider;",
"exportName": "ImageGenerationProvider",
"kind": "type",
"source": {
"line": 66,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type ImageGenerationRequest = ImageGenerationRequest;",
"exportName": "ImageGenerationRequest",
"kind": "type",
"source": {
"line": 21,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type ImageGenerationResolution = ImageGenerationResolution;",
"exportName": "ImageGenerationResolution",
"kind": "type",
"source": {
"line": 12,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type ImageGenerationResult = ImageGenerationResult;",
"exportName": "ImageGenerationResult",
"kind": "type",
"source": {
"line": 36,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type ImageGenerationSourceImage = ImageGenerationSourceImage;",
"exportName": "ImageGenerationSourceImage",
"kind": "type",
"source": {
"line": 14,
"path": "src/image-generation/types.ts"
}
},
{
"declaration": "export type MediaUnderstandingProviderPlugin = MediaUnderstandingProvider;",
"exportName": "MediaUnderstandingProviderPlugin",
"kind": "type",
"source": {
"line": 1105,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "OpenClawConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type OpenClawPluginApi = OpenClawPluginApi;",
"exportName": "OpenClawPluginApi",
"kind": "type",
"source": {
"line": 1496,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginConfigSchema = OpenClawPluginConfigSchema;",
"exportName": "OpenClawPluginConfigSchema",
"kind": "type",
"source": {
"line": 99,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginLogger = PluginLogger;",
"exportName": "PluginLogger",
"kind": "type",
"source": {
"line": 70,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginRuntime = PluginRuntime;",
"exportName": "PluginRuntime",
"kind": "type",
"source": {
"line": 54,
"path": "src/plugins/runtime/types.ts"
}
},
{
"declaration": "export type ProviderAuthContext = ProviderAuthContext;",
"exportName": "ProviderAuthContext",
"kind": "type",
"source": {
"line": 170,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthResult = ProviderAuthResult;",
"exportName": "ProviderAuthResult",
"kind": "type",
"source": {
"line": 155,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderRuntimeModel = ProviderRuntimeModel;",
"exportName": "ProviderRuntimeModel",
"kind": "type",
"source": {
"line": 310,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ReplyPayload = ReplyPayload;",
"exportName": "ReplyPayload",
"kind": "type",
"source": {
"line": 76,
"path": "src/auto-reply/types.ts"
}
},
{
"declaration": "export type RuntimeEnv = RuntimeEnv;",
"exportName": "RuntimeEnv",
"kind": "type",
"source": {
"line": 4,
"path": "src/runtime.ts"
}
},
{
"declaration": "export type RuntimeLogger = RuntimeLogger;",
"exportName": "RuntimeLogger",
"kind": "type",
"source": {
"line": 7,
"path": "src/plugins/runtime/types-core.ts"
}
},
{
"declaration": "export type SecretInput = SecretInput;",
"exportName": "SecretInput",
"kind": "type",
"source": {
"line": 16,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export type SecretRef = SecretRef;",
"exportName": "SecretRef",
"kind": "type",
"source": {
"line": 10,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export type SpeechProviderPlugin = SpeechProviderPlugin;",
"exportName": "SpeechProviderPlugin",
"kind": "type",
"source": {
"line": 1080,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type StatefulBindingTargetDescriptor = StatefulBindingTargetDescriptor;",
"exportName": "StatefulBindingTargetDescriptor",
"kind": "type",
"source": {
"line": 17,
"path": "src/channels/plugins/binding-types.ts"
}
},
{
"declaration": "export type StatefulBindingTargetDriver = StatefulBindingTargetDriver;",
"exportName": "StatefulBindingTargetDriver",
"kind": "type",
"source": {
"line": 15,
"path": "src/channels/plugins/stateful-target-drivers.ts"
}
},
{
"declaration": "export type StatefulBindingTargetReadyResult = StatefulBindingTargetReadyResult;",
"exportName": "StatefulBindingTargetReadyResult",
"kind": "type",
"source": {
"line": 7,
"path": "src/channels/plugins/stateful-target-drivers.ts"
}
},
{
"declaration": "export type StatefulBindingTargetResetResult = StatefulBindingTargetResetResult;",
"exportName": "StatefulBindingTargetResetResult",
"kind": "type",
"source": {
"line": 11,
"path": "src/channels/plugins/stateful-target-drivers.ts"
}
},
{
"declaration": "export type StatefulBindingTargetSessionResult = StatefulBindingTargetSessionResult;",
"exportName": "StatefulBindingTargetSessionResult",
"kind": "type",
"source": {
"line": 8,
"path": "src/channels/plugins/stateful-target-drivers.ts"
}
},
{
"declaration": "export type SubagentRunParams = SubagentRunParams;",
"exportName": "SubagentRunParams",
"kind": "type",
"source": {
"line": 8,
"path": "src/plugins/runtime/types.ts"
}
},
{
"declaration": "export type SubagentRunResult = SubagentRunResult;",
"exportName": "SubagentRunResult",
"kind": "type",
"source": {
"line": 19,
"path": "src/plugins/runtime/types.ts"
}
},
{
"declaration": "export type TranscriptRewriteReplacement = TranscriptRewriteReplacement;",
"exportName": "TranscriptRewriteReplacement",
"kind": "type",
"source": {
"line": 61,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type TranscriptRewriteRequest = TranscriptRewriteRequest;",
"exportName": "TranscriptRewriteRequest",
"kind": "type",
"source": {
"line": 68,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type TranscriptRewriteResult = TranscriptRewriteResult;",
"exportName": "TranscriptRewriteResult",
"kind": "type",
"source": {
"line": 73,
"path": "src/context-engine/types.ts"
}
},
{
"declaration": "export type WizardPrompter = WizardPrompter;",
"exportName": "WizardPrompter",
"kind": "type",
"source": {
"line": 37,
"path": "src/wizard/prompts.ts"
}
},
{
"declaration": "export interface ContextEngine",
"exportName": "ContextEngine",
"kind": "interface",
"source": {
"line": 104,
"path": "src/context-engine/types.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk",
"source": {
"line": 1,
"path": "src/plugin-sdk/index.ts"
}
},
{
"category": "utilities",
"entrypoint": "allow-from",
"exports": [
{
"declaration": "export function addAllowlistUserEntriesFromConfigEntry(target: Set<string>, entry: unknown): void;",
"exportName": "addAllowlistUserEntriesFromConfigEntry",
"kind": "function",
"source": {
"line": 130,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export function buildAllowlistResolutionSummary<T extends AllowlistUserResolutionLike>(resolvedUsers: T[], opts?: { formatResolved?: ((entry: T) => string) | undefined; formatUnresolved?: ((entry: T) => string) | undefined; } | undefined): { ...; };",
"exportName": "buildAllowlistResolutionSummary",
"kind": "function",
"source": {
"line": 36,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export function canonicalizeAllowlistWithResolvedIds<T extends AllowlistUserResolutionLike>(params: { existing?: (string | number)[] | undefined; resolvedMap: Map<string, T>; }): string[];",
"exportName": "canonicalizeAllowlistWithResolvedIds",
"kind": "function",
"source": {
"line": 73,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export function compileAllowlist(entries: readonly string[]): CompiledAllowlist;",
"exportName": "compileAllowlist",
"kind": "function",
"source": {
"line": 30,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function firstDefined<T>(...values: (T | undefined)[]): (T & ({} | null)) | undefined;",
"exportName": "firstDefined",
"kind": "function",
"source": {
"line": 29,
"path": "src/channels/allow-from.ts"
}
},
{
"declaration": "export function formatAllowFromLowercase(params: { allowFrom: (string | number)[]; stripPrefixRe?: RegExp | undefined; }): string[];",
"exportName": "formatAllowFromLowercase",
"kind": "function",
"source": {
"line": 31,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function formatAllowlistMatchMeta(match?: { matchKey?: string | undefined; matchSource?: string | undefined; } | null | undefined): string;",
"exportName": "formatAllowlistMatchMeta",
"kind": "function",
"source": {
"line": 24,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function formatNormalizedAllowFromEntries(params: { allowFrom: (string | number)[]; normalizeEntry: (entry: string) => string | null | undefined; }): string[];",
"exportName": "formatNormalizedAllowFromEntries",
"kind": "function",
"source": {
"line": 43,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function isAllowedParsedChatSender<TParsed extends ParsedChatAllowTarget>(params: { allowFrom: (string | number)[]; sender: string; chatId?: number | null | undefined; chatGuid?: string | null | undefined; chatIdentifier?: string | null | undefined; normalizeSender: (sender: string) => string; parseAllowTarget: (entry: string) => TParsed; }): boolean;",
"exportName": "isAllowedParsedChatSender",
"kind": "function",
"source": {
"line": 81,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function isNormalizedSenderAllowed(params: { senderId: string | number; allowFrom: (string | number)[]; stripPrefixRe?: RegExp | undefined; }): boolean;",
"exportName": "isNormalizedSenderAllowed",
"kind": "function",
"source": {
"line": 55,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function isSenderIdAllowed(allow: { entries: string[]; hasWildcard: boolean; hasEntries: boolean; }, senderId: string | undefined, allowWhenEmpty: boolean): boolean;",
"exportName": "isSenderIdAllowed",
"kind": "function",
"source": {
"line": 38,
"path": "src/channels/allow-from.ts"
}
},
{
"declaration": "export function mapAllowlistResolutionInputs<T>(params: { inputs: string[]; mapInput: (input: string) => T | Promise<T>; }): Promise<T[]>;",
"exportName": "mapAllowlistResolutionInputs",
"kind": "function",
"source": {
"line": 151,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function mapBasicAllowlistResolutionEntries(entries: BasicAllowlistResolutionEntry[]): BasicAllowlistResolutionEntry[];",
"exportName": "mapBasicAllowlistResolutionEntries",
"kind": "function",
"source": {
"line": 138,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export function mergeAllowlist(params: { existing?: (string | number)[] | undefined; additions: string[]; }): string[];",
"exportName": "mergeAllowlist",
"kind": "function",
"source": {
"line": 29,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export function mergeDmAllowFromSources(params: { allowFrom?: (string | number)[] | undefined; storeAllowFrom?: (string | number)[] | undefined; dmPolicy?: string | undefined; }): string[];",
"exportName": "mergeDmAllowFromSources",
"kind": "function",
"source": {
"line": 1,
"path": "src/channels/allow-from.ts"
}
},
{
"declaration": "export function patchAllowlistUsersInConfigEntries<T extends AllowlistUserResolutionLike, TEntries extends Record<string, unknown>>(params: { entries: TEntries; resolvedMap: Map<string, T>; strategy?: \"merge\" | \"canonicalize\" | undefined; }): TEntries;",
"exportName": "patchAllowlistUsersInConfigEntries",
"kind": "function",
"source": {
"line": 92,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export function resolveAllowlistCandidates<TSource extends string>(params: { compiledAllowlist: CompiledAllowlist; candidates: { value?: string | undefined; source: TSource; }[]; }): AllowlistMatch<TSource>;",
"exportName": "resolveAllowlistCandidates",
"kind": "function",
"source": {
"line": 44,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function resolveAllowlistMatchByCandidates<TSource extends string>(params: { allowList: readonly string[]; candidates: { value?: string | undefined; source: TSource; }[]; }): AllowlistMatch<TSource>;",
"exportName": "resolveAllowlistMatchByCandidates",
"kind": "function",
"source": {
"line": 76,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function resolveAllowlistMatchSimple(params: { allowFrom: readonly (string | number)[]; senderId: string; senderName?: string | null | undefined; allowNameMatching?: boolean | undefined; }): AllowlistMatch<\"name\" | \"id\" | \"wildcard\">;",
"exportName": "resolveAllowlistMatchSimple",
"kind": "function",
"source": {
"line": 86,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function resolveCompiledAllowlistMatch<TSource extends string>(params: { compiledAllowlist: CompiledAllowlist; candidates: { value?: string | undefined; source: TSource; }[]; }): AllowlistMatch<TSource>;",
"exportName": "resolveCompiledAllowlistMatch",
"kind": "function",
"source": {
"line": 63,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export function resolveGroupAllowFromSources(params: { allowFrom?: (string | number)[] | undefined; groupAllowFrom?: (string | number)[] | undefined; fallbackToAllowFrom?: boolean | undefined; }): string[];",
"exportName": "resolveGroupAllowFromSources",
"kind": "function",
"source": {
"line": 12,
"path": "src/channels/allow-from.ts"
}
},
{
"declaration": "export function summarizeMapping(label: string, mapping: string[], unresolved: string[], runtime: RuntimeEnv): void;",
"exportName": "summarizeMapping",
"kind": "function",
"source": {
"line": 146,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export type AllowlistMatch = AllowlistMatch<TSource>;",
"exportName": "AllowlistMatch",
"kind": "type",
"source": {
"line": 13,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export type AllowlistMatchSource = AllowlistMatchSource;",
"exportName": "AllowlistMatchSource",
"kind": "type",
"source": {
"line": 1,
"path": "src/channels/allowlist-match.ts"
}
},
{
"declaration": "export type AllowlistUserResolutionLike = AllowlistUserResolutionLike;",
"exportName": "AllowlistUserResolutionLike",
"kind": "type",
"source": {
"line": 5,
"path": "src/channels/allowlists/resolve-utils.ts"
}
},
{
"declaration": "export type BasicAllowlistResolutionEntry = BasicAllowlistResolutionEntry;",
"exportName": "BasicAllowlistResolutionEntry",
"kind": "type",
"source": {
"line": 129,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"declaration": "export type CompiledAllowlist = CompiledAllowlist;",
"exportName": "CompiledAllowlist",
"kind": "type",
"source": {
"line": 19,
"path": "src/channels/allowlist-match.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/allow-from",
"source": {
"line": 1,
"path": "src/plugin-sdk/allow-from.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-actions",
"exports": [
{
"declaration": "export function createMessageToolButtonsSchema(): TSchema;",
"exportName": "createMessageToolButtonsSchema",
"kind": "function",
"source": {
"line": 12,
"path": "src/plugin-sdk/channel-actions.ts"
}
},
{
"declaration": "export function createMessageToolCardSchema(): TSchema;",
"exportName": "createMessageToolCardSchema",
"kind": "function",
"source": {
"line": 30,
"path": "src/plugin-sdk/channel-actions.ts"
}
},
{
"declaration": "export function createUnionActionGate<TAccount, TKey extends string>(accounts: readonly TAccount[], createGate: (account: TAccount) => OptionalDefaultGate<TKey>): OptionalDefaultGate<TKey>;",
"exportName": "createUnionActionGate",
"kind": "function",
"source": {
"line": 13,
"path": "src/channels/plugins/actions/shared.ts"
}
},
{
"declaration": "export function listTokenSourcedAccounts<TAccount extends TokenSourcedAccount>(accounts: readonly TAccount[]): TAccount[];",
"exportName": "listTokenSourcedAccounts",
"kind": "function",
"source": {
"line": 7,
"path": "src/channels/plugins/actions/shared.ts"
}
},
{
"declaration": "export function optionalStringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TOptional<TUnsafe<T[number]>>;",
"exportName": "optionalStringEnum",
"kind": "function",
"source": {
"line": 31,
"path": "src/agents/schema/typebox.ts"
}
},
{
"declaration": "export function resolveReactionMessageId(params: { args: Record<string, unknown>; toolContext?: ReactionToolContext | undefined; }): string | number | undefined;",
"exportName": "resolveReactionMessageId",
"kind": "function",
"source": {
"line": 7,
"path": "src/channels/plugins/actions/reaction-message-id.ts"
}
},
{
"declaration": "export function stringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TUnsafe<T[number]>;",
"exportName": "stringEnum",
"kind": "function",
"source": {
"line": 15,
"path": "src/agents/schema/typebox.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-actions",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-actions.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-config-schema",
"exports": [
{
"declaration": "export function buildCatchallMultiAccountChannelSchema<T extends ExtendableZodObject>(accountSchema: T): T;",
"exportName": "buildCatchallMultiAccountChannelSchema",
"kind": "function",
"source": {
"line": 31,
"path": "src/channels/plugins/config-schema.ts"
}
},
{
"declaration": "export function buildChannelConfigSchema(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, options?: BuildChannelConfigSchemaOptions | undefined): ChannelConfigSchema;",
"exportName": "buildChannelConfigSchema",
"kind": "function",
"source": {
"line": 75,
"path": "src/channels/plugins/config-schema.ts"
}
},
{
"declaration": "export function buildNestedDmConfigSchema(): ZodOptional<ZodObject<{ enabled: ZodOptional<ZodBoolean>; policy: ZodOptional<ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: ZodOptional<...>; }, $strip>>;",
"exportName": "buildNestedDmConfigSchema",
"kind": "function",
"source": {
"line": 21,
"path": "src/channels/plugins/config-schema.ts"
}
},
{
"declaration": "export const AllowFromListSchema: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;",
"exportName": "AllowFromListSchema",
"kind": "const",
"source": {
"line": 19,
"path": "src/channels/plugins/config-schema.ts"
}
},
{
"declaration": "export const BlockStreamingCoalesceSchema: z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>;",
"exportName": "BlockStreamingCoalesceSchema",
"kind": "const",
"source": {
"line": 339,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const DiscordConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; token: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; proxy: z.ZodOptional<z.ZodString>; allowBots: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"mentions\">]>>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; streamMode: z.ZodOptional<z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; }>>; draftChunk: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"paragraph\">, z.ZodLiteral<\"newline\">, z.ZodLiteral<\"sentence\">]>>; }, z.core.$strict>>; maxLinesPerMessage: z.ZodOptional<z.ZodNumber>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; retry: z.ZodOptional<z.ZodObject<{ attempts: z.ZodOptional<z.ZodNumber>; minDelayMs: z.ZodOptional<z.ZodNumber>; maxDelayMs: z.ZodOptional<z.ZodNumber>; jitter: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; stickers: z.ZodOptional<z.ZodBoolean>; emojiUploads: z.ZodOptional<z.ZodBoolean>; stickerUploads: z.ZodOptional<z.ZodBoolean>; polls: z.ZodOptional<z.ZodBoolean>; permissions: z.ZodOptional<z.ZodBoolean>; messages: z.ZodOptional<z.ZodBoolean>; threads: z.ZodOptional<z.ZodBoolean>; pins: z.ZodOptional<z.ZodBoolean>; search: z.ZodOptional<z.ZodBoolean>; memberInfo: z.ZodOptional<z.ZodBoolean>; roleInfo: z.ZodOptional<z.ZodBoolean>; roles: z.ZodOptional<z.ZodBoolean>; channelInfo: z.ZodOptional<z.ZodBoolean>; voiceStatus: z.ZodOptional<z.ZodBoolean>; events: z.ZodOptional<z.ZodBoolean>; moderation: z.ZodOptional<z.ZodBoolean>; channels: z.ZodOptional<z.ZodBoolean>; presence: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; defaultTo: z.ZodOptional<z.ZodString>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; groupEnabled: z.ZodOptional<z.ZodBoolean>; groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; }, z.core.$strict>>; guilds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ slug: z.ZodOptional<z.ZodString>; requireMention: z.ZodOptional<z.ZodBoolean>; ignoreOtherMentions: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; ignoreOtherMentions: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; systemPrompt: z.ZodOptional<z.ZodString>; includeThreadStarter: z.ZodOptional<z.ZodBoolean>; autoThread: z.ZodOptional<z.ZodBoolean>; autoThreadName: z.ZodOptional<z.ZodEnum<{ message: \"message\"; generated: \"generated\"; }>>; autoArchiveDuration: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{ 60: \"60\"; 1440: \"1440\"; 4320: \"4320\"; 10080: \"10080\"; }>, z.ZodLiteral<60>, z.ZodLiteral<1440>, z.ZodLiteral<4320>, z.ZodLiteral<10080>]>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; execApprovals: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; cleanupAfterResolve: z.ZodOptional<z.ZodBoolean>; target: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; dm: \"dm\"; both: \"both\"; }>>; }, z.core.$strict>>; agentComponents: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; ui: z.ZodOptional<z.ZodObject<{ components: z.ZodOptional<z.ZodObject<{ accentColor: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; slashCommand: z.ZodOptional<z.ZodObject<{ ephemeral: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; threadBindings: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; idleHours: z.ZodOptional<z.ZodNumber>; maxAgeHours: z.ZodOptional<z.ZodNumber>; spawnSubagentSessions: z.ZodOptional<z.ZodBoolean>; spawnAcpSessions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; intents: z.ZodOptional<z.ZodObject<{ presence: z.ZodOptional<z.ZodBoolean>; guildMembers: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; voice: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; autoJoin: z.ZodOptional<z.ZodArray<z.ZodObject<{ guildId: z.ZodString; channelId: z.ZodString; }, z.core.$strict>>>; daveEncryption: z.ZodOptional<z.ZodBoolean>; decryptionFailureTolerance: z.ZodOptional<z.ZodNumber>; tts: z.ZodOptional<z.ZodOptional<z.ZodObject<{ auto: z.ZodOptional<z.ZodEnum<{ off: \"off\"; always: \"always\"; inbound: \"inbound\"; tagged: \"tagged\"; }>>; enabled: z.ZodOptional<z.ZodBoolean>; mode: z.ZodOptional<z.ZodEnum<{ all: \"all\"; final: \"final\"; }>>; provider: z.ZodOptional<z.ZodString>; summaryModel: z.ZodOptional<z.ZodString>; modelOverrides: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allowText: z.ZodOptional<z.ZodBoolean>; allowProvider: z.ZodOptional<z.ZodBoolean>; allowVoice: z.ZodOptional<z.ZodBoolean>; allowModelId: z.ZodOptional<z.ZodBoolean>; allowVoiceSettings: z.ZodOptional<z.ZodBoolean>; allowNormalization: z.ZodOptional<z.ZodBoolean>; allowSeed: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; providers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ apiKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>>>; prefsPath: z.ZodOptional<z.ZodString>; maxTextLength: z.ZodOptional<z.ZodNumber>; timeoutMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>; }, z.core.$strict>>; pluralkit: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; token: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; ackReactionScope: z.ZodOptional<z.ZodEnum<{ direct: \"direct\"; off: \"off\"; all: \"all\"; \"group-mentions\": \"group-mentions\"; \"group-all\": \"group-all\"; none: \"none\"; }>>; activity: z.ZodOptional<z.ZodString>; status: z.ZodOptional<z.ZodEnum<{ online: \"online\"; dnd: \"dnd\"; idle: \"idle\"; invisible: \"invisible\"; }>>; autoPresence: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; intervalMs: z.ZodOptional<z.ZodNumber>; minUpdateIntervalMs: z.ZodOptional<z.ZodNumber>; healthyText: z.ZodOptional<z.ZodString>; degradedText: z.ZodOptional<z.ZodString>; exhaustedText: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; activityType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; activityUrl: z.ZodOptional<z.ZodString>; inboundWorker: z.ZodOptional<z.ZodObject<{ runTimeoutMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; eventQueue: z.ZodOptional<z.ZodObject<{ listenerTimeout: z.ZodOptional<z.ZodNumber>; maxQueueSize: z.ZodOptional<z.ZodNumber>; maxConcurrency: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; token: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; proxy: z.ZodOptional<z.ZodString>; allowBots: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"mentions\">]>>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; streamMode: z.ZodOptional<z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; }>>; draftChunk: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"paragraph\">, z.ZodLiteral<\"newline\">, z.ZodLiteral<\"sentence\">]>>; }, z.core.$strict>>; maxLinesPerMessage: z.ZodOptional<z.ZodNumber>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; retry: z.ZodOptional<z.ZodObject<{ attempts: z.ZodOptional<z.ZodNumber>; minDelayMs: z.ZodOptional<z.ZodNumber>; maxDelayMs: z.ZodOptional<z.ZodNumber>; jitter: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; stickers: z.ZodOptional<z.ZodBoolean>; emojiUploads: z.ZodOptional<z.ZodBoolean>; stickerUploads: z.ZodOptional<z.ZodBoolean>; polls: z.ZodOptional<z.ZodBoolean>; permissions: z.ZodOptional<z.ZodBoolean>; messages: z.ZodOptional<z.ZodBoolean>; threads: z.ZodOptional<z.ZodBoolean>; pins: z.ZodOptional<z.ZodBoolean>; search: z.ZodOptional<z.ZodBoolean>; memberInfo: z.ZodOptional<z.ZodBoolean>; roleInfo: z.ZodOptional<z.ZodBoolean>; roles: z.ZodOptional<z.ZodBoolean>; channelInfo: z.ZodOptional<z.ZodBoolean>; voiceStatus: z.ZodOptional<z.ZodBoolean>; events: z.ZodOptional<z.ZodBoolean>; moderation: z.ZodOptional<z.ZodBoolean>; channels: z.ZodOptional<z.ZodBoolean>; presence: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; defaultTo: z.ZodOptional<z.ZodString>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; groupEnabled: z.ZodOptional<z.ZodBoolean>; groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; }, z.core.$strict>>; guilds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ slug: z.ZodOptional<z.ZodString>; requireMention: z.ZodOptional<z.ZodBoolean>; ignoreOtherMentions: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; ignoreOtherMentions: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; systemPrompt: z.ZodOptional<z.ZodString>; includeThreadStarter: z.ZodOptional<z.ZodBoolean>; autoThread: z.ZodOptional<z.ZodBoolean>; autoThreadName: z.ZodOptional<z.ZodEnum<{ message: \"message\"; generated: \"generated\"; }>>; autoArchiveDuration: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{ 60: \"60\"; 1440: \"1440\"; 4320: \"4320\"; 10080: \"10080\"; }>, z.ZodLiteral<60>, z.ZodLiteral<1440>, z.ZodLiteral<4320>, z.ZodLiteral<10080>]>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; execApprovals: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>; agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; cleanupAfterResolve: z.ZodOptional<z.ZodBoolean>; target: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; dm: \"dm\"; both: \"both\"; }>>; }, z.core.$strict>>; agentComponents: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; ui: z.ZodOptional<z.ZodObject<{ components: z.ZodOptional<z.ZodObject<{ accentColor: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>>; slashCommand: z.ZodOptional<z.ZodObject<{ ephemeral: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; threadBindings: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; idleHours: z.ZodOptional<z.ZodNumber>; maxAgeHours: z.ZodOptional<z.ZodNumber>; spawnSubagentSessions: z.ZodOptional<z.ZodBoolean>; spawnAcpSessions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; intents: z.ZodOptional<z.ZodObject<{ presence: z.ZodOptional<z.ZodBoolean>; guildMembers: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; voice: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; autoJoin: z.ZodOptional<z.ZodArray<z.ZodObject<{ guildId: z.ZodString; channelId: z.ZodString; }, z.core.$strict>>>; daveEncryption: z.ZodOptional<z.ZodBoolean>; decryptionFailureTolerance: z.ZodOptional<z.ZodNumber>; tts: z.ZodOptional<z.ZodOptional<z.ZodObject<{ auto: z.ZodOptional<z.ZodEnum<{ off: \"off\"; always: \"always\"; inbound: \"inbound\"; tagged: \"tagged\"; }>>; enabled: z.ZodOptional<z.ZodBoolean>; mode: z.ZodOptional<z.ZodEnum<{ all: \"all\"; final: \"final\"; }>>; provider: z.ZodOptional<z.ZodString>; summaryModel: z.ZodOptional<z.ZodString>; modelOverrides: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allowText: z.ZodOptional<z.ZodBoolean>; allowProvider: z.ZodOptional<z.ZodBoolean>; allowVoice: z.ZodOptional<z.ZodBoolean>; allowModelId: z.ZodOptional<z.ZodBoolean>; allowVoiceSettings: z.ZodOptional<z.ZodBoolean>; allowNormalization: z.ZodOptional<z.ZodBoolean>; allowSeed: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; providers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ apiKey: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodUnknown>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>>>; prefsPath: z.ZodOptional<z.ZodString>; maxTextLength: z.ZodOptional<z.ZodNumber>; timeoutMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>; }, z.core.$strict>>; pluralkit: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; token: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; ackReactionScope: z.ZodOptional<z.ZodEnum<{ direct: \"direct\"; off: \"off\"; all: \"all\"; \"group-mentions\": \"group-mentions\"; \"group-all\": \"group-all\"; none: \"none\"; }>>; activity: z.ZodOptional<z.ZodString>; status: z.ZodOptional<z.ZodEnum<{ online: \"online\"; dnd: \"dnd\"; idle: \"idle\"; invisible: \"invisible\"; }>>; autoPresence: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; intervalMs: z.ZodOptional<z.ZodNumber>; minUpdateIntervalMs: z.ZodOptional<z.ZodNumber>; healthyText: z.ZodOptional<z.ZodString>; degradedText: z.ZodOptional<z.ZodString>; exhaustedText: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; activityType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>; activityUrl: z.ZodOptional<z.ZodString>; inboundWorker: z.ZodOptional<z.ZodObject<{ runTimeoutMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; eventQueue: z.ZodOptional<z.ZodObject<{ listenerTimeout: z.ZodOptional<z.ZodNumber>; maxQueueSize: z.ZodOptional<z.ZodNumber>; maxConcurrency: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "DiscordConfigSchema",
"kind": "const",
"source": {
"line": 677,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const DmConfigSchema: z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>;",
"exportName": "DmConfigSchema",
"kind": "const",
"source": {
"line": 293,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const DmPolicySchema: z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>;",
"exportName": "DmPolicySchema",
"kind": "const",
"source": {
"line": 337,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const GoogleChatConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; allowBots: z.ZodOptional<z.ZodBoolean>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultTo: z.ZodOptional<z.ZodString>; serviceAccount: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; serviceAccountRef: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">>; serviceAccountFile: z.ZodOptional<z.ZodString>; audienceType: z.ZodOptional<z.ZodEnum<{ \"app-url\": \"app-url\"; \"project-number\": \"project-number\"; }>>; audience: z.ZodOptional<z.ZodString>; appPrincipal: z.ZodOptional<z.ZodString>; webhookPath: z.ZodOptional<z.ZodString>; webhookUrl: z.ZodOptional<z.ZodString>; botUser: z.ZodOptional<z.ZodString>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ replace: \"replace\"; status_final: \"status_final\"; append: \"append\"; }>>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; typingIndicator: z.ZodOptional<z.ZodEnum<{ message: \"message\"; none: \"none\"; reaction: \"reaction\"; }>>; responsePrefix: z.ZodOptional<z.ZodString>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; allowBots: z.ZodOptional<z.ZodBoolean>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultTo: z.ZodOptional<z.ZodString>; serviceAccount: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; serviceAccountRef: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">>; serviceAccountFile: z.ZodOptional<z.ZodString>; audienceType: z.ZodOptional<z.ZodEnum<{ \"app-url\": \"app-url\"; \"project-number\": \"project-number\"; }>>; audience: z.ZodOptional<z.ZodString>; appPrincipal: z.ZodOptional<z.ZodString>; webhookPath: z.ZodOptional<z.ZodString>; webhookUrl: z.ZodOptional<z.ZodString>; botUser: z.ZodOptional<z.ZodString>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ replace: \"replace\"; status_final: \"status_final\"; append: \"append\"; }>>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; typingIndicator: z.ZodOptional<z.ZodEnum<{ message: \"message\"; none: \"none\"; reaction: \"reaction\"; }>>; responsePrefix: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "GoogleChatConfigSchema",
"kind": "const",
"source": {
"line": 816,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const GroupPolicySchema: z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>;",
"exportName": "GroupPolicySchema",
"kind": "const",
"source": {
"line": 335,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const IMessageConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; cliPath: z.ZodOptional<z.ZodString>; dbPath: z.ZodOptional<z.ZodString>; remoteHost: z.ZodOptional<z.ZodString>; service: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"imessage\">, z.ZodLiteral<\"sms\">, z.ZodLiteral<\"auto\">]>>; region: z.ZodOptional<z.ZodString>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; includeAttachments: z.ZodOptional<z.ZodBoolean>; attachmentRoots: z.ZodOptional<z.ZodArray<z.ZodString>>; remoteAttachmentRoots: z.ZodOptional<z.ZodArray<z.ZodString>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; cliPath: z.ZodOptional<z.ZodString>; dbPath: z.ZodOptional<z.ZodString>; remoteHost: z.ZodOptional<z.ZodString>; service: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"imessage\">, z.ZodLiteral<\"sms\">, z.ZodLiteral<\"auto\">]>>; region: z.ZodOptional<z.ZodString>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; includeAttachments: z.ZodOptional<z.ZodBoolean>; attachmentRoots: z.ZodOptional<z.ZodArray<z.ZodString>>; remoteAttachmentRoots: z.ZodOptional<z.ZodArray<z.ZodString>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "IMessageConfigSchema",
"kind": "const",
"source": {
"line": 1314,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const MarkdownConfigSchema: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>;",
"exportName": "MarkdownConfigSchema",
"kind": "const",
"source": {
"line": 371,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const MSTeamsConfigSchema: z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; appId: z.ZodOptional<z.ZodString>; appPassword: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; tenantId: z.ZodOptional<z.ZodString>; webhook: z.ZodOptional<z.ZodObject<{ port: z.ZodOptional<z.ZodNumber>; path: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; mediaAllowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>; mediaAuthAllowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>; requireMention: z.ZodOptional<z.ZodBoolean>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; replyStyle: z.ZodOptional<z.ZodEnum<{ thread: \"thread\"; \"top-level\": \"top-level\"; }>>; teams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; replyStyle: z.ZodOptional<z.ZodEnum<{ thread: \"thread\"; \"top-level\": \"top-level\"; }>>; channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; replyStyle: z.ZodOptional<z.ZodEnum<{ thread: \"thread\"; \"top-level\": \"top-level\"; }>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; sharePointSiteId: z.ZodOptional<z.ZodString>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; welcomeCard: z.ZodOptional<z.ZodBoolean>; promptStarters: z.ZodOptional<z.ZodArray<z.ZodString>>; groupWelcomeCard: z.ZodOptional<z.ZodBoolean>; feedbackEnabled: z.ZodOptional<z.ZodBoolean>; feedbackReflection: z.ZodOptional<z.ZodBoolean>; feedbackReflectionCooldownMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>;",
"exportName": "MSTeamsConfigSchema",
"kind": "const",
"source": {
"line": 1496,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const ReplyRuntimeConfigSchemaShape: { historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; };",
"exportName": "ReplyRuntimeConfigSchemaShape",
"kind": "const",
"source": {
"line": 347,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const requireOpenAllowFrom: (params: { policy?: string; allowFrom?: Array<string | number>; ctx: z.RefinementCtx; path: Array<string | number>; message: string; }) => void;",
"exportName": "requireOpenAllowFrom",
"kind": "const",
"source": {
"line": 486,
"path": "src/config/zod-schema.core.ts"
}
},
{
"declaration": "export const SignalConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; account: z.ZodOptional<z.ZodString>; accountUuid: z.ZodOptional<z.ZodString>; httpUrl: z.ZodOptional<z.ZodString>; httpHost: z.ZodOptional<z.ZodString>; httpPort: z.ZodOptional<z.ZodNumber>; cliPath: z.ZodOptional<z.ZodString>; autoStart: z.ZodOptional<z.ZodBoolean>; startupTimeoutMs: z.ZodOptional<z.ZodNumber>; receiveMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"on-start\">, z.ZodLiteral<\"manual\">]>>; ignoreAttachments: z.ZodOptional<z.ZodBoolean>; ignoreStories: z.ZodOptional<z.ZodBoolean>; sendReadReceipts: z.ZodOptional<z.ZodBoolean>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; reactionLevel: z.ZodOptional<z.ZodEnum<{ off: \"off\"; ack: \"ack\"; minimal: \"minimal\"; extensive: \"extensive\"; }>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; configWrites: z.ZodOptional<z.ZodBoolean>; account: z.ZodOptional<z.ZodString>; accountUuid: z.ZodOptional<z.ZodString>; httpUrl: z.ZodOptional<z.ZodString>; httpHost: z.ZodOptional<z.ZodString>; httpPort: z.ZodOptional<z.ZodNumber>; cliPath: z.ZodOptional<z.ZodString>; autoStart: z.ZodOptional<z.ZodBoolean>; startupTimeoutMs: z.ZodOptional<z.ZodNumber>; receiveMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"on-start\">, z.ZodLiteral<\"manual\">]>>; ignoreAttachments: z.ZodOptional<z.ZodBoolean>; ignoreStories: z.ZodOptional<z.ZodBoolean>; sendReadReceipts: z.ZodOptional<z.ZodBoolean>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; reactionLevel: z.ZodOptional<z.ZodEnum<{ off: \"off\"; ack: \"ack\"; minimal: \"minimal\"; extensive: \"extensive\"; }>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "SignalConfigSchema",
"kind": "const",
"source": {
"line": 1072,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const SlackConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{ interactiveReplies: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>]>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; botToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; appToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; userToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; userTokenReadOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; allowBots: z.ZodOptional<z.ZodBoolean>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; nativeStreaming: z.ZodOptional<z.ZodBoolean>; streamMode: z.ZodOptional<z.ZodEnum<{ replace: \"replace\"; status_final: \"status_final\"; append: \"append\"; }>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; replyToModeByChatType: z.ZodOptional<z.ZodObject<{ direct: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; group: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; }, z.core.$strict>>; thread: z.ZodOptional<z.ZodObject<{ historyScope: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; thread: \"thread\"; }>>; inheritParent: z.ZodOptional<z.ZodBoolean>; initialHistoryLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; messages: z.ZodOptional<z.ZodBoolean>; pins: z.ZodOptional<z.ZodBoolean>; search: z.ZodOptional<z.ZodBoolean>; permissions: z.ZodOptional<z.ZodBoolean>; memberInfo: z.ZodOptional<z.ZodBoolean>; channelInfo: z.ZodOptional<z.ZodBoolean>; emojiList: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; slashCommand: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; name: z.ZodOptional<z.ZodString>; sessionPrefix: z.ZodOptional<z.ZodString>; ephemeral: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupEnabled: z.ZodOptional<z.ZodBoolean>; groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; }, z.core.$strict>>; channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; allowBots: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; systemPrompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; typingReaction: z.ZodOptional<z.ZodString>; mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ socket: \"socket\"; http: \"http\"; }>>>; signingSecret: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; webhookPath: z.ZodDefault<z.ZodOptional<z.ZodString>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; mode: z.ZodOptional<z.ZodEnum<{ socket: \"socket\"; http: \"http\"; }>>; signingSecret: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; webhookPath: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{ interactiveReplies: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>]>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; botToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; appToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; userToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; userTokenReadOnly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; allowBots: z.ZodOptional<z.ZodBoolean>; dangerouslyAllowNameMatching: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; nativeStreaming: z.ZodOptional<z.ZodBoolean>; streamMode: z.ZodOptional<z.ZodEnum<{ replace: \"replace\"; status_final: \"status_final\"; append: \"append\"; }>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionAllowlist: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; replyToModeByChatType: z.ZodOptional<z.ZodObject<{ direct: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; group: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; channel: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; }, z.core.$strict>>; thread: z.ZodOptional<z.ZodObject<{ historyScope: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; thread: \"thread\"; }>>; inheritParent: z.ZodOptional<z.ZodBoolean>; initialHistoryLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; messages: z.ZodOptional<z.ZodBoolean>; pins: z.ZodOptional<z.ZodBoolean>; search: z.ZodOptional<z.ZodBoolean>; permissions: z.ZodOptional<z.ZodBoolean>; memberInfo: z.ZodOptional<z.ZodBoolean>; channelInfo: z.ZodOptional<z.ZodBoolean>; emojiList: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; slashCommand: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; name: z.ZodOptional<z.ZodString>; sessionPrefix: z.ZodOptional<z.ZodString>; ephemeral: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodString>; dm: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; policy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupEnabled: z.ZodOptional<z.ZodBoolean>; groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; }, z.core.$strict>>; channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; allow: z.ZodOptional<z.ZodBoolean>; requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; allowBots: z.ZodOptional<z.ZodBoolean>; users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; systemPrompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; typingReaction: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "SlackConfigSchema",
"kind": "const",
"source": {
"line": 940,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const TelegramConfigSchema: z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{ inlineButtons: z.ZodOptional<z.ZodEnum<{ group: \"group\"; allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; dm: \"dm\"; }>>; }, z.core.$strict>]>>; execApprovals: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; target: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; dm: \"dm\"; both: \"both\"; }>>; }, z.core.$strict>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; customCommands: z.ZodOptional<z.ZodArray<z.ZodObject<{ command: z.ZodString; description: z.ZodString; }, z.core.$strict>>>; configWrites: z.ZodOptional<z.ZodBoolean>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; botToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; tokenFile: z.ZodOptional<z.ZodString>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; agentId: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; direct: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; agentId: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; requireTopic: z.ZodOptional<z.ZodBoolean>; autoTopicLabel: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; prompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>]>>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; draftChunk: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"paragraph\">, z.ZodLiteral<\"newline\">, z.ZodLiteral<\"sentence\">]>>; }, z.core.$strict>>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streamMode: z.ZodOptional<z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; }>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; retry: z.ZodOptional<z.ZodObject<{ attempts: z.ZodOptional<z.ZodNumber>; minDelayMs: z.ZodOptional<z.ZodNumber>; maxDelayMs: z.ZodOptional<z.ZodNumber>; jitter: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; network: z.ZodOptional<z.ZodObject<{ autoSelectFamily: z.ZodOptional<z.ZodBoolean>; dnsResultOrder: z.ZodOptional<z.ZodEnum<{ ipv4first: \"ipv4first\"; verbatim: \"verbatim\"; }>>; }, z.core.$strict>>; proxy: z.ZodOptional<z.ZodString>; webhookUrl: z.ZodOptional<z.ZodString>; webhookSecret: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; webhookPath: z.ZodOptional<z.ZodString>; webhookHost: z.ZodOptional<z.ZodString>; webhookPort: z.ZodOptional<z.ZodNumber>; webhookCertPath: z.ZodOptional<z.ZodString>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; sendMessage: z.ZodOptional<z.ZodBoolean>; poll: z.ZodOptional<z.ZodBoolean>; deleteMessage: z.ZodOptional<z.ZodBoolean>; editMessage: z.ZodOptional<z.ZodBoolean>; sticker: z.ZodOptional<z.ZodBoolean>; createForumTopic: z.ZodOptional<z.ZodBoolean>; editForumTopic: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; threadBindings: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; idleHours: z.ZodOptional<z.ZodNumber>; maxAgeHours: z.ZodOptional<z.ZodNumber>; spawnSubagentSessions: z.ZodOptional<z.ZodBoolean>; spawnAcpSessions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionLevel: z.ZodOptional<z.ZodEnum<{ off: \"off\"; ack: \"ack\"; minimal: \"minimal\"; extensive: \"extensive\"; }>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; linkPreview: z.ZodOptional<z.ZodBoolean>; silentErrorReplies: z.ZodOptional<z.ZodBoolean>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; apiRoot: z.ZodOptional<z.ZodString>; autoTopicLabel: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; prompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>]>>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ name: z.ZodOptional<z.ZodString>; capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{ inlineButtons: z.ZodOptional<z.ZodEnum<{ group: \"group\"; allowlist: \"allowlist\"; off: \"off\"; all: \"all\"; dm: \"dm\"; }>>; }, z.core.$strict>]>>; execApprovals: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>; target: z.ZodOptional<z.ZodEnum<{ channel: \"channel\"; dm: \"dm\"; both: \"both\"; }>>; }, z.core.$strict>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; enabled: z.ZodOptional<z.ZodBoolean>; commands: z.ZodOptional<z.ZodObject<{ native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<\"auto\">]>>; }, z.core.$strict>>; customCommands: z.ZodOptional<z.ZodArray<z.ZodObject<{ command: z.ZodString; description: z.ZodString; }, z.core.$strict>>>; configWrites: z.ZodOptional<z.ZodBoolean>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; botToken: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; tokenFile: z.ZodOptional<z.ZodString>; replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"off\">, z.ZodLiteral<\"first\">, z.ZodLiteral<\"all\">]>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; agentId: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; defaultTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; direct: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ dmPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; disableAudioPreflight: z.ZodOptional<z.ZodBoolean>; groupPolicy: z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>; skills: z.ZodOptional<z.ZodArray<z.ZodString>>; enabled: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>; systemPrompt: z.ZodOptional<z.ZodString>; agentId: z.ZodOptional<z.ZodString>; }, z.core.$strict>>>>; requireTopic: z.ZodOptional<z.ZodBoolean>; autoTopicLabel: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; prompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>]>>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; streaming: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; progress: \"progress\"; }>]>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; draftChunk: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<\"paragraph\">, z.ZodLiteral<\"newline\">, z.ZodLiteral<\"sentence\">]>>; }, z.core.$strict>>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; streamMode: z.ZodOptional<z.ZodEnum<{ off: \"off\"; partial: \"partial\"; block: \"block\"; }>>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; timeoutSeconds: z.ZodOptional<z.ZodNumber>; retry: z.ZodOptional<z.ZodObject<{ attempts: z.ZodOptional<z.ZodNumber>; minDelayMs: z.ZodOptional<z.ZodNumber>; maxDelayMs: z.ZodOptional<z.ZodNumber>; jitter: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; network: z.ZodOptional<z.ZodObject<{ autoSelectFamily: z.ZodOptional<z.ZodBoolean>; dnsResultOrder: z.ZodOptional<z.ZodEnum<{ ipv4first: \"ipv4first\"; verbatim: \"verbatim\"; }>>; }, z.core.$strict>>; proxy: z.ZodOptional<z.ZodString>; webhookUrl: z.ZodOptional<z.ZodString>; webhookSecret: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{ source: z.ZodLiteral<\"env\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"file\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>, z.ZodObject<{ source: z.ZodLiteral<\"exec\">; provider: z.ZodString; id: z.ZodString; }, z.core.$strict>], \"source\">]>>; webhookPath: z.ZodOptional<z.ZodString>; webhookHost: z.ZodOptional<z.ZodString>; webhookPort: z.ZodOptional<z.ZodNumber>; webhookCertPath: z.ZodOptional<z.ZodString>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; sendMessage: z.ZodOptional<z.ZodBoolean>; poll: z.ZodOptional<z.ZodBoolean>; deleteMessage: z.ZodOptional<z.ZodBoolean>; editMessage: z.ZodOptional<z.ZodBoolean>; sticker: z.ZodOptional<z.ZodBoolean>; createForumTopic: z.ZodOptional<z.ZodBoolean>; editForumTopic: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; threadBindings: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; idleHours: z.ZodOptional<z.ZodNumber>; maxAgeHours: z.ZodOptional<z.ZodNumber>; spawnSubagentSessions: z.ZodOptional<z.ZodBoolean>; spawnAcpSessions: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; reactionNotifications: z.ZodOptional<z.ZodEnum<{ off: \"off\"; all: \"all\"; own: \"own\"; }>>; reactionLevel: z.ZodOptional<z.ZodEnum<{ off: \"off\"; ack: \"ack\"; minimal: \"minimal\"; extensive: \"extensive\"; }>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; linkPreview: z.ZodOptional<z.ZodBoolean>; silentErrorReplies: z.ZodOptional<z.ZodBoolean>; responsePrefix: z.ZodOptional<z.ZodString>; ackReaction: z.ZodOptional<z.ZodString>; apiRoot: z.ZodOptional<z.ZodString>; autoTopicLabel: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; prompt: z.ZodOptional<z.ZodString>; }, z.core.$strict>]>>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; }, z.core.$strict>;",
"exportName": "TelegramConfigSchema",
"kind": "const",
"source": {
"line": 310,
"path": "src/config/zod-schema.providers-core.ts"
}
},
{
"declaration": "export const ToolPolicySchema: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>;",
"exportName": "ToolPolicySchema",
"kind": "const",
"source": {
"line": 253,
"path": "src/config/zod-schema.agent-runtime.ts"
}
},
{
"declaration": "export const WhatsAppConfigSchema: z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; sendReadReceipts: z.ZodOptional<z.ZodBoolean>; messagePrefix: z.ZodOptional<z.ZodString>; responsePrefix: z.ZodOptional<z.ZodString>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; selfChatMode: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; ackReaction: z.ZodOptional<z.ZodObject<{ emoji: z.ZodOptional<z.ZodString>; direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ mentions: \"mentions\"; never: \"never\"; always: \"always\"; }>>>; }, z.core.$strict>>; debounceMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>; markdown: z.ZodOptional<z.ZodObject<{ tables: z.ZodOptional<z.ZodEnum<{ off: \"off\"; bullets: \"bullets\"; code: \"code\"; }>>; }, z.core.$strict>>; configWrites: z.ZodOptional<z.ZodBoolean>; sendReadReceipts: z.ZodOptional<z.ZodBoolean>; messagePrefix: z.ZodOptional<z.ZodString>; responsePrefix: z.ZodOptional<z.ZodString>; dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; pairing: \"pairing\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; selfChatMode: z.ZodOptional<z.ZodBoolean>; allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; defaultTo: z.ZodOptional<z.ZodString>; groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>; groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ disabled: \"disabled\"; allowlist: \"allowlist\"; open: \"open\"; }>>>; historyLimit: z.ZodOptional<z.ZodNumber>; dmHistoryLimit: z.ZodOptional<z.ZodNumber>; dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ historyLimit: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; textChunkLimit: z.ZodOptional<z.ZodNumber>; chunkMode: z.ZodOptional<z.ZodEnum<{ length: \"length\"; newline: \"newline\"; }>>; blockStreaming: z.ZodOptional<z.ZodBoolean>; blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{ minChars: z.ZodOptional<z.ZodNumber>; maxChars: z.ZodOptional<z.ZodNumber>; idleMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ requireMention: z.ZodOptional<z.ZodBoolean>; tools: z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>; toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{ allow: z.ZodOptional<z.ZodArray<z.ZodString>>; alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>; deny: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strict>>>>; }, z.core.$strict>>>>; ackReaction: z.ZodOptional<z.ZodObject<{ emoji: z.ZodOptional<z.ZodString>; direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ mentions: \"mentions\"; never: \"never\"; always: \"always\"; }>>>; }, z.core.$strict>>; debounceMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; heartbeat: z.ZodOptional<z.ZodObject<{ showOk: z.ZodOptional<z.ZodBoolean>; showAlerts: z.ZodOptional<z.ZodBoolean>; useIndicator: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; healthMonitor: z.ZodOptional<z.ZodObject<{ enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; name: z.ZodOptional<z.ZodString>; enabled: z.ZodOptional<z.ZodBoolean>; authDir: z.ZodOptional<z.ZodString>; mediaMaxMb: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>>>; defaultAccount: z.ZodOptional<z.ZodString>; mediaMaxMb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>; actions: z.ZodOptional<z.ZodObject<{ reactions: z.ZodOptional<z.ZodBoolean>; sendMessage: z.ZodOptional<z.ZodBoolean>; polls: z.ZodOptional<z.ZodBoolean>; }, z.core.$strict>>; }, z.core.$strict>;",
"exportName": "WhatsAppConfigSchema",
"kind": "const",
"source": {
"line": 119,
"path": "src/config/zod-schema.providers-whatsapp.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-config-schema",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-config-schema.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-contract",
"exports": [
{
"declaration": "export type BaseProbeResult = BaseProbeResult<TError>;",
"exportName": "BaseProbeResult",
"kind": "type",
"source": {
"line": 559,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type BaseTokenResolution = BaseTokenResolution;",
"exportName": "BaseTokenResolution",
"kind": "type",
"source": {
"line": 565,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAccountSnapshot = ChannelAccountSnapshot;",
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
"line": 144,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentTool = ChannelAgentTool;",
"exportName": "ChannelAgentTool",
"kind": "type",
"source": {
"line": 18,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelGroupContext = ChannelGroupContext;",
"exportName": "ChannelGroupContext",
"kind": "type",
"source": {
"line": 216,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;",
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
"line": 516,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionContext = ChannelMessageActionContext;",
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
"line": 482,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionDiscoveryContext = ChannelMessageActionDiscoveryContext;",
"exportName": "ChannelMessageActionDiscoveryContext",
"kind": "type",
"source": {
"line": 31,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";",
"exportName": "ChannelMessageActionName",
"kind": "type",
"source": {
"line": 6,
"path": "src/channels/plugins/types.ts"
}
},
{
"declaration": "export type ChannelMessageToolDiscovery = ChannelMessageToolDiscovery;",
"exportName": "ChannelMessageToolDiscovery",
"kind": "type",
"source": {
"line": 56,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageToolSchemaContribution = ChannelMessageToolSchemaContribution;",
"exportName": "ChannelMessageToolSchemaContribution",
"kind": "type",
"source": {
"line": 51,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelStatusIssue = ChannelStatusIssue;",
"exportName": "ChannelStatusIssue",
"kind": "type",
"source": {
"line": 100,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelThreadingContext = ChannelThreadingContext;",
"exportName": "ChannelThreadingContext",
"kind": "type",
"source": {
"line": 365,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelThreadingToolContext = ChannelThreadingToolContext;",
"exportName": "ChannelThreadingToolContext",
"kind": "type",
"source": {
"line": 379,
"path": "src/channels/plugins/types.core.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-contract",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-contract.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-pairing",
"exports": [
{
"declaration": "export function createChannelPairingChallengeIssuer(params: { channel: ChannelId; upsertPairingRequest: (params: { id: string; meta?: PairingMeta | undefined; }) => Promise<{ code: string; created: boolean; }>; }): (challenge: Omit<...>) => Promise<...>;",
"exportName": "createChannelPairingChallengeIssuer",
"kind": "function",
"source": {
"line": 21,
"path": "src/plugin-sdk/channel-pairing.ts"
}
},
{
"declaration": "export function createChannelPairingController(params: { core: PluginRuntime; channel: ChannelId; accountId: string; }): ChannelPairingController;",
"exportName": "createChannelPairingController",
"kind": "function",
"source": {
"line": 39,
"path": "src/plugin-sdk/channel-pairing.ts"
}
},
{
"declaration": "export function createLoggedPairingApprovalNotifier(format: string | ((params: { cfg: OpenClawConfig; id: string; accountId?: string | undefined; runtime?: RuntimeEnv | undefined; }) => string), log?: (message: string) => void): (params: { ...; }) => Promise<...>;",
"exportName": "createLoggedPairingApprovalNotifier",
"kind": "function",
"source": {
"line": 12,
"path": "src/channels/plugins/pairing-adapters.ts"
}
},
{
"declaration": "export function createPairingPrefixStripper(prefixRe: RegExp, map?: (entry: string) => string): (entry: string) => string;",
"exportName": "createPairingPrefixStripper",
"kind": "function",
"source": {
"line": 5,
"path": "src/channels/plugins/pairing-adapters.ts"
}
},
{
"declaration": "export function createTextPairingAdapter(params: { idLabel: string; message: string; normalizeAllowEntry?: ((entry: string) => string) | undefined; notify: (params: { cfg: OpenClawConfig; id: string; accountId?: string | undefined; runtime?: RuntimeEnv | undefined; } & { ...; }) => void | Promise<...>; }): ChannelPairingAdapter;",
"exportName": "createTextPairingAdapter",
"kind": "function",
"source": {
"line": 21,
"path": "src/channels/plugins/pairing-adapters.ts"
}
},
{
"declaration": "export type ChannelPairingController = ChannelPairingController;",
"exportName": "ChannelPairingController",
"kind": "type",
"source": {
"line": 14,
"path": "src/plugin-sdk/channel-pairing.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-pairing",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-pairing.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-reply-pipeline",
"exports": [
{
"declaration": "export function createChannelReplyPipeline(params: { cfg: OpenClawConfig; agentId: string; channel?: string | undefined; accountId?: string | undefined; typing?: CreateTypingCallbacksParams | undefined; typingCallbacks?: TypingCallbacks | undefined; }): ChannelReplyPipeline;",
"exportName": "createChannelReplyPipeline",
"kind": "function",
"source": {
"line": 20,
"path": "src/plugin-sdk/channel-reply-pipeline.ts"
}
},
{
"declaration": "export type ChannelReplyPipeline = ChannelReplyPipeline;",
"exportName": "ChannelReplyPipeline",
"kind": "type",
"source": {
"line": 16,
"path": "src/plugin-sdk/channel-reply-pipeline.ts"
}
},
{
"declaration": "export type CreateTypingCallbacksParams = CreateTypingCallbacksParams;",
"exportName": "CreateTypingCallbacksParams",
"kind": "type",
"source": {
"line": 11,
"path": "src/channels/typing.ts"
}
},
{
"declaration": "export type ReplyPrefixContext = import(\"src/auto-reply/reply/response-prefix-template\").ResponsePrefixContext;",
"exportName": "ReplyPrefixContext",
"kind": "type",
"source": {
"line": 12,
"path": "src/plugin-sdk/channel-reply-pipeline.ts"
}
},
{
"declaration": "export type ReplyPrefixContextBundle = ReplyPrefixContextBundle;",
"exportName": "ReplyPrefixContextBundle",
"kind": "type",
"source": {
"line": 12,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export type ReplyPrefixOptions = ReplyPrefixOptions;",
"exportName": "ReplyPrefixOptions",
"kind": "type",
"source": {
"line": 20,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export type TypingCallbacks = TypingCallbacks;",
"exportName": "TypingCallbacks",
"kind": "type",
"source": {
"line": 4,
"path": "src/channels/typing.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-reply-pipeline",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-reply-pipeline.ts"
}
},
{
"category": "legacy",
"entrypoint": "channel-runtime",
"exports": [
{
"declaration": "export function createAccountStatusSink(params: { accountId: string; setStatus: (next: ChannelAccountSnapshot) => void; }): (patch: Omit<ChannelAccountSnapshot, \"accountId\">) => void;",
"exportName": "createAccountStatusSink",
"kind": "function",
"source": {
"line": 23,
"path": "src/plugin-sdk/channel-lifecycle.ts"
}
},
{
"declaration": "export function createReplyPrefixContext(params: { cfg: OpenClawConfig; agentId: string; channel?: string | undefined; accountId?: string | undefined; }): ReplyPrefixContextBundle;",
"exportName": "createReplyPrefixContext",
"kind": "function",
"source": {
"line": 28,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export function createReplyPrefixOptions(params: { cfg: OpenClawConfig; agentId: string; channel?: string | undefined; accountId?: string | undefined; }): ReplyPrefixOptions;",
"exportName": "createReplyPrefixOptions",
"kind": "function",
"source": {
"line": 64,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export function createTypingCallbacks(params: CreateTypingCallbacksParams): TypingCallbacks;",
"exportName": "createTypingCallbacks",
"kind": "function",
"source": {
"line": 23,
"path": "src/channels/typing.ts"
}
},
{
"declaration": "export function isWhatsAppGroupJid(value: string): boolean;",
"exportName": "isWhatsAppGroupJid",
"kind": "function",
"source": {
"line": 17,
"path": "extensions/whatsapp/src/normalize-target.ts"
}
},
{
"declaration": "export function isWhatsAppUserTarget(value: string): boolean;",
"exportName": "isWhatsAppUserTarget",
"kind": "function",
"source": {
"line": 30,
"path": "extensions/whatsapp/src/normalize-target.ts"
}
},
{
"declaration": "export function keepHttpServerTaskAlive(params: { server: CloseAwareServer; abortSignal?: AbortSignal | undefined; onAbort?: (() => void | Promise<void>) | undefined; }): Promise<void>;",
"exportName": "keepHttpServerTaskAlive",
"kind": "function",
"source": {
"line": 79,
"path": "src/plugin-sdk/channel-lifecycle.ts"
}
},
{
"declaration": "export function looksLikeSignalTargetId(raw: string, normalized?: string | undefined): boolean;",
"exportName": "looksLikeSignalTargetId",
"kind": "function",
"source": {
"line": 38,
"path": "src/channels/plugins/normalize/signal.ts"
}
},
{
"declaration": "export function looksLikeWhatsAppTargetId(raw: string): boolean;",
"exportName": "looksLikeWhatsAppTargetId",
"kind": "function",
"source": {
"line": 20,
"path": "src/channels/plugins/normalize/whatsapp.ts"
}
},
{
"declaration": "export function normalizeChatType(raw?: string | undefined): ChatType | undefined;",
"exportName": "normalizeChatType",
"kind": "function",
"source": {
"line": 3,
"path": "src/channels/chat-type.ts"
}
},
{
"declaration": "export function normalizePollDurationHours(value: number | undefined, options: { defaultHours: number; maxHours: number; }): number;",
"exportName": "normalizePollDurationHours",
"kind": "function",
"source": {
"line": 93,
"path": "src/polls.ts"
}
},
{
"declaration": "export function normalizePollInput(input: PollInput, options?: NormalizePollOptions): NormalizedPollInput;",
"exportName": "normalizePollInput",
"kind": "function",
"source": {
"line": 36,
"path": "src/polls.ts"
}
},
{
"declaration": "export function normalizeSignalMessagingTarget(raw: string): string | undefined;",
"exportName": "normalizeSignalMessagingTarget",
"kind": "function",
"source": {
"line": 1,
"path": "src/channels/plugins/normalize/signal.ts"
}
},
{
"declaration": "export function normalizeWhatsAppAllowFromEntries(allowFrom: (string | number)[]): string[];",
"exportName": "normalizeWhatsAppAllowFromEntries",
"kind": "function",
"source": {
"line": 12,
"path": "src/channels/plugins/normalize/whatsapp.ts"
}
},
{
"declaration": "export function normalizeWhatsAppMessagingTarget(raw: string): string | undefined;",
"exportName": "normalizeWhatsAppMessagingTarget",
"kind": "function",
"source": {
"line": 4,
"path": "src/channels/plugins/normalize/whatsapp.ts"
}
},
{
"declaration": "export function normalizeWhatsAppTarget(value: string): string | null;",
"exportName": "normalizeWhatsAppTarget",
"kind": "function",
"source": {
"line": 47,
"path": "extensions/whatsapp/src/normalize-target.ts"
}
},
{
"declaration": "export function reduceInteractiveReply<TState>(interactive: InteractiveReply | undefined, initialState: TState, reduce: (state: TState, block: InteractiveReplyBlock, index: number) => TState): TState;",
"exportName": "reduceInteractiveReply",
"kind": "function",
"source": {
"line": 3,
"path": "src/channels/plugins/outbound/interactive.ts"
}
},
{
"declaration": "export function resolvePollMaxSelections(optionCount: number, allowMultiselect: boolean | undefined): number;",
"exportName": "resolvePollMaxSelections",
"kind": "function",
"source": {
"line": 29,
"path": "src/polls.ts"
}
},
{
"declaration": "export function resolveWhatsAppHeartbeatRecipients(cfg: OpenClawConfig, opts?: HeartbeatRecipientsOpts): HeartbeatRecipientsResult;",
"exportName": "resolveWhatsAppHeartbeatRecipients",
"kind": "function",
"source": {
"line": 48,
"path": "src/channels/plugins/whatsapp-heartbeat.ts"
}
},
{
"declaration": "export function waitUntilAbort(signal?: AbortSignal | undefined, onAbort?: (() => void | Promise<void>) | undefined): Promise<void>;",
"exportName": "waitUntilAbort",
"kind": "function",
"source": {
"line": 38,
"path": "src/plugin-sdk/channel-lifecycle.ts"
}
},
{
"declaration": "export const CHANNEL_MESSAGE_ACTION_NAMES: readonly [\"send\", \"broadcast\", \"poll\", \"poll-vote\", \"react\", \"reactions\", \"read\", \"edit\", \"unsend\", \"reply\", \"sendWithEffect\", \"renameGroup\", \"setGroupIcon\", \"addParticipant\", \"removeParticipant\", \"leaveGroup\", \"sendAttachment\", \"delete\", \"pin\", \"unpin\", \"list-pins\", \"permissions\", \"thread-create\", \"thread-list\", \"thread-reply\", \"search\", \"sticker\", \"sticker-search\", \"member-info\", \"role-info\", \"emoji-list\", \"emoji-upload\", \"sticker-upload\", \"role-add\", \"role-remove\", \"channel-info\", \"channel-list\", \"channel-create\", \"channel-edit\", \"channel-delete\", \"channel-move\", \"category-create\", \"category-edit\", \"category-delete\", \"topic-create\", \"topic-edit\", \"voice-status\", \"event-list\", \"event-create\", \"timeout\", \"kick\", \"ban\", \"set-profile\", \"set-presence\", \"set-profile\", \"download-file\", \"upload-file\"];",
"exportName": "CHANNEL_MESSAGE_ACTION_NAMES",
"kind": "const",
"source": {
"line": 1,
"path": "src/channels/plugins/message-action-names.ts"
}
},
{
"declaration": "export const CHANNEL_MESSAGE_CAPABILITIES: readonly [\"interactive\", \"buttons\", \"cards\", \"components\", \"blocks\"];",
"exportName": "CHANNEL_MESSAGE_CAPABILITIES",
"kind": "const",
"source": {
"line": 1,
"path": "src/channels/plugins/message-capabilities.ts"
}
},
{
"declaration": "export type BaseProbeResult = BaseProbeResult<TError>;",
"exportName": "BaseProbeResult",
"kind": "type",
"source": {
"line": 559,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type BaseTokenResolution = BaseTokenResolution;",
"exportName": "BaseTokenResolution",
"kind": "type",
"source": {
"line": 565,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAccountSnapshot = ChannelAccountSnapshot;",
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
"line": 144,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAccountState = ChannelAccountState;",
"exportName": "ChannelAccountState",
"kind": "type",
"source": {
"line": 108,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentPromptAdapter = ChannelAgentPromptAdapter;",
"exportName": "ChannelAgentPromptAdapter",
"kind": "type",
"source": {
"line": 463,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentTool = ChannelAgentTool;",
"exportName": "ChannelAgentTool",
"kind": "type",
"source": {
"line": 18,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAgentToolFactory = ChannelAgentToolFactory;",
"exportName": "ChannelAgentToolFactory",
"kind": "type",
"source": {
"line": 23,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelAllowlistAdapter = ChannelAllowlistAdapter;",
"exportName": "ChannelAllowlistAdapter",
"kind": "type",
"source": {
"line": 513,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelAuthAdapter = ChannelAuthAdapter;",
"exportName": "ChannelAuthAdapter",
"kind": "type",
"source": {
"line": 367,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelCapabilities = ChannelCapabilities;",
"exportName": "ChannelCapabilities",
"kind": "type",
"source": {
"line": 230,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelCapabilitiesDiagnostics = ChannelCapabilitiesDiagnostics;",
"exportName": "ChannelCapabilitiesDiagnostics",
"kind": "type",
"source": {
"line": 51,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelCapabilitiesDisplayLine = ChannelCapabilitiesDisplayLine;",
"exportName": "ChannelCapabilitiesDisplayLine",
"kind": "type",
"source": {
"line": 46,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelCapabilitiesDisplayTone = ChannelCapabilitiesDisplayTone;",
"exportName": "ChannelCapabilitiesDisplayTone",
"kind": "type",
"source": {
"line": 44,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelCommandAdapter = ChannelCommandAdapter;",
"exportName": "ChannelCommandAdapter",
"kind": "type",
"source": {
"line": 449,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfigAdapter = ChannelConfigAdapter<ResolvedAccount>;",
"exportName": "ChannelConfigAdapter",
"kind": "type",
"source": {
"line": 95,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingConversationRef = ChannelConfiguredBindingConversationRef;",
"exportName": "ChannelConfiguredBindingConversationRef",
"kind": "type",
"source": {
"line": 569,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingMatch = ChannelConfiguredBindingMatch;",
"exportName": "ChannelConfiguredBindingMatch",
"kind": "type",
"source": {
"line": 574,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelConfiguredBindingProvider = ChannelConfiguredBindingProvider;",
"exportName": "ChannelConfiguredBindingProvider",
"kind": "type",
"source": {
"line": 578,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelDirectoryAdapter = ChannelDirectoryAdapter;",
"exportName": "ChannelDirectoryAdapter",
"kind": "type",
"source": {
"line": 411,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelDirectoryEntry = ChannelDirectoryEntry;",
"exportName": "ChannelDirectoryEntry",
"kind": "type",
"source": {
"line": 469,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelDirectoryEntryKind = ChannelDirectoryEntryKind;",
"exportName": "ChannelDirectoryEntryKind",
"kind": "type",
"source": {
"line": 467,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelElevatedAdapter = ChannelElevatedAdapter;",
"exportName": "ChannelElevatedAdapter",
"kind": "type",
"source": {
"line": 442,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelExecApprovalAdapter = ChannelExecApprovalAdapter;",
"exportName": "ChannelExecApprovalAdapter",
"kind": "type",
"source": {
"line": 468,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelExecApprovalForwardTarget = ChannelExecApprovalForwardTarget;",
"exportName": "ChannelExecApprovalForwardTarget",
"kind": "type",
"source": {
"line": 36,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelExecApprovalInitiatingSurfaceState = ChannelExecApprovalInitiatingSurfaceState;",
"exportName": "ChannelExecApprovalInitiatingSurfaceState",
"kind": "type",
"source": {
"line": 31,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelGatewayAdapter = ChannelGatewayAdapter<ResolvedAccount>;",
"exportName": "ChannelGatewayAdapter",
"kind": "type",
"source": {
"line": 351,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelGatewayContext = ChannelGatewayContext<ResolvedAccount>;",
"exportName": "ChannelGatewayContext",
"kind": "type",
"source": {
"line": 243,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelGroupAdapter = ChannelGroupAdapter;",
"exportName": "ChannelGroupAdapter",
"kind": "type",
"source": {
"line": 126,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelGroupContext = ChannelGroupContext;",
"exportName": "ChannelGroupContext",
"kind": "type",
"source": {
"line": 216,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelHeartbeatAdapter = ChannelHeartbeatAdapter;",
"exportName": "ChannelHeartbeatAdapter",
"kind": "type",
"source": {
"line": 377,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelHeartbeatDeps = ChannelHeartbeatDeps;",
"exportName": "ChannelHeartbeatDeps",
"kind": "type",
"source": {
"line": 116,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelId = ChannelId;",
"exportName": "ChannelId",
"kind": "type",
"source": {
"line": 13,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelLifecycleAdapter = ChannelLifecycleAdapter;",
"exportName": "ChannelLifecycleAdapter",
"kind": "type",
"source": {
"line": 454,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelLoginWithQrStartResult = ChannelLoginWithQrStartResult;",
"exportName": "ChannelLoginWithQrStartResult",
"kind": "type",
"source": {
"line": 322,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelLoginWithQrWaitResult = ChannelLoginWithQrWaitResult;",
"exportName": "ChannelLoginWithQrWaitResult",
"kind": "type",
"source": {
"line": 327,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelLogoutContext = ChannelLogoutContext<ResolvedAccount>;",
"exportName": "ChannelLogoutContext",
"kind": "type",
"source": {
"line": 332,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelLogoutResult = ChannelLogoutResult;",
"exportName": "ChannelLogoutResult",
"kind": "type",
"source": {
"line": 316,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelLogSink = ChannelLogSink;",
"exportName": "ChannelLogSink",
"kind": "type",
"source": {
"line": 209,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMentionAdapter = ChannelMentionAdapter;",
"exportName": "ChannelMentionAdapter",
"kind": "type",
"source": {
"line": 260,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionAdapter = ChannelMessageActionAdapter;",
"exportName": "ChannelMessageActionAdapter",
"kind": "type",
"source": {
"line": 516,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionContext = ChannelMessageActionContext;",
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
"line": 482,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionDiscoveryContext = ChannelMessageActionDiscoveryContext;",
"exportName": "ChannelMessageActionDiscoveryContext",
"kind": "type",
"source": {
"line": 31,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageActionName = \"send\" | \"broadcast\" | \"poll\" | \"poll-vote\" | \"react\" | \"reactions\" | \"read\" | \"edit\" | \"unsend\" | \"reply\" | \"sendWithEffect\" | \"renameGroup\" | \"setGroupIcon\" | \"addParticipant\" | \"removeParticipant\" | \"leaveGroup\" | \"sendAttachment\" | \"delete\" | \"pin\" | \"unpin\" | \"list-pins\" | \"permissions\" | \"thread-create\" | \"thread-list\" | \"thread-reply\" | \"search\" | \"sticker\" | \"sticker-search\" | \"member-info\" | \"role-info\" | \"emoji-list\" | \"emoji-upload\" | \"sticker-upload\" | \"role-add\" | \"role-remove\" | \"channel-info\" | \"channel-list\" | \"channel-create\" | \"channel-edit\" | \"channel-delete\" | \"channel-move\" | \"category-create\" | \"category-edit\" | \"category-delete\" | \"topic-create\" | \"topic-edit\" | \"voice-status\" | \"event-list\" | \"event-create\" | \"timeout\" | \"kick\" | \"ban\" | \"set-profile\" | \"set-presence\" | \"download-file\" | \"upload-file\";",
"exportName": "ChannelMessageActionName",
"kind": "type",
"source": {
"line": 6,
"path": "src/channels/plugins/types.ts"
}
},
{
"declaration": "export type ChannelMessageCapability = \"interactive\" | \"buttons\" | \"cards\" | \"components\" | \"blocks\";",
"exportName": "ChannelMessageCapability",
"kind": "type",
"source": {
"line": 9,
"path": "src/channels/plugins/message-capabilities.ts"
}
},
{
"declaration": "export type ChannelMessageToolDiscovery = ChannelMessageToolDiscovery;",
"exportName": "ChannelMessageToolDiscovery",
"kind": "type",
"source": {
"line": 56,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessageToolSchemaContribution = ChannelMessageToolSchemaContribution;",
"exportName": "ChannelMessageToolSchemaContribution",
"kind": "type",
"source": {
"line": 51,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessagingAdapter = ChannelMessagingAdapter;",
"exportName": "ChannelMessagingAdapter",
"kind": "type",
"source": {
"line": 395,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMeta = ChannelMeta;",
"exportName": "ChannelMeta",
"kind": "type",
"source": {
"line": 122,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelOutboundAdapter = ChannelOutboundAdapter;",
"exportName": "ChannelOutboundAdapter",
"kind": "type",
"source": {
"line": 159,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelOutboundContext = ChannelOutboundContext;",
"exportName": "ChannelOutboundContext",
"kind": "type",
"source": {
"line": 132,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelOutboundTargetMode = ChannelOutboundTargetMode;",
"exportName": "ChannelOutboundTargetMode",
"kind": "type",
"source": {
"line": 15,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelPairingAdapter = ChannelPairingAdapter;",
"exportName": "ChannelPairingAdapter",
"kind": "type",
"source": {
"line": 340,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelPlugin = ChannelPlugin<ResolvedAccount, Probe, Audit>;",
"exportName": "ChannelPlugin",
"kind": "type",
"source": {
"line": 76,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type ChannelPollContext = ChannelPollContext;",
"exportName": "ChannelPollContext",
"kind": "type",
"source": {
"line": 547,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelPollResult = ChannelPollResult;",
"exportName": "ChannelPollResult",
"kind": "type",
"source": {
"line": 538,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelResolveKind = ChannelResolveKind;",
"exportName": "ChannelResolveKind",
"kind": "type",
"source": {
"line": 422,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelResolverAdapter = ChannelResolverAdapter;",
"exportName": "ChannelResolverAdapter",
"kind": "type",
"source": {
"line": 432,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelResolveResult = ChannelResolveResult;",
"exportName": "ChannelResolveResult",
"kind": "type",
"source": {
"line": 424,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelSecurityAdapter = ChannelSecurityAdapter<ResolvedAccount>;",
"exportName": "ChannelSecurityAdapter",
"kind": "type",
"source": {
"line": 591,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelSecurityContext = ChannelSecurityContext<ResolvedAccount>;",
"exportName": "ChannelSecurityContext",
"kind": "type",
"source": {
"line": 254,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelSecurityDmPolicy = ChannelSecurityDmPolicy;",
"exportName": "ChannelSecurityDmPolicy",
"kind": "type",
"source": {
"line": 245,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelSetupAdapter = ChannelSetupAdapter;",
"exportName": "ChannelSetupAdapter",
"kind": "type",
"source": {
"line": 60,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelSetupInput = ChannelSetupInput;",
"exportName": "ChannelSetupInput",
"kind": "type",
"source": {
"line": 63,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelStatusAdapter = ChannelStatusAdapter<ResolvedAccount, Probe, Audit>;",
"exportName": "ChannelStatusAdapter",
"kind": "type",
"source": {
"line": 189,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelStatusIssue = ChannelStatusIssue;",
"exportName": "ChannelStatusIssue",
"kind": "type",
"source": {
"line": 100,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelStreamingAdapter = ChannelStreamingAdapter;",
"exportName": "ChannelStreamingAdapter",
"kind": "type",
"source": {
"line": 279,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelStructuredComponents = ChannelStructuredComponents;",
"exportName": "ChannelStructuredComponents",
"kind": "type",
"source": {
"line": 288,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelThreadingAdapter = ChannelThreadingAdapter;",
"exportName": "ChannelThreadingAdapter",
"kind": "type",
"source": {
"line": 322,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelThreadingContext = ChannelThreadingContext;",
"exportName": "ChannelThreadingContext",
"kind": "type",
"source": {
"line": 365,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelThreadingToolContext = ChannelThreadingToolContext;",
"exportName": "ChannelThreadingToolContext",
"kind": "type",
"source": {
"line": 379,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelToolSend = ChannelToolSend;",
"exportName": "ChannelToolSend",
"kind": "type",
"source": {
"line": 509,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChatType = ChatType;",
"exportName": "ChatType",
"kind": "type",
"source": {
"line": 1,
"path": "src/channels/chat-type.ts"
}
},
{
"declaration": "export type CreateTypingCallbacksParams = CreateTypingCallbacksParams;",
"exportName": "CreateTypingCallbacksParams",
"kind": "type",
"source": {
"line": 11,
"path": "src/channels/typing.ts"
}
},
{
"declaration": "export type NormalizedPollInput = NormalizedPollInput;",
"exportName": "NormalizedPollInput",
"kind": "type",
"source": {
"line": 17,
"path": "src/polls.ts"
}
},
{
"declaration": "export type PollInput = PollInput;",
"exportName": "PollInput",
"kind": "type",
"source": {
"line": 1,
"path": "src/polls.ts"
}
},
{
"declaration": "export type ReplyPrefixContextBundle = ReplyPrefixContextBundle;",
"exportName": "ReplyPrefixContextBundle",
"kind": "type",
"source": {
"line": 12,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export type ReplyPrefixOptions = ReplyPrefixOptions;",
"exportName": "ReplyPrefixOptions",
"kind": "type",
"source": {
"line": 20,
"path": "src/channels/reply-prefix.ts"
}
},
{
"declaration": "export type TypingCallbacks = TypingCallbacks;",
"exportName": "TypingCallbacks",
"kind": "type",
"source": {
"line": 4,
"path": "src/channels/typing.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-runtime",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-runtime.ts"
}
},
{
"category": "channel",
"entrypoint": "channel-setup",
"exports": [
{
"declaration": "export function createOptionalChannelSetupAdapter(params: OptionalChannelSetupParams): ChannelSetupAdapter;",
"exportName": "createOptionalChannelSetupAdapter",
"kind": "function",
"source": {
"line": 22,
"path": "src/plugin-sdk/optional-channel-setup.ts"
}
},
{
"declaration": "export function createOptionalChannelSetupSurface(params: OptionalChannelSetupParams): OptionalChannelSetupSurface;",
"exportName": "createOptionalChannelSetupSurface",
"kind": "function",
"source": {
"line": 40,
"path": "src/plugin-sdk/channel-setup.ts"
}
},
{
"declaration": "export function createOptionalChannelSetupWizard(params: OptionalChannelSetupParams): ChannelSetupWizard;",
"exportName": "createOptionalChannelSetupWizard",
"kind": "function",
"source": {
"line": 35,
"path": "src/plugin-sdk/optional-channel-setup.ts"
}
},
{
"declaration": "export function createTopLevelChannelDmPolicy(params: { label: string; channel: string; policyKey: string; allowFromKey: string; getCurrent: (cfg: OpenClawConfig) => DmPolicy; promptAllowFrom?: ((params: { cfg: OpenClawConfig; prompter: WizardPrompter; accountId?: string | undefined; }) => Promise<...>) | undefined; getAllowFrom?: ((cfg: OpenClawConfig) => (string | number)[] | undefined) | undefined; }): ChannelSetupDmPolicy;",
"exportName": "createTopLevelChannelDmPolicy",
"kind": "function",
"source": {
"line": 411,
"path": "src/channels/plugins/setup-wizard-helpers.ts"
}
},
{
"declaration": "export function formatDocsLink(path: string, label?: string | undefined, opts?: { fallback?: string | undefined; force?: boolean | undefined; } | undefined): string;",
"exportName": "formatDocsLink",
"kind": "function",
"source": {
"line": 9,
"path": "src/terminal/links.ts"
}
},
{
"declaration": "export function setSetupChannelEnabled(cfg: OpenClawConfig, channel: string, enabled: boolean): OpenClawConfig;",
"exportName": "setSetupChannelEnabled",
"kind": "function",
"source": {
"line": 813,
"path": "src/channels/plugins/setup-wizard-helpers.ts"
}
},
{
"declaration": "export function splitSetupEntries(raw: string): string[];",
"exportName": "splitSetupEntries",
"kind": "function",
"source": {
"line": 80,
"path": "src/channels/plugins/setup-wizard-helpers.ts"
}
},
{
"declaration": "export const DEFAULT_ACCOUNT_ID: \"default\";",
"exportName": "DEFAULT_ACCOUNT_ID",
"kind": "const",
"source": {
"line": 3,
"path": "src/routing/account-id.ts"
}
},
{
"declaration": "export type ChannelSetupAdapter = ChannelSetupAdapter;",
"exportName": "ChannelSetupAdapter",
"kind": "type",
"source": {
"line": 60,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type ChannelSetupDmPolicy = ChannelSetupDmPolicy;",
"exportName": "ChannelSetupDmPolicy",
"kind": "type",
"source": {
"line": 93,
"path": "src/channels/plugins/setup-wizard-types.ts"
}
},
{
"declaration": "export type ChannelSetupInput = ChannelSetupInput;",
"exportName": "ChannelSetupInput",
"kind": "type",
"source": {
"line": 63,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelSetupWizard = ChannelSetupWizard;",
"exportName": "ChannelSetupWizard",
"kind": "type",
"source": {
"line": 247,
"path": "src/channels/plugins/setup-wizard.ts"
}
},
{
"declaration": "export type OptionalChannelSetupSurface = OptionalChannelSetupSurface;",
"exportName": "OptionalChannelSetupSurface",
"kind": "type",
"source": {
"line": 29,
"path": "src/plugin-sdk/channel-setup.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/channel-setup",
"source": {
"line": 1,
"path": "src/plugin-sdk/channel-setup.ts"
}
},
{
"category": "channel",
"entrypoint": "command-auth",
"exports": [
{
"declaration": "export function buildCommandsMessage(cfg?: OpenClawConfig | undefined, skillCommands?: SkillCommandSpec[] | undefined, options?: CommandsMessageOptions | undefined): string;",
"exportName": "buildCommandsMessage",
"kind": "function",
"source": {
"line": 1049,
"path": "src/auto-reply/status.ts"
}
},
{
"declaration": "export function buildCommandsMessagePaginated(cfg?: OpenClawConfig | undefined, skillCommands?: SkillCommandSpec[] | undefined, options?: CommandsMessageOptions | undefined): CommandsMessageResult;",
"exportName": "buildCommandsMessagePaginated",
"kind": "function",
"source": {
"line": 1058,
"path": "src/auto-reply/status.ts"
}
},
{
"declaration": "export function buildCommandsPaginationKeyboard(currentPage: number, totalPages: number, agentId?: string | undefined): { text: string; callback_data: string; }[][];",
"exportName": "buildCommandsPaginationKeyboard",
"kind": "function",
"source": {
"line": 175,
"path": "src/auto-reply/reply/commands-info.ts"
}
},
{
"declaration": "export function buildCommandText(commandName: string, args?: string | undefined): string;",
"exportName": "buildCommandText",
"kind": "function",
"source": {
"line": 199,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function buildCommandTextFromArgs(command: ChatCommandDefinition, args?: CommandArgs | undefined): string;",
"exportName": "buildCommandTextFromArgs",
"kind": "function",
"source": {
"line": 291,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function buildHelpMessage(cfg?: OpenClawConfig | undefined): string;",
"exportName": "buildHelpMessage",
"kind": "function",
"source": {
"line": 844,
"path": "src/auto-reply/status.ts"
}
},
{
"declaration": "export function buildModelsProviderData(cfg: OpenClawConfig, agentId?: string | undefined): Promise<ModelsProviderData>;",
"exportName": "buildModelsProviderData",
"kind": "function",
"source": {
"line": 37,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
{
"declaration": "export function createPreCryptoDirectDmAuthorizer(params: { resolveAccess: (senderId: string) => Promise<ResolvedInboundDirectDmAccess | Pick<ResolvedInboundDirectDmAccess, \"access\">>; issuePairingChallenge?: ((params: { ...; }) => Promise<...>) | undefined; onBlocked?: ((params: { ...; }) => void) | undefined; }): (input: { ...; }) => Promise<...>;",
"exportName": "createPreCryptoDirectDmAuthorizer",
"kind": "function",
"source": {
"line": 105,
"path": "src/plugin-sdk/direct-dm.ts"
}
},
{
"declaration": "export function findCommandByNativeName(name: string, provider?: string | undefined): ChatCommandDefinition | undefined;",
"exportName": "findCommandByNativeName",
"kind": "function",
"source": {
"line": 187,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function formatModelsAvailableHeader(params: { provider: string; total: number; cfg: OpenClawConfig; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): string;",
"exportName": "formatModelsAvailableHeader",
"kind": "function",
"source": {
"line": 204,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
{
"declaration": "export function getCommandDetection(_cfg?: OpenClawConfig | undefined): CommandDetection;",
"exportName": "getCommandDetection",
"kind": "function",
"source": {
"line": 440,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function hasControlCommand(text?: string | undefined, cfg?: OpenClawConfig | undefined, options?: CommandNormalizeOptions | undefined): boolean;",
"exportName": "hasControlCommand",
"kind": "function",
"source": {
"line": 10,
"path": "src/auto-reply/command-detection.ts"
}
},
{
"declaration": "export function hasInlineCommandTokens(text?: string | undefined): boolean;",
"exportName": "hasInlineCommandTokens",
"kind": "function",
"source": {
"line": 74,
"path": "src/auto-reply/command-detection.ts"
}
},
{
"declaration": "export function isCommandEnabled(cfg: OpenClawConfig, commandKey: string): boolean;",
"exportName": "isCommandEnabled",
"kind": "function",
"source": {
"line": 98,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function isCommandMessage(raw: string): boolean;",
"exportName": "isCommandMessage",
"kind": "function",
"source": {
"line": 435,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function isControlCommandMessage(text?: string | undefined, cfg?: OpenClawConfig | undefined, options?: CommandNormalizeOptions | undefined): boolean;",
"exportName": "isControlCommandMessage",
"kind": "function",
"source": {
"line": 48,
"path": "src/auto-reply/command-detection.ts"
}
},
{
"declaration": "export function isNativeCommandSurface(surface?: string | undefined): boolean;",
"exportName": "isNativeCommandSurface",
"kind": "function",
"source": {
"line": 521,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function listChatCommands(params?: { skillCommands?: SkillCommandSpec[] | undefined; } | undefined): ChatCommandDefinition[];",
"exportName": "listChatCommands",
"kind": "function",
"source": {
"line": 88,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function listChatCommandsForConfig(cfg: OpenClawConfig, params?: { skillCommands?: SkillCommandSpec[] | undefined; } | undefined): ChatCommandDefinition[];",
"exportName": "listChatCommandsForConfig",
"kind": "function",
"source": {
"line": 117,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function listNativeCommandSpecs(params?: { skillCommands?: SkillCommandSpec[] | undefined; provider?: string | undefined; } | undefined): NativeCommandSpec[];",
"exportName": "listNativeCommandSpecs",
"kind": "function",
"source": {
"line": 170,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function listNativeCommandSpecsForConfig(cfg: OpenClawConfig, params?: { skillCommands?: SkillCommandSpec[] | undefined; provider?: string | undefined; } | undefined): NativeCommandSpec[];",
"exportName": "listNativeCommandSpecsForConfig",
"kind": "function",
"source": {
"line": 180,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function listReservedChatSlashCommandNames(extraNames?: string[]): Set<string>;",
"exportName": "listReservedChatSlashCommandNames",
"kind": "function",
"source": {
"line": 4,
"path": "src/auto-reply/skill-commands-base.ts"
}
},
{
"declaration": "export function listSkillCommandsForAgents(params: { cfg: OpenClawConfig; agentIds?: string[] | undefined; }): SkillCommandSpec[];",
"exportName": "listSkillCommandsForAgents",
"kind": "function",
"source": {
"line": 46,
"path": "src/auto-reply/skill-commands.ts"
}
},
{
"declaration": "export function listSkillCommandsForWorkspace(params: { workspaceDir: string; cfg: OpenClawConfig; skillFilter?: string[] | undefined; }): SkillCommandSpec[];",
"exportName": "listSkillCommandsForWorkspace",
"kind": "function",
"source": {
"line": 17,
"path": "src/auto-reply/skill-commands.ts"
}
},
{
"declaration": "export function maybeResolveTextAlias(raw: string, cfg?: OpenClawConfig | undefined): string | null;",
"exportName": "maybeResolveTextAlias",
"kind": "function",
"source": {
"line": 473,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function normalizeCommandBody(raw: string, options?: CommandNormalizeOptions | undefined): string;",
"exportName": "normalizeCommandBody",
"kind": "function",
"source": {
"line": 384,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function parseCommandArgs(command: ChatCommandDefinition, raw?: string | undefined): CommandArgs | undefined;",
"exportName": "parseCommandArgs",
"kind": "function",
"source": {
"line": 254,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function resolveCommandArgChoices(params: { command: ChatCommandDefinition; arg: CommandArgDefinition; cfg?: OpenClawConfig | undefined; provider?: string | undefined; model?: string | undefined; }): ResolvedCommandArgChoice[];",
"exportName": "resolveCommandArgChoices",
"kind": "function",
"source": {
"line": 316,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function resolveCommandArgMenu(params: { command: ChatCommandDefinition; args?: CommandArgs | undefined; cfg?: OpenClawConfig | undefined; }): { arg: CommandArgDefinition; choices: ResolvedCommandArgChoice[]; title?: string | undefined; } | null;",
"exportName": "resolveCommandArgMenu",
"kind": "function",
"source": {
"line": 346,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function resolveCommandAuthorization(params: { ctx: MsgContext; cfg: OpenClawConfig; commandAuthorized: boolean; }): CommandAuthorization;",
"exportName": "resolveCommandAuthorization",
"kind": "function",
"source": {
"line": 461,
"path": "src/auto-reply/command-auth.ts"
}
},
{
"declaration": "export function resolveCommandAuthorizedFromAuthorizers(params: { useAccessGroups: boolean; authorizers: CommandAuthorizer[]; modeWhenAccessGroupsOff?: CommandGatingModeWhenAccessGroupsOff | undefined; }): boolean;",
"exportName": "resolveCommandAuthorizedFromAuthorizers",
"kind": "function",
"source": {
"line": 8,
"path": "src/channels/command-gating.ts"
}
},
{
"declaration": "export function resolveControlCommandGate(params: { useAccessGroups: boolean; authorizers: CommandAuthorizer[]; allowTextCommands: boolean; hasControlCommand: boolean; modeWhenAccessGroupsOff?: CommandGatingModeWhenAccessGroupsOff | undefined; }): { ...; };",
"exportName": "resolveControlCommandGate",
"kind": "function",
"source": {
"line": 31,
"path": "src/channels/command-gating.ts"
}
},
{
"declaration": "export function resolveDirectDmAuthorizationOutcome(params: { isGroup: boolean; dmPolicy: string; senderAllowedForCommands: boolean; }): \"disabled\" | \"unauthorized\" | \"allowed\";",
"exportName": "resolveDirectDmAuthorizationOutcome",
"kind": "function",
"source": {
"line": 120,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export function resolveDualTextControlCommandGate(params: { useAccessGroups: boolean; primaryConfigured: boolean; primaryAllowed: boolean; secondaryConfigured: boolean; secondaryAllowed: boolean; hasControlCommand: boolean; modeWhenAccessGroupsOff?: CommandGatingModeWhenAccessGroupsOff | undefined; }): { ...; };",
"exportName": "resolveDualTextControlCommandGate",
"kind": "function",
"source": {
"line": 47,
"path": "src/channels/command-gating.ts"
}
},
{
"declaration": "export function resolveInboundDirectDmAccessWithRuntime(params: { cfg: OpenClawConfig; channel: ChannelId; accountId: string; dmPolicy?: string | null | undefined; allowFrom?: (string | number)[] | null | undefined; senderId: string; ... 4 more ...; readStoreAllowFrom?: ((provider: ChannelId, accountId: string) => Promise<...>) | undefined; }): Promise<...>;",
"exportName": "resolveInboundDirectDmAccessWithRuntime",
"kind": "function",
"source": {
"line": 35,
"path": "src/plugin-sdk/direct-dm.ts"
}
},
{
"declaration": "export function resolveModelsCommandReply(params: { cfg: OpenClawConfig; commandBodyNormalized: string; surface?: string | undefined; currentModel?: string | undefined; agentId?: string | undefined; agentDir?: string | undefined; sessionEntry?: SessionEntry | undefined; }): Promise<...>;",
"exportName": "resolveModelsCommandReply",
"kind": "function",
"source": {
"line": 220,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
{
"declaration": "export function resolveNativeCommandSessionTargets(params: ResolveNativeCommandSessionTargetsParams): { sessionKey: string; commandTargetSessionKey: string; };",
"exportName": "resolveNativeCommandSessionTargets",
"kind": "function",
"source": {
"line": 10,
"path": "src/channels/native-command-session-targets.ts"
}
},
{
"declaration": "export function resolveSenderCommandAuthorization(params: ResolveSenderCommandAuthorizationParams): Promise<{ shouldComputeAuth: boolean; effectiveAllowFrom: string[]; effectiveGroupAllowFrom: string[]; senderAllowedForCommands: boolean; commandAuthorized: boolean | undefined; }>;",
"exportName": "resolveSenderCommandAuthorization",
"kind": "function",
"source": {
"line": 149,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export function resolveSenderCommandAuthorizationWithRuntime(params: ResolveSenderCommandAuthorizationWithRuntimeParams): Promise<{ shouldComputeAuth: boolean; effectiveAllowFrom: string[]; effectiveGroupAllowFrom: string[]; senderAllowedForCommands: boolean; commandAuthorized: boolean | undefined; }>;",
"exportName": "resolveSenderCommandAuthorizationWithRuntime",
"kind": "function",
"source": {
"line": 138,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export function resolveSkillCommandInvocation(params: { commandBodyNormalized: string; skillCommands: SkillCommandSpec[]; }): { command: SkillCommandSpec; args?: string | undefined; } | null;",
"exportName": "resolveSkillCommandInvocation",
"kind": "function",
"source": {
"line": 58,
"path": "src/auto-reply/skill-commands-base.ts"
}
},
{
"declaration": "export function resolveStoredModelOverride(params: { sessionEntry?: SessionEntry | undefined; sessionStore?: Record<string, SessionEntry> | undefined; sessionKey?: string | undefined; parentSessionKey?: string | undefined; }): StoredModelOverride | null;",
"exportName": "resolveStoredModelOverride",
"kind": "function",
"source": {
"line": 156,
"path": "src/auto-reply/reply/model-selection.ts"
}
},
{
"declaration": "export function resolveTextCommand(raw: string, cfg?: OpenClawConfig | undefined): { command: ChatCommandDefinition; args?: string | undefined; } | null;",
"exportName": "resolveTextCommand",
"kind": "function",
"source": {
"line": 494,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function serializeCommandArgs(command: ChatCommandDefinition, args?: CommandArgs | undefined): string | undefined;",
"exportName": "serializeCommandArgs",
"kind": "function",
"source": {
"line": 271,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export function shouldComputeCommandAuthorized(text?: string | undefined, cfg?: OpenClawConfig | undefined, options?: CommandNormalizeOptions | undefined): boolean;",
"exportName": "shouldComputeCommandAuthorized",
"kind": "function",
"source": {
"line": 82,
"path": "src/auto-reply/command-detection.ts"
}
},
{
"declaration": "export function shouldHandleTextCommands(params: ShouldHandleTextCommandsParams): boolean;",
"exportName": "shouldHandleTextCommands",
"kind": "function",
"source": {
"line": 528,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export type ChatCommandDefinition = ChatCommandDefinition;",
"exportName": "ChatCommandDefinition",
"kind": "type",
"source": {
"line": 53,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandArgChoiceContext = CommandArgChoiceContext;",
"exportName": "CommandArgChoiceContext",
"kind": "type",
"source": {
"line": 16,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandArgDefinition = CommandArgDefinition;",
"exportName": "CommandArgDefinition",
"kind": "type",
"source": {
"line": 28,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandArgMenuSpec = CommandArgMenuSpec;",
"exportName": "CommandArgMenuSpec",
"kind": "type",
"source": {
"line": 38,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandArgs = CommandArgs;",
"exportName": "CommandArgs",
"kind": "type",
"source": {
"line": 46,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandArgValues = CommandArgValues;",
"exportName": "CommandArgValues",
"kind": "type",
"source": {
"line": 44,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandAuthorization = CommandAuthorization;",
"exportName": "CommandAuthorization",
"kind": "type",
"source": {
"line": 13,
"path": "src/auto-reply/command-auth.ts"
}
},
{
"declaration": "export type CommandAuthorizationRuntime = CommandAuthorizationRuntime;",
"exportName": "CommandAuthorizationRuntime",
"kind": "type",
"source": {
"line": 104,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export type CommandAuthorizer = CommandAuthorizer;",
"exportName": "CommandAuthorizer",
"kind": "type",
"source": {
"line": 1,
"path": "src/channels/command-gating.ts"
}
},
{
"declaration": "export type CommandDetection = CommandDetection;",
"exportName": "CommandDetection",
"kind": "type",
"source": {
"line": 78,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandGatingModeWhenAccessGroupsOff = CommandGatingModeWhenAccessGroupsOff;",
"exportName": "CommandGatingModeWhenAccessGroupsOff",
"kind": "type",
"source": {
"line": 6,
"path": "src/channels/command-gating.ts"
}
},
{
"declaration": "export type CommandNormalizeOptions = CommandNormalizeOptions;",
"exportName": "CommandNormalizeOptions",
"kind": "type",
"source": {
"line": 74,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type CommandScope = CommandScope;",
"exportName": "CommandScope",
"kind": "type",
"source": {
"line": 3,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type DirectDmCommandAuthorizationRuntime = DirectDmCommandAuthorizationRuntime;",
"exportName": "DirectDmCommandAuthorizationRuntime",
"kind": "type",
"source": {
"line": 13,
"path": "src/plugin-sdk/direct-dm.ts"
}
},
{
"declaration": "export type ModelsProviderData = ModelsProviderData;",
"exportName": "ModelsProviderData",
"kind": "type",
"source": {
"line": 27,
"path": "src/auto-reply/reply/commands-models.ts"
}
},
{
"declaration": "export type NativeCommandSpec = NativeCommandSpec;",
"exportName": "NativeCommandSpec",
"kind": "type",
"source": {
"line": 67,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type ResolvedCommandArgChoice = ResolvedCommandArgChoice;",
"exportName": "ResolvedCommandArgChoice",
"kind": "type",
"source": {
"line": 314,
"path": "src/auto-reply/commands-registry.ts"
}
},
{
"declaration": "export type ResolvedInboundDirectDmAccess = ResolvedInboundDirectDmAccess;",
"exportName": "ResolvedInboundDirectDmAccess",
"kind": "type",
"source": {
"line": 22,
"path": "src/plugin-sdk/direct-dm.ts"
}
},
{
"declaration": "export type ResolveNativeCommandSessionTargetsParams = ResolveNativeCommandSessionTargetsParams;",
"exportName": "ResolveNativeCommandSessionTargetsParams",
"kind": "type",
"source": {
"line": 1,
"path": "src/channels/native-command-session-targets.ts"
}
},
{
"declaration": "export type ResolveSenderCommandAuthorizationParams = ResolveSenderCommandAuthorizationParams;",
"exportName": "ResolveSenderCommandAuthorizationParams",
"kind": "type",
"source": {
"line": 87,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export type ResolveSenderCommandAuthorizationWithRuntimeParams = ResolveSenderCommandAuthorizationWithRuntimeParams;",
"exportName": "ResolveSenderCommandAuthorizationWithRuntimeParams",
"kind": "type",
"source": {
"line": 112,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"declaration": "export type ShouldHandleTextCommandsParams = ShouldHandleTextCommandsParams;",
"exportName": "ShouldHandleTextCommandsParams",
"kind": "type",
"source": {
"line": 83,
"path": "src/auto-reply/commands-registry.types.ts"
}
},
{
"declaration": "export type StoredModelOverride = StoredModelOverride;",
"exportName": "StoredModelOverride",
"kind": "type",
"source": {
"line": 123,
"path": "src/auto-reply/reply/model-selection.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/command-auth",
"source": {
"line": 1,
"path": "src/plugin-sdk/command-auth.ts"
}
},
{
"category": "core",
"entrypoint": "core",
"exports": [
{
"declaration": "export function applyAccountNameToChannelSection(params: { cfg: OpenClawConfig; channelKey: string; accountId: string; name?: string | undefined; alwaysUseAccounts?: boolean | undefined; }): OpenClawConfig;",
"exportName": "applyAccountNameToChannelSection",
"kind": "function",
"source": {
"line": 34,
"path": "src/channels/plugins/setup-helpers.ts"
}
},
{
"declaration": "export function buildAgentSessionKey(params: { agentId: string; channel: string; accountId?: string | null | undefined; peer?: RoutePeer | null | undefined; dmScope?: \"main\" | \"per-peer\" | \"per-channel-peer\" | \"per-account-channel-peer\" | undefined; identityLinks?: Record<...> | undefined; }): string;",
"exportName": "buildAgentSessionKey",
"kind": "function",
"source": {
"line": 91,
"path": "src/routing/resolve-route.ts"
}
},
{
"declaration": "export function buildChannelConfigSchema(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, options?: BuildChannelConfigSchemaOptions | undefined): ChannelConfigSchema;",
"exportName": "buildChannelConfigSchema",
"kind": "function",
"source": {
"line": 75,
"path": "src/channels/plugins/config-schema.ts"
}
},
{
"declaration": "export function buildChannelOutboundSessionRoute(params: { cfg: OpenClawConfig; agentId: string; channel: string; accountId?: string | null | undefined; peer: { kind: \"direct\" | \"group\" | \"channel\"; id: string; }; chatType: \"direct\" | \"group\" | \"channel\"; from: string; to: string; threadId?: string | ... 1 more ... | undefined; }): ChannelOutboundSessionRoute;",
"exportName": "buildChannelOutboundSessionRoute",
"kind": "function",
"source": {
"line": 163,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function buildPluginConfigSchema(schema: ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>, options?: BuildPluginConfigSchemaOptions | undefined): OpenClawPluginConfigSchema;",
"exportName": "buildPluginConfigSchema",
"kind": "function",
"source": {
"line": 78,
"path": "src/plugins/config-schema.ts"
}
},
{
"declaration": "export function channelTargetSchema(options?: { description?: string | undefined; } | undefined): TString;",
"exportName": "channelTargetSchema",
"kind": "function",
"source": {
"line": 38,
"path": "src/agents/schema/typebox.ts"
}
},
{
"declaration": "export function channelTargetsSchema(options?: { description?: string | undefined; } | undefined): TArray<TString>;",
"exportName": "channelTargetsSchema",
"kind": "function",
"source": {
"line": 44,
"path": "src/agents/schema/typebox.ts"
}
},
{
"declaration": "export function clearAccountEntryFields<TAccountEntry extends object>(params: { accounts?: Record<string, TAccountEntry> | undefined; accountId: string; fields: string[]; isValueSet?: ((value: unknown) => boolean) | undefined; markClearedOnFieldPresence?: boolean | undefined; }): { ...; };",
"exportName": "clearAccountEntryFields",
"kind": "function",
"source": {
"line": 122,
"path": "src/channels/plugins/config-helpers.ts"
}
},
{
"declaration": "export function createChannelPluginBase<TResolvedAccount>(params: CreateChannelPluginBaseOptions<TResolvedAccount>): CreatedChannelPluginBase<TResolvedAccount>;",
"exportName": "createChannelPluginBase",
"kind": "function",
"source": {
"line": 447,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function createChatChannelPlugin<TResolvedAccount extends { accountId?: string | null; }, Probe = unknown, Audit = unknown>(params: { base: ChatChannelPluginBase<TResolvedAccount, Probe, Audit>; security?: ChannelSecurityAdapter<TResolvedAccount> | ChatChannelSecurityOptions<...> | undefined; pairing?: ChannelPairingAdapter | ... 1 more ... | undefined; threading?: ChannelThreadingAdapter | ... 1 more ... | undefined; outbound?: ChannelOutboundAdapter | ... 1 more ... | undefined; }): ChannelPlugin<...>;",
"exportName": "createChatChannelPlugin",
"kind": "function",
"source": {
"line": 424,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function defineChannelPluginEntry<TPlugin>({ id, name, description, plugin, configSchema, setRuntime, registerFull, }: DefineChannelPluginEntryOptions<TPlugin>): DefinedChannelPluginEntry<TPlugin>;",
"exportName": "defineChannelPluginEntry",
"kind": "function",
"source": {
"line": 251,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function definePluginEntry({ id, name, description, kind, configSchema, register, }: DefinePluginEntryOptions): DefinedPluginEntry;",
"exportName": "definePluginEntry",
"kind": "function",
"source": {
"line": 129,
"path": "src/plugin-sdk/plugin-entry.ts"
}
},
{
"declaration": "export function defineSetupPluginEntry<TPlugin>(plugin: TPlugin): { plugin: TPlugin; };",
"exportName": "defineSetupPluginEntry",
"kind": "function",
"source": {
"line": 287,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function delegateCompactionToRuntime(params: { sessionId: string; sessionKey?: string | undefined; sessionFile: string; tokenBudget?: number | undefined; force?: boolean | undefined; currentTokenCount?: number | undefined; compactionTarget?: \"budget\" | ... 1 more ... | undefined; customInstructions?: string | undefined; runtimeContext?: ContextEngineRuntimeContext | undefined; }): Promise<...>;",
"exportName": "delegateCompactionToRuntime",
"kind": "function",
"source": {
"line": 16,
"path": "src/context-engine/delegate.ts"
}
},
{
"declaration": "export function deleteAccountFromConfigSection(params: { cfg: OpenClawConfig; sectionKey: string; accountId: string; clearBaseFields?: string[] | undefined; }): OpenClawConfig;",
"exportName": "deleteAccountFromConfigSection",
"kind": "function",
"source": {
"line": 60,
"path": "src/channels/plugins/config-helpers.ts"
}
},
{
"declaration": "export function emptyPluginConfigSchema(): OpenClawPluginConfigSchema;",
"exportName": "emptyPluginConfigSchema",
"kind": "function",
"source": {
"line": 108,
"path": "src/plugins/config-schema.ts"
}
},
{
"declaration": "export function enqueueKeyedTask<T>(params: { tails: Map<string, Promise<void>>; key: string; task: () => Promise<T>; hooks?: KeyedAsyncQueueHooks | undefined; }): Promise<...>;",
"exportName": "enqueueKeyedTask",
"kind": "function",
"source": {
"line": 7,
"path": "src/plugin-sdk/keyed-async-queue.ts"
}
},
{
"declaration": "export function formatPairingApproveHint(channelId: string): string;",
"exportName": "formatPairingApproveHint",
"kind": "function",
"source": {
"line": 17,
"path": "src/channels/plugins/helpers.ts"
}
},
{
"declaration": "export function getChatChannelMeta(id: \"telegram\" | \"whatsapp\" | \"discord\" | \"irc\" | \"googlechat\" | \"slack\" | \"signal\" | \"imessage\" | \"line\"): ChannelMeta;",
"exportName": "getChatChannelMeta",
"kind": "function",
"source": {
"line": 155,
"path": "src/channels/registry.ts"
}
},
{
"declaration": "export function isSecretRef(value: unknown): value is SecretRef;",
"exportName": "isSecretRef",
"kind": "function",
"source": {
"line": 34,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export function loadSecretFileSync(filePath: string, label: string, options?: SecretFileReadOptions): SecretFileReadResult;",
"exportName": "loadSecretFileSync",
"kind": "function",
"source": {
"line": 29,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export function migrateBaseNameToDefaultAccount(params: { cfg: OpenClawConfig; channelKey: string; alwaysUseAccounts?: boolean | undefined; }): OpenClawConfig;",
"exportName": "migrateBaseNameToDefaultAccount",
"kind": "function",
"source": {
"line": 93,
"path": "src/channels/plugins/setup-helpers.ts"
}
},
{
"declaration": "export function normalizeAccountId(value: string | null | undefined): string;",
"exportName": "normalizeAccountId",
"kind": "function",
"source": {
"line": 34,
"path": "src/routing/account-id.ts"
}
},
{
"declaration": "export function normalizeAtHashSlug(raw?: string | null | undefined): string;",
"exportName": "normalizeAtHashSlug",
"kind": "function",
"source": {
"line": 19,
"path": "src/shared/string-normalization.ts"
}
},
{
"declaration": "export function normalizeHyphenSlug(raw?: string | null | undefined): string;",
"exportName": "normalizeHyphenSlug",
"kind": "function",
"source": {
"line": 9,
"path": "src/shared/string-normalization.ts"
}
},
{
"declaration": "export function optionalStringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TOptional<TUnsafe<T[number]>>;",
"exportName": "optionalStringEnum",
"kind": "function",
"source": {
"line": 31,
"path": "src/agents/schema/typebox.ts"
}
},
{
"declaration": "export function parseOptionalDelimitedEntries(value?: string | undefined): string[] | undefined;",
"exportName": "parseOptionalDelimitedEntries",
"kind": "function",
"source": {
"line": 23,
"path": "src/channels/plugins/helpers.ts"
}
},
{
"declaration": "export function readSecretFileSync(filePath: string, label: string, options?: SecretFileReadOptions): string;",
"exportName": "readSecretFileSync",
"kind": "function",
"source": {
"line": 118,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export function resolveGatewayBindUrl(params: { bind?: string | undefined; customBindHost?: string | undefined; scheme: \"ws\" | \"wss\"; port: number; pickTailnetHost: () => string | null; pickLanHost: () => string | null; }): GatewayBindUrlResult;",
"exportName": "resolveGatewayBindUrl",
"kind": "function",
"source": {
"line": 11,
"path": "src/shared/gateway-bind-url.ts"
}
},
{
"declaration": "export function resolveGatewayPort(cfg?: OpenClawConfig | undefined, env?: ProcessEnv): number;",
"exportName": "resolveGatewayPort",
"kind": "function",
"source": {
"line": 285,
"path": "src/config/paths.ts"
}
},
{
"declaration": "export function resolveTailnetHostWithRunner(runCommandWithTimeout?: TailscaleStatusCommandRunner | undefined): Promise<string | null>;",
"exportName": "resolveTailnetHostWithRunner",
"kind": "function",
"source": {
"line": 47,
"path": "src/shared/tailscale-status.ts"
}
},
{
"declaration": "export function resolveThreadSessionKeys(params: { baseSessionKey: string; threadId?: string | null | undefined; parentSessionKey?: string | undefined; useSuffix?: boolean | undefined; normalizeThreadId?: ((threadId: string) => string) | undefined; }): { ...; };",
"exportName": "resolveThreadSessionKeys",
"kind": "function",
"source": {
"line": 234,
"path": "src/routing/session-key.ts"
}
},
{
"declaration": "export function setAccountEnabledInConfigSection(params: { cfg: OpenClawConfig; sectionKey: string; accountId: string; enabled: boolean; allowTopLevel?: boolean | undefined; }): OpenClawConfig;",
"exportName": "setAccountEnabledInConfigSection",
"kind": "function",
"source": {
"line": 16,
"path": "src/channels/plugins/config-helpers.ts"
}
},
{
"declaration": "export function stringEnum<T extends readonly string[]>(values: T, options?: StringEnumOptions<T>): TUnsafe<T[number]>;",
"exportName": "stringEnum",
"kind": "function",
"source": {
"line": 15,
"path": "src/agents/schema/typebox.ts"
}
},
{
"declaration": "export function stripChannelTargetPrefix(raw: string, ...providers: string[]): string;",
"exportName": "stripChannelTargetPrefix",
"kind": "function",
"source": {
"line": 143,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function stripTargetKindPrefix(raw: string): string;",
"exportName": "stripTargetKindPrefix",
"kind": "function",
"source": {
"line": 155,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export function tryReadSecretFileSync(filePath: string | undefined, label: string, options?: SecretFileReadOptions): string | undefined;",
"exportName": "tryReadSecretFileSync",
"kind": "function",
"source": {
"line": 130,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export const DEFAULT_ACCOUNT_ID: \"default\";",
"exportName": "DEFAULT_ACCOUNT_ID",
"kind": "const",
"source": {
"line": 3,
"path": "src/routing/account-id.ts"
}
},
{
"declaration": "export const DEFAULT_SECRET_FILE_MAX_BYTES: number;",
"exportName": "DEFAULT_SECRET_FILE_MAX_BYTES",
"kind": "const",
"source": {
"line": 5,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export type AnyAgentTool = AnyAgentTool;",
"exportName": "AnyAgentTool",
"kind": "type",
"source": {
"line": 9,
"path": "src/agents/tools/common.ts"
}
},
{
"declaration": "export type ChannelConfigUiHint = ChannelConfigUiHint;",
"exportName": "ChannelConfigUiHint",
"kind": "type",
"source": {
"line": 37,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type ChannelMessageActionContext = ChannelMessageActionContext;",
"exportName": "ChannelMessageActionContext",
"kind": "type",
"source": {
"line": 482,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelMessagingAdapter = ChannelMessagingAdapter;",
"exportName": "ChannelMessagingAdapter",
"kind": "type",
"source": {
"line": 395,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelOutboundSessionRoute = ChannelOutboundSessionRoute;",
"exportName": "ChannelOutboundSessionRoute",
"kind": "type",
"source": {
"line": 309,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelOutboundSessionRouteParams = { cfg: OpenClawConfig; agentId: string; accountId?: string | null; target: string; resolvedTarget?: { to: string; kind: import(\"src/channels/plugins/types.core\").ChannelDirectoryEntryKind | \"channel\"; display?: string; source: \"normalized\" | \"directory\"; }; replyToId?: string | null; threadId?: string | number | null;};",
"exportName": "ChannelOutboundSessionRouteParams",
"kind": "type",
"source": {
"line": 138,
"path": "src/plugin-sdk/core.ts"
}
},
{
"declaration": "export type ChannelPlugin = ChannelPlugin<ResolvedAccount, Probe, Audit>;",
"exportName": "ChannelPlugin",
"kind": "type",
"source": {
"line": 76,
"path": "src/channels/plugins/types.plugin.ts"
}
},
{
"declaration": "export type GatewayBindUrlResult = GatewayBindUrlResult;",
"exportName": "GatewayBindUrlResult",
"kind": "type",
"source": {
"line": 1,
"path": "src/shared/gateway-bind-url.ts"
}
},
{
"declaration": "export type GatewayRequestHandlerOptions = GatewayRequestHandlerOptions;",
"exportName": "GatewayRequestHandlerOptions",
"kind": "type",
"source": {
"line": 114,
"path": "src/gateway/server-methods/types.ts"
}
},
{
"declaration": "export type MediaUnderstandingProviderPlugin = MediaUnderstandingProvider;",
"exportName": "MediaUnderstandingProviderPlugin",
"kind": "type",
"source": {
"line": 1105,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "OpenClawConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type OpenClawPluginApi = OpenClawPluginApi;",
"exportName": "OpenClawPluginApi",
"kind": "type",
"source": {
"line": 1496,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginCommandDefinition = OpenClawPluginCommandDefinition;",
"exportName": "OpenClawPluginCommandDefinition",
"kind": "type",
"source": {
"line": 1222,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginConfigSchema = OpenClawPluginConfigSchema;",
"exportName": "OpenClawPluginConfigSchema",
"kind": "type",
"source": {
"line": 99,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginDefinition = OpenClawPluginDefinition;",
"exportName": "OpenClawPluginDefinition",
"kind": "type",
"source": {
"line": 1478,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginService = OpenClawPluginService;",
"exportName": "OpenClawPluginService",
"kind": "type",
"source": {
"line": 1445,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginServiceContext = OpenClawPluginServiceContext;",
"exportName": "OpenClawPluginServiceContext",
"kind": "type",
"source": {
"line": 1437,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginToolContext = OpenClawPluginToolContext;",
"exportName": "OpenClawPluginToolContext",
"kind": "type",
"source": {
"line": 114,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginToolFactory = OpenClawPluginToolFactory;",
"exportName": "OpenClawPluginToolFactory",
"kind": "type",
"source": {
"line": 135,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginCommandContext = PluginCommandContext;",
"exportName": "PluginCommandContext",
"kind": "type",
"source": {
"line": 1120,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginInteractiveTelegramHandlerContext = PluginInteractiveTelegramHandlerContext;",
"exportName": "PluginInteractiveTelegramHandlerContext",
"kind": "type",
"source": {
"line": 1251,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginLogger = PluginLogger;",
"exportName": "PluginLogger",
"kind": "type",
"source": {
"line": 70,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginRuntime = PluginRuntime;",
"exportName": "PluginRuntime",
"kind": "type",
"source": {
"line": 54,
"path": "src/plugins/runtime/types.ts"
}
},
{
"declaration": "export type ProviderAugmentModelCatalogContext = ProviderAugmentModelCatalogContext;",
"exportName": "ProviderAugmentModelCatalogContext",
"kind": "type",
"source": {
"line": 657,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthContext = ProviderAuthContext;",
"exportName": "ProviderAuthContext",
"kind": "type",
"source": {
"line": 170,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthDoctorHintContext = ProviderAuthDoctorHintContext;",
"exportName": "ProviderAuthDoctorHintContext",
"kind": "type",
"source": {
"line": 461,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthMethod = ProviderAuthMethod;",
"exportName": "ProviderAuthMethod",
"kind": "type",
"source": {
"line": 248,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthMethodNonInteractiveContext = ProviderAuthMethodNonInteractiveContext;",
"exportName": "ProviderAuthMethodNonInteractiveContext",
"kind": "type",
"source": {
"line": 232,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthResult = ProviderAuthResult;",
"exportName": "ProviderAuthResult",
"kind": "type",
"source": {
"line": 155,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuildMissingAuthMessageContext = ProviderBuildMissingAuthMessageContext;",
"exportName": "ProviderBuildMissingAuthMessageContext",
"kind": "type",
"source": {
"line": 569,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuildUnknownModelHintContext = ProviderBuildUnknownModelHintContext;",
"exportName": "ProviderBuildUnknownModelHintContext",
"kind": "type",
"source": {
"line": 585,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuiltInModelSuppressionContext = ProviderBuiltInModelSuppressionContext;",
"exportName": "ProviderBuiltInModelSuppressionContext",
"kind": "type",
"source": {
"line": 601,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuiltInModelSuppressionResult = ProviderBuiltInModelSuppressionResult;",
"exportName": "ProviderBuiltInModelSuppressionResult",
"kind": "type",
"source": {
"line": 610,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCacheTtlEligibilityContext = ProviderCacheTtlEligibilityContext;",
"exportName": "ProviderCacheTtlEligibilityContext",
"kind": "type",
"source": {
"line": 557,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCatalogContext = ProviderCatalogContext;",
"exportName": "ProviderCatalogContext",
"kind": "type",
"source": {
"line": 269,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCatalogResult = ProviderCatalogResult;",
"exportName": "ProviderCatalogResult",
"kind": "type",
"source": {
"line": 292,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderDefaultThinkingPolicyContext = ProviderDefaultThinkingPolicyContext;",
"exportName": "ProviderDefaultThinkingPolicyContext",
"kind": "type",
"source": {
"line": 634,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderDiscoveryContext = ProviderCatalogContext;",
"exportName": "ProviderDiscoveryContext",
"kind": "type",
"source": {
"line": 673,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderFetchUsageSnapshotContext = ProviderFetchUsageSnapshotContext;",
"exportName": "ProviderFetchUsageSnapshotContext",
"kind": "type",
"source": {
"line": 442,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderModernModelPolicyContext = ProviderModernModelPolicyContext;",
"exportName": "ProviderModernModelPolicyContext",
"kind": "type",
"source": {
"line": 644,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderNormalizeResolvedModelContext = ProviderNormalizeResolvedModelContext;",
"exportName": "ProviderNormalizeResolvedModelContext",
"kind": "type",
"source": {
"line": 353,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPreparedRuntimeAuth = ProviderPreparedRuntimeAuth;",
"exportName": "ProviderPreparedRuntimeAuth",
"kind": "type",
"source": {
"line": 389,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareDynamicModelContext = ProviderResolveDynamicModelContext;",
"exportName": "ProviderPrepareDynamicModelContext",
"kind": "type",
"source": {
"line": 344,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareExtraParamsContext = ProviderPrepareExtraParamsContext;",
"exportName": "ProviderPrepareExtraParamsContext",
"kind": "type",
"source": {
"line": 475,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareRuntimeAuthContext = ProviderPrepareRuntimeAuthContext;",
"exportName": "ProviderPrepareRuntimeAuthContext",
"kind": "type",
"source": {
"line": 368,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolvedUsageAuth = ProviderResolvedUsageAuth;",
"exportName": "ProviderResolvedUsageAuth",
"kind": "type",
"source": {
"line": 429,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolveDynamicModelContext = ProviderResolveDynamicModelContext;",
"exportName": "ProviderResolveDynamicModelContext",
"kind": "type",
"source": {
"line": 327,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolveUsageAuthContext = ProviderResolveUsageAuthContext;",
"exportName": "ProviderResolveUsageAuthContext",
"kind": "type",
"source": {
"line": 410,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderRuntimeModel = ProviderRuntimeModel;",
"exportName": "ProviderRuntimeModel",
"kind": "type",
"source": {
"line": 310,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderThinkingPolicyContext = ProviderThinkingPolicyContext;",
"exportName": "ProviderThinkingPolicyContext",
"kind": "type",
"source": {
"line": 622,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderUsageSnapshot = ProviderUsageSnapshot;",
"exportName": "ProviderUsageSnapshot",
"kind": "type",
"source": {
"line": 7,
"path": "src/infra/provider-usage.types.ts"
}
},
{
"declaration": "export type ProviderWrapStreamFnContext = ProviderWrapStreamFnContext;",
"exportName": "ProviderWrapStreamFnContext",
"kind": "type",
"source": {
"line": 508,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type RoutePeer = RoutePeer;",
"exportName": "RoutePeer",
"kind": "type",
"source": {
"line": 21,
"path": "src/routing/resolve-route.ts"
}
},
{
"declaration": "export type RoutePeerKind = ChatType;",
"exportName": "RoutePeerKind",
"kind": "type",
"source": {
"line": 19,
"path": "src/routing/resolve-route.ts"
}
},
{
"declaration": "export type SecretFileReadOptions = SecretFileReadOptions;",
"exportName": "SecretFileReadOptions",
"kind": "type",
"source": {
"line": 7,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export type SecretFileReadResult = SecretFileReadResult;",
"exportName": "SecretFileReadResult",
"kind": "type",
"source": {
"line": 12,
"path": "src/infra/secret-file.ts"
}
},
{
"declaration": "export type SpeechProviderPlugin = SpeechProviderPlugin;",
"exportName": "SpeechProviderPlugin",
"kind": "type",
"source": {
"line": 1080,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type TailscaleStatusCommandResult = TailscaleStatusCommandResult;",
"exportName": "TailscaleStatusCommandResult",
"kind": "type",
"source": {
"line": 4,
"path": "src/shared/tailscale-status.ts"
}
},
{
"declaration": "export type TailscaleStatusCommandRunner = TailscaleStatusCommandRunner;",
"exportName": "TailscaleStatusCommandRunner",
"kind": "type",
"source": {
"line": 9,
"path": "src/shared/tailscale-status.ts"
}
},
{
"declaration": "export type UsageProviderId = UsageProviderId;",
"exportName": "UsageProviderId",
"kind": "type",
"source": {
"line": 20,
"path": "src/infra/provider-usage.types.ts"
}
},
{
"declaration": "export type UsageWindow = UsageWindow;",
"exportName": "UsageWindow",
"kind": "type",
"source": {
"line": 1,
"path": "src/infra/provider-usage.types.ts"
}
},
{
"declaration": "export class KeyedAsyncQueue",
"exportName": "KeyedAsyncQueue",
"kind": "class",
"source": {
"line": 34,
"path": "src/plugin-sdk/keyed-async-queue.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/core",
"source": {
"line": 1,
"path": "src/plugin-sdk/core.ts"
}
},
{
"category": "core",
"entrypoint": "plugin-entry",
"exports": [
{
"declaration": "export function definePluginEntry({ id, name, description, kind, configSchema, register, }: DefinePluginEntryOptions): DefinedPluginEntry;",
"exportName": "definePluginEntry",
"kind": "function",
"source": {
"line": 129,
"path": "src/plugin-sdk/plugin-entry.ts"
}
},
{
"declaration": "export function emptyPluginConfigSchema(): OpenClawPluginConfigSchema;",
"exportName": "emptyPluginConfigSchema",
"kind": "function",
"source": {
"line": 108,
"path": "src/plugins/config-schema.ts"
}
},
{
"declaration": "export type AnyAgentTool = AnyAgentTool;",
"exportName": "AnyAgentTool",
"kind": "type",
"source": {
"line": 9,
"path": "src/agents/tools/common.ts"
}
},
{
"declaration": "export type MediaUnderstandingProviderPlugin = MediaUnderstandingProvider;",
"exportName": "MediaUnderstandingProviderPlugin",
"kind": "type",
"source": {
"line": 1105,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "OpenClawConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type OpenClawPluginApi = OpenClawPluginApi;",
"exportName": "OpenClawPluginApi",
"kind": "type",
"source": {
"line": 1496,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginCommandDefinition = OpenClawPluginCommandDefinition;",
"exportName": "OpenClawPluginCommandDefinition",
"kind": "type",
"source": {
"line": 1222,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginConfigSchema = OpenClawPluginConfigSchema;",
"exportName": "OpenClawPluginConfigSchema",
"kind": "type",
"source": {
"line": 99,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginDefinition = OpenClawPluginDefinition;",
"exportName": "OpenClawPluginDefinition",
"kind": "type",
"source": {
"line": 1478,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginService = OpenClawPluginService;",
"exportName": "OpenClawPluginService",
"kind": "type",
"source": {
"line": 1445,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginServiceContext = OpenClawPluginServiceContext;",
"exportName": "OpenClawPluginServiceContext",
"kind": "type",
"source": {
"line": 1437,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginToolContext = OpenClawPluginToolContext;",
"exportName": "OpenClawPluginToolContext",
"kind": "type",
"source": {
"line": 114,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type OpenClawPluginToolFactory = OpenClawPluginToolFactory;",
"exportName": "OpenClawPluginToolFactory",
"kind": "type",
"source": {
"line": 135,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginCommandContext = PluginCommandContext;",
"exportName": "PluginCommandContext",
"kind": "type",
"source": {
"line": 1120,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginInteractiveTelegramHandlerContext = PluginInteractiveTelegramHandlerContext;",
"exportName": "PluginInteractiveTelegramHandlerContext",
"kind": "type",
"source": {
"line": 1251,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type PluginLogger = PluginLogger;",
"exportName": "PluginLogger",
"kind": "type",
"source": {
"line": 70,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAugmentModelCatalogContext = ProviderAugmentModelCatalogContext;",
"exportName": "ProviderAugmentModelCatalogContext",
"kind": "type",
"source": {
"line": 657,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthContext = ProviderAuthContext;",
"exportName": "ProviderAuthContext",
"kind": "type",
"source": {
"line": 170,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthDoctorHintContext = ProviderAuthDoctorHintContext;",
"exportName": "ProviderAuthDoctorHintContext",
"kind": "type",
"source": {
"line": 461,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthMethod = ProviderAuthMethod;",
"exportName": "ProviderAuthMethod",
"kind": "type",
"source": {
"line": 248,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthMethodNonInteractiveContext = ProviderAuthMethodNonInteractiveContext;",
"exportName": "ProviderAuthMethodNonInteractiveContext",
"kind": "type",
"source": {
"line": 232,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderAuthResult = ProviderAuthResult;",
"exportName": "ProviderAuthResult",
"kind": "type",
"source": {
"line": 155,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuildMissingAuthMessageContext = ProviderBuildMissingAuthMessageContext;",
"exportName": "ProviderBuildMissingAuthMessageContext",
"kind": "type",
"source": {
"line": 569,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuildUnknownModelHintContext = ProviderBuildUnknownModelHintContext;",
"exportName": "ProviderBuildUnknownModelHintContext",
"kind": "type",
"source": {
"line": 585,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuiltInModelSuppressionContext = ProviderBuiltInModelSuppressionContext;",
"exportName": "ProviderBuiltInModelSuppressionContext",
"kind": "type",
"source": {
"line": 601,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderBuiltInModelSuppressionResult = ProviderBuiltInModelSuppressionResult;",
"exportName": "ProviderBuiltInModelSuppressionResult",
"kind": "type",
"source": {
"line": 610,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCacheTtlEligibilityContext = ProviderCacheTtlEligibilityContext;",
"exportName": "ProviderCacheTtlEligibilityContext",
"kind": "type",
"source": {
"line": 557,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCatalogContext = ProviderCatalogContext;",
"exportName": "ProviderCatalogContext",
"kind": "type",
"source": {
"line": 269,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderCatalogResult = ProviderCatalogResult;",
"exportName": "ProviderCatalogResult",
"kind": "type",
"source": {
"line": 292,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderDefaultThinkingPolicyContext = ProviderDefaultThinkingPolicyContext;",
"exportName": "ProviderDefaultThinkingPolicyContext",
"kind": "type",
"source": {
"line": 634,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderDiscoveryContext = ProviderCatalogContext;",
"exportName": "ProviderDiscoveryContext",
"kind": "type",
"source": {
"line": 673,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderFetchUsageSnapshotContext = ProviderFetchUsageSnapshotContext;",
"exportName": "ProviderFetchUsageSnapshotContext",
"kind": "type",
"source": {
"line": 442,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderModernModelPolicyContext = ProviderModernModelPolicyContext;",
"exportName": "ProviderModernModelPolicyContext",
"kind": "type",
"source": {
"line": 644,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderNormalizeResolvedModelContext = ProviderNormalizeResolvedModelContext;",
"exportName": "ProviderNormalizeResolvedModelContext",
"kind": "type",
"source": {
"line": 353,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPreparedRuntimeAuth = ProviderPreparedRuntimeAuth;",
"exportName": "ProviderPreparedRuntimeAuth",
"kind": "type",
"source": {
"line": 389,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareDynamicModelContext = ProviderResolveDynamicModelContext;",
"exportName": "ProviderPrepareDynamicModelContext",
"kind": "type",
"source": {
"line": 344,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareExtraParamsContext = ProviderPrepareExtraParamsContext;",
"exportName": "ProviderPrepareExtraParamsContext",
"kind": "type",
"source": {
"line": 475,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderPrepareRuntimeAuthContext = ProviderPrepareRuntimeAuthContext;",
"exportName": "ProviderPrepareRuntimeAuthContext",
"kind": "type",
"source": {
"line": 368,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolvedUsageAuth = ProviderResolvedUsageAuth;",
"exportName": "ProviderResolvedUsageAuth",
"kind": "type",
"source": {
"line": 429,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolveDynamicModelContext = ProviderResolveDynamicModelContext;",
"exportName": "ProviderResolveDynamicModelContext",
"kind": "type",
"source": {
"line": 327,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderResolveUsageAuthContext = ProviderResolveUsageAuthContext;",
"exportName": "ProviderResolveUsageAuthContext",
"kind": "type",
"source": {
"line": 410,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderRuntimeModel = ProviderRuntimeModel;",
"exportName": "ProviderRuntimeModel",
"kind": "type",
"source": {
"line": 310,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderThinkingPolicyContext = ProviderThinkingPolicyContext;",
"exportName": "ProviderThinkingPolicyContext",
"kind": "type",
"source": {
"line": 622,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type ProviderWrapStreamFnContext = ProviderWrapStreamFnContext;",
"exportName": "ProviderWrapStreamFnContext",
"kind": "type",
"source": {
"line": 508,
"path": "src/plugins/types.ts"
}
},
{
"declaration": "export type SpeechProviderPlugin = SpeechProviderPlugin;",
"exportName": "SpeechProviderPlugin",
"kind": "type",
"source": {
"line": 1080,
"path": "src/plugins/types.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/plugin-entry",
"source": {
"line": 1,
"path": "src/plugin-sdk/plugin-entry.ts"
}
},
{
"category": "provider",
"entrypoint": "provider-onboard",
"exports": [
{
"declaration": "export function applyAgentDefaultModelPrimary(cfg: OpenClawConfig, primary: string): OpenClawConfig;",
"exportName": "applyAgentDefaultModelPrimary",
"kind": "function",
"source": {
"line": 76,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyOnboardAuthAgentModelsAndProviders(cfg: OpenClawConfig, params: { agentModels: Record<string, AgentModelEntryConfig>; providers: Record<string, ModelProviderConfig>; }): OpenClawConfig;",
"exportName": "applyOnboardAuthAgentModelsAndProviders",
"kind": "function",
"source": {
"line": 53,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithDefaultModel(cfg: OpenClawConfig, params: { agentModels: Record<string, AgentModelEntryConfig>; providerId: string; api: \"github-copilot\" | \"openai-completions\" | ... 5 more ... | \"ollama\"; baseUrl: string; defaultModel: ModelDefinitionConfig; defaultModelId?: string | undefined; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithDefaultModel",
"kind": "function",
"source": {
"line": 131,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithDefaultModelPreset(cfg: OpenClawConfig, params: { providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | \"openai-codex-responses\" | \"anthropic-messages\" | \"google-generative-ai\" | \"bedrock-converse-stream\" | \"ollama\"; ... 4 more ...; primaryModelRef?: string | undefined; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithDefaultModelPreset",
"kind": "function",
"source": {
"line": 152,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithDefaultModels(cfg: OpenClawConfig, params: { agentModels: Record<string, AgentModelEntryConfig>; providerId: string; api: \"github-copilot\" | \"openai-completions\" | ... 5 more ... | \"ollama\"; baseUrl: string; defaultModels: ModelDefinitionConfig[]; defaultModelId?: string | undefined; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithDefaultModels",
"kind": "function",
"source": {
"line": 96,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithDefaultModelsPreset(cfg: OpenClawConfig, params: { providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | \"openai-codex-responses\" | \"anthropic-messages\" | \"google-generative-ai\" | \"bedrock-converse-stream\" | \"ollama\"; ... 4 more ...; primaryModelRef?: string | undefined; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithDefaultModelsPreset",
"kind": "function",
"source": {
"line": 230,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithModelCatalog(cfg: OpenClawConfig, params: { agentModels: Record<string, AgentModelEntryConfig>; providerId: string; api: \"github-copilot\" | \"openai-completions\" | ... 5 more ... | \"ollama\"; baseUrl: string; catalogModels: ModelDefinitionConfig[]; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithModelCatalog",
"kind": "function",
"source": {
"line": 272,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function applyProviderConfigWithModelCatalogPreset(cfg: OpenClawConfig, params: { providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | \"openai-codex-responses\" | \"anthropic-messages\" | \"google-generative-ai\" | \"bedrock-converse-stream\" | \"ollama\"; baseUrl: string; catalogModels: ModelDefinitionConfig[]; aliases?: readonly AgentModelAliasEntry[] | undefined; primaryModelRef?: string | undefined; }): OpenClawConfig;",
"exportName": "applyProviderConfigWithModelCatalogPreset",
"kind": "function",
"source": {
"line": 304,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function createDefaultModelPresetAppliers<TArgs extends unknown[]>(params: { resolveParams: (cfg: OpenClawConfig, ...args: TArgs) => Omit<{ providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | ... 4 more ... | \"ollama\"; ... 4 more ...; primaryModelRef?: string | undefined; }, \"primaryModelRef\"> | null | undefined; primaryModelRef: string; }): ProviderOnboardPresetAppliers<...>;",
"exportName": "createDefaultModelPresetAppliers",
"kind": "function",
"source": {
"line": 213,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function createDefaultModelsPresetAppliers<TArgs extends unknown[]>(params: { resolveParams: (cfg: OpenClawConfig, ...args: TArgs) => Omit<{ providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | ... 4 more ... | \"ollama\"; ... 4 more ...; primaryModelRef?: string | undefined; }, \"primaryModelRef\"> | null | undefined; primaryModelRef: string; }): ProviderOnboardPresetAppliers<...>;",
"exportName": "createDefaultModelsPresetAppliers",
"kind": "function",
"source": {
"line": 255,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function createModelCatalogPresetAppliers<TArgs extends unknown[]>(params: { resolveParams: (cfg: OpenClawConfig, ...args: TArgs) => Omit<{ providerId: string; api: \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | ... 4 more ... | \"ollama\"; baseUrl: string; catalogModels: ModelDefinitionConfig[]; aliases?: readonly AgentModelAliasEntry[] | undefined; primaryModelRef?: string | undefined; }, \"primaryModelRef\"> | null | undefined; primaryModelRef: string; }): ProviderOnboardPresetAppliers<...>;",
"exportName": "createModelCatalogPresetAppliers",
"kind": "function",
"source": {
"line": 327,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export function ensureModelAllowlistEntry(params: { cfg: OpenClawConfig; modelRef: string; defaultProvider?: string | undefined; }): OpenClawConfig;",
"exportName": "ensureModelAllowlistEntry",
"kind": "function",
"source": {
"line": 5,
"path": "src/plugins/provider-model-allowlist.ts"
}
},
{
"declaration": "export function withAgentModelAliases(existing: Record<string, AgentModelEntryConfig> | undefined, aliases: readonly AgentModelAliasEntry[]): Record<string, AgentModelEntryConfig>;",
"exportName": "withAgentModelAliases",
"kind": "function",
"source": {
"line": 38,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export type AgentModelAliasEntry = AgentModelAliasEntry;",
"exportName": "AgentModelAliasEntry",
"kind": "type",
"source": {
"line": 21,
"path": "src/plugins/provider-onboarding-config.ts"
}
},
{
"declaration": "export type ModelApi = \"github-copilot\" | \"openai-completions\" | \"openai-responses\" | \"openai-codex-responses\" | \"anthropic-messages\" | \"google-generative-ai\" | \"bedrock-converse-stream\" | \"ollama\";",
"exportName": "ModelApi",
"kind": "type",
"source": {
"line": 15,
"path": "src/config/types.models.ts"
}
},
{
"declaration": "export type ModelDefinitionConfig = ModelDefinitionConfig;",
"exportName": "ModelDefinitionConfig",
"kind": "type",
"source": {
"line": 47,
"path": "src/config/types.models.ts"
}
},
{
"declaration": "export type ModelProviderConfig = ModelProviderConfig;",
"exportName": "ModelProviderConfig",
"kind": "type",
"source": {
"line": 65,
"path": "src/config/types.models.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "OpenClawConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type ProviderOnboardPresetAppliers = ProviderOnboardPresetAppliers<TArgs>;",
"exportName": "ProviderOnboardPresetAppliers",
"kind": "type",
"source": {
"line": 177,
"path": "src/plugins/provider-onboarding-config.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/provider-onboard",
"source": {
"line": 1,
"path": "src/plugin-sdk/provider-onboard.ts"
}
},
{
"category": "utilities",
"entrypoint": "reply-payload",
"exports": [
{
"declaration": "export function buildMediaPayload(mediaList: MediaPayloadInput[], opts?: { preserveMediaTypeCardinality?: boolean | undefined; } | undefined): MediaPayload;",
"exportName": "buildMediaPayload",
"kind": "function",
"source": {
"line": 15,
"path": "src/channels/plugins/media-payload.ts"
}
},
{
"declaration": "export function countOutboundMedia(payload: { mediaUrls?: string[] | undefined; mediaUrl?: string | undefined; }): number;",
"exportName": "countOutboundMedia",
"kind": "function",
"source": {
"line": 83,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function createNormalizedOutboundDeliverer(handler: (payload: OutboundReplyPayload) => Promise<void>): (payload: unknown) => Promise<void>;",
"exportName": "createNormalizedOutboundDeliverer",
"kind": "function",
"source": {
"line": 51,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function deliverFormattedTextWithAttachments(params: { payload: OutboundReplyPayload; send: (params: { text: string; replyToId?: string | undefined; }) => Promise<void>; }): Promise<boolean>;",
"exportName": "deliverFormattedTextWithAttachments",
"kind": "function",
"source": {
"line": 386,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function deliverTextOrMediaReply(params: { payload: OutboundReplyPayload; text: string; chunkText?: ((text: string) => readonly string[]) | undefined; sendText: (text: string) => Promise<void>; sendMedia: (payload: { ...; }) => Promise<...>; onMediaError?: ((params: { ...; }) => void | Promise<...>) | undefined; }): Promise<...>;",
"exportName": "deliverTextOrMediaReply",
"kind": "function",
"source": {
"line": 345,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function formatTextWithAttachmentLinks(text: string | undefined, mediaUrls: string[]): string;",
"exportName": "formatTextWithAttachmentLinks",
"kind": "function",
"source": {
"line": 286,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function hasOutboundMedia(payload: { mediaUrls?: string[] | undefined; mediaUrl?: string | undefined; }): boolean;",
"exportName": "hasOutboundMedia",
"kind": "function",
"source": {
"line": 88,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function hasOutboundReplyContent(payload: { text?: string | undefined; mediaUrls?: string[] | undefined; mediaUrl?: string | undefined; }, options?: { trimText?: boolean | undefined; } | undefined): boolean;",
"exportName": "hasOutboundReplyContent",
"kind": "function",
"source": {
"line": 99,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function hasOutboundText(payload: { text?: string | undefined; }, options?: { trim?: boolean | undefined; } | undefined): boolean;",
"exportName": "hasOutboundText",
"kind": "function",
"source": {
"line": 93,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function isNumericTargetId(raw: string): boolean;",
"exportName": "isNumericTargetId",
"kind": "function",
"source": {
"line": 277,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function normalizeOutboundReplyPayload(payload: Record<string, unknown>): OutboundReplyPayload;",
"exportName": "normalizeOutboundReplyPayload",
"kind": "function",
"source": {
"line": 31,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function resolveOutboundMediaUrls(payload: { mediaUrls?: string[] | undefined; mediaUrl?: string | undefined; }): string[];",
"exportName": "resolveOutboundMediaUrls",
"kind": "function",
"source": {
"line": 64,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function resolvePayloadMediaUrls(payload: ReplyPayload): string[];",
"exportName": "resolvePayloadMediaUrls",
"kind": "function",
"source": {
"line": 78,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function resolveSendableOutboundReplyParts(payload: { text?: string | undefined; mediaUrls?: string[] | undefined; mediaUrl?: string | undefined; }, options?: { text?: string | undefined; } | undefined): SendableOutboundReplyParts;",
"exportName": "resolveSendableOutboundReplyParts",
"kind": "function",
"source": {
"line": 107,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function resolveTextChunksWithFallback(text: string, chunks: readonly string[]): string[];",
"exportName": "resolveTextChunksWithFallback",
"kind": "function",
"source": {
"line": 131,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendMediaWithLeadingCaption(params: { mediaUrls: string[]; caption: string; send: (payload: { mediaUrl: string; caption?: string | undefined; }) => Promise<void>; onError?: ((params: { error: unknown; mediaUrl: string; caption?: string | undefined; index: number; isFirst: boolean; }) => void | Promise<...>) | undefined; }): Promise<...>;",
"exportName": "sendMediaWithLeadingCaption",
"kind": "function",
"source": {
"line": 307,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendPayloadMediaSequence<TResult>(params: { text: string; mediaUrls: readonly string[]; send: (input: { text: string; mediaUrl: string; index: number; isFirst: boolean; }) => Promise<TResult>; }): Promise<TResult | undefined>;",
"exportName": "sendPayloadMediaSequence",
"kind": "function",
"source": {
"line": 183,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendPayloadMediaSequenceAndFinalize<TMediaResult, TResult>(params: { text: string; mediaUrls: readonly string[]; send: (input: { text: string; mediaUrl: string; index: number; isFirst: boolean; }) => Promise<TMediaResult>; finalize: () => Promise<TResult>; }): Promise<...>;",
"exportName": "sendPayloadMediaSequenceAndFinalize",
"kind": "function",
"source": {
"line": 227,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendPayloadMediaSequenceOrFallback<TResult>(params: { text: string; mediaUrls: readonly string[]; send: (input: { text: string; mediaUrl: string; index: number; isFirst: boolean; }) => Promise<TResult>; fallbackResult: TResult; sendNoMedia?: (() => Promise<...>) | undefined; }): Promise<...>;",
"exportName": "sendPayloadMediaSequenceOrFallback",
"kind": "function",
"source": {
"line": 209,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendPayloadWithChunkedTextAndMedia<TContext extends { payload: object; }, TResult>(params: { ctx: TContext; textChunkLimit?: number | undefined; chunker?: ((text: string, limit: number) => string[]) | null | undefined; sendText: (ctx: TContext & { ...; }) => Promise<...>; sendMedia: (ctx: TContext & { ...; }) => Promise<...>; emptyResult: TResult; }): Promise<...>;",
"exportName": "sendPayloadWithChunkedTextAndMedia",
"kind": "function",
"source": {
"line": 142,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export function sendTextMediaPayload(params: { channel: string; ctx: ChannelOutboundPayloadContext; adapter: SendPayloadAdapter; }): Promise<OutboundDeliveryResult>;",
"exportName": "sendTextMediaPayload",
"kind": "function",
"source": {
"line": 244,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export type MediaPayload = MediaPayload;",
"exportName": "MediaPayload",
"kind": "type",
"source": {
"line": 6,
"path": "src/channels/plugins/media-payload.ts"
}
},
{
"declaration": "export type MediaPayloadInput = MediaPayloadInput;",
"exportName": "MediaPayloadInput",
"kind": "type",
"source": {
"line": 1,
"path": "src/channels/plugins/media-payload.ts"
}
},
{
"declaration": "export type OutboundReplyPayload = OutboundReplyPayload;",
"exportName": "OutboundReplyPayload",
"kind": "type",
"source": {
"line": 6,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"declaration": "export type SendableOutboundReplyParts = SendableOutboundReplyParts;",
"exportName": "SendableOutboundReplyParts",
"kind": "type",
"source": {
"line": 13,
"path": "src/plugin-sdk/reply-payload.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/reply-payload",
"source": {
"line": 1,
"path": "src/plugin-sdk/reply-payload.ts"
}
},
{
"category": "runtime",
"entrypoint": "runtime-store",
"exports": [
{
"declaration": "export function createPluginRuntimeStore<T>(errorMessage: string): { setRuntime: (next: T) => void; clearRuntime: () => void; tryGetRuntime: () => T | null; getRuntime: () => T; };",
"exportName": "createPluginRuntimeStore",
"kind": "function",
"source": {
"line": 4,
"path": "src/plugin-sdk/runtime-store.ts"
}
},
{
"declaration": "export type PluginRuntime = PluginRuntime;",
"exportName": "PluginRuntime",
"kind": "type",
"source": {
"line": 54,
"path": "src/plugins/runtime/types.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/runtime-store",
"source": {
"line": 1,
"path": "src/plugin-sdk/runtime-store.ts"
}
},
{
"category": "channel",
"entrypoint": "secret-input",
"exports": [
{
"declaration": "export function buildOptionalSecretInputSchema(): ZodOptional<ZodUnion<readonly [ZodString, ZodDiscriminatedUnion<[ZodObject<{ source: ZodLiteral<\"env\">; provider: ZodString; id: ZodString; }, $strip>, ZodObject<...>, ZodObject<...>], \"source\">]>>;",
"exportName": "buildOptionalSecretInputSchema",
"kind": "function",
"source": {
"line": 20,
"path": "src/plugin-sdk/secret-input.ts"
}
},
{
"declaration": "export function buildSecretInputArraySchema(): ZodArray<ZodUnion<readonly [ZodString, ZodDiscriminatedUnion<[ZodObject<{ source: ZodLiteral<\"env\">; provider: ZodString; id: ZodString; }, $strip>, ZodObject<...>, ZodObject<...>], \"source\">]>>;",
"exportName": "buildSecretInputArraySchema",
"kind": "function",
"source": {
"line": 25,
"path": "src/plugin-sdk/secret-input.ts"
}
},
{
"declaration": "export function buildSecretInputSchema(): ZodUnion<readonly [ZodString, ZodDiscriminatedUnion<[ZodObject<{ source: ZodLiteral<\"env\">; provider: ZodString; id: ZodString; }, $strip>, ZodObject<...>, ZodObject<...>], \"source\">]>;",
"exportName": "buildSecretInputSchema",
"kind": "function",
"source": {
"line": 11,
"path": "src/plugin-sdk/secret-input-schema.ts"
}
},
{
"declaration": "export function hasConfiguredSecretInput(value: unknown, defaults?: SecretDefaults | undefined): boolean;",
"exportName": "hasConfiguredSecretInput",
"kind": "function",
"source": {
"line": 106,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export function normalizeResolvedSecretInputString(params: { value: unknown; refValue?: unknown; defaults?: SecretDefaults | undefined; path: string; }): string | undefined;",
"exportName": "normalizeResolvedSecretInputString",
"kind": "function",
"source": {
"line": 144,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export function normalizeSecretInput(value: unknown): string;",
"exportName": "normalizeSecretInput",
"kind": "function",
"source": {
"line": 16,
"path": "src/utils/normalize-secret-input.ts"
}
},
{
"declaration": "export function normalizeSecretInputString(value: unknown): string | undefined;",
"exportName": "normalizeSecretInputString",
"kind": "function",
"source": {
"line": 113,
"path": "src/config/types.secrets.ts"
}
},
{
"declaration": "export type SecretInput = SecretInput;",
"exportName": "SecretInput",
"kind": "type",
"source": {
"line": 16,
"path": "src/config/types.secrets.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/secret-input",
"source": {
"line": 1,
"path": "src/plugin-sdk/secret-input.ts"
}
},
{
"category": "utilities",
"entrypoint": "testing",
"exports": [
{
"declaration": "export function createWindowsCmdShimFixture(params: { shimPath: string; scriptPath: string; shimLine: string; }): Promise<void>;",
"exportName": "createWindowsCmdShimFixture",
"kind": "function",
"source": {
"line": 16,
"path": "src/plugin-sdk/testing.ts"
}
},
{
"declaration": "export function installCommonResolveTargetErrorCases(params: { resolveTarget: ResolveTargetFn; implicitAllowFrom: string[]; }): void;",
"exportName": "installCommonResolveTargetErrorCases",
"kind": "function",
"source": {
"line": 42,
"path": "src/plugin-sdk/testing.ts"
}
},
{
"declaration": "export function removeAckReactionAfterReply(params: { removeAfterReply: boolean; ackReactionPromise: Promise<boolean> | null; ackReactionValue: string | null; remove: () => Promise<void>; onError?: ((err: unknown) => void) | undefined; }): void;",
"exportName": "removeAckReactionAfterReply",
"kind": "function",
"source": {
"line": 81,
"path": "src/channels/ack-reactions.ts"
}
},
{
"declaration": "export function shouldAckReaction(params: AckReactionGateParams): boolean;",
"exportName": "shouldAckReaction",
"kind": "function",
"source": {
"line": 16,
"path": "src/channels/ack-reactions.ts"
}
},
{
"declaration": "export type ChannelAccountSnapshot = ChannelAccountSnapshot;",
"exportName": "ChannelAccountSnapshot",
"kind": "type",
"source": {
"line": 144,
"path": "src/channels/plugins/types.core.ts"
}
},
{
"declaration": "export type ChannelGatewayContext = ChannelGatewayContext<ResolvedAccount>;",
"exportName": "ChannelGatewayContext",
"kind": "type",
"source": {
"line": 243,
"path": "src/channels/plugins/types.adapters.ts"
}
},
{
"declaration": "export type MockFn = MockFn<T>;",
"exportName": "MockFn",
"kind": "type",
"source": {
"line": 5,
"path": "src/test-utils/vitest-mock-fn.ts"
}
},
{
"declaration": "export type OpenClawConfig = OpenClawConfig;",
"exportName": "OpenClawConfig",
"kind": "type",
"source": {
"line": 32,
"path": "src/config/types.openclaw.ts"
}
},
{
"declaration": "export type PluginRuntime = PluginRuntime;",
"exportName": "PluginRuntime",
"kind": "type",
"source": {
"line": 54,
"path": "src/plugins/runtime/types.ts"
}
},
{
"declaration": "export type RuntimeEnv = RuntimeEnv;",
"exportName": "RuntimeEnv",
"kind": "type",
"source": {
"line": 4,
"path": "src/runtime.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/testing",
"source": {
"line": 1,
"path": "src/plugin-sdk/testing.ts"
}
},
{
"category": "channel",
"entrypoint": "webhook-ingress",
"exports": [
{
"declaration": "export function applyBasicWebhookRequestGuards(params: { req: IncomingMessage; res: ServerResponse<IncomingMessage>; allowMethods?: readonly string[] | undefined; rateLimiter?: FixedWindowRateLimiter | undefined; rateLimitKey?: string | undefined; nowMs?: number | undefined; requireJsonContentType?: boolean | undefined; }): boolean;",
"exportName": "applyBasicWebhookRequestGuards",
"kind": "function",
"source": {
"line": 148,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function beginWebhookRequestPipelineOrReject(params: { req: IncomingMessage; res: ServerResponse<IncomingMessage>; allowMethods?: readonly string[] | undefined; rateLimiter?: FixedWindowRateLimiter | undefined; ... 6 more ...; inFlightLimitMessage?: string | undefined; }): { ...; } | { ...; };",
"exportName": "beginWebhookRequestPipelineOrReject",
"kind": "function",
"source": {
"line": 189,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function createBoundedCounter(options: { maxTrackedKeys: number; ttlMs?: number | undefined; pruneIntervalMs?: number | undefined; }): BoundedCounter;",
"exportName": "createBoundedCounter",
"kind": "function",
"source": {
"line": 109,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export function createFixedWindowRateLimiter(options: { windowMs: number; maxRequests: number; maxTrackedKeys: number; pruneIntervalMs?: number | undefined; }): FixedWindowRateLimiter;",
"exportName": "createFixedWindowRateLimiter",
"kind": "function",
"source": {
"line": 52,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export function createWebhookAnomalyTracker(options?: { maxTrackedKeys?: number | undefined; ttlMs?: number | undefined; logEvery?: number | undefined; trackedStatusCodes?: readonly number[] | undefined; } | undefined): WebhookAnomalyTracker;",
"exportName": "createWebhookAnomalyTracker",
"kind": "function",
"source": {
"line": 167,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export function createWebhookInFlightLimiter(options?: { maxInFlightPerKey?: number | undefined; maxTrackedKeys?: number | undefined; } | undefined): WebhookInFlightLimiter;",
"exportName": "createWebhookInFlightLimiter",
"kind": "function",
"source": {
"line": 91,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function isJsonContentType(value: string | string[] | undefined): boolean;",
"exportName": "isJsonContentType",
"kind": "function",
"source": {
"line": 138,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function isRequestBodyLimitError(error: unknown, code?: RequestBodyLimitErrorCode | undefined): error is RequestBodyLimitError;",
"exportName": "isRequestBodyLimitError",
"kind": "function",
"source": {
"line": 47,
"path": "src/infra/http-body.ts"
}
},
{
"declaration": "export function normalizePluginHttpPath(path?: string | null | undefined, fallback?: string | null | undefined): string | null;",
"exportName": "normalizePluginHttpPath",
"kind": "function",
"source": {
"line": 1,
"path": "src/plugins/http-path.ts"
}
},
{
"declaration": "export function normalizeWebhookPath(raw: string): string;",
"exportName": "normalizeWebhookPath",
"kind": "function",
"source": {
"line": 2,
"path": "src/plugin-sdk/webhook-path.ts"
}
},
{
"declaration": "export function readJsonWebhookBodyOrReject(params: { req: IncomingMessage; res: ServerResponse<IncomingMessage>; maxBytes?: number | undefined; timeoutMs?: number | undefined; profile?: WebhookBodyReadProfile | undefined; emptyObjectOnEmpty?: boolean | undefined; invalidJsonMessage?: string | undefined; }): Promise<...>;",
"exportName": "readJsonWebhookBodyOrReject",
"kind": "function",
"source": {
"line": 275,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function readRequestBodyWithLimit(req: IncomingMessage, options: ReadRequestBodyOptions): Promise<string>;",
"exportName": "readRequestBodyWithLimit",
"kind": "function",
"source": {
"line": 122,
"path": "src/infra/http-body.ts"
}
},
{
"declaration": "export function readWebhookBodyOrReject(params: { req: IncomingMessage; res: ServerResponse<IncomingMessage>; maxBytes?: number | undefined; timeoutMs?: number | undefined; profile?: WebhookBodyReadProfile | undefined; invalidBodyMessage?: string | undefined; }): Promise<...>;",
"exportName": "readWebhookBodyOrReject",
"kind": "function",
"source": {
"line": 240,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export function registerPluginHttpRoute(params: { path?: string | null | undefined; fallbackPath?: string | null | undefined; handler: PluginHttpRouteHandler; auth: OpenClawPluginHttpRouteAuth; ... 6 more ...; registry?: PluginRegistry | undefined; }): () => void;",
"exportName": "registerPluginHttpRoute",
"kind": "function",
"source": {
"line": 12,
"path": "src/plugins/http-registry.ts"
}
},
{
"declaration": "export function registerWebhookTarget<T extends { path: string; }>(targetsByPath: Map<string, T[]>, target: T, opts?: RegisterWebhookTargetOptions<T> | undefined): RegisteredWebhookTarget<T>;",
"exportName": "registerWebhookTarget",
"kind": "function",
"source": {
"line": 61,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function registerWebhookTargetWithPluginRoute<T extends { path: string; }>(params: { targetsByPath: Map<string, T[]>; target: T; route: RegisterWebhookPluginRouteOptions; onLastPathTargetRemoved?: ((params: { ...; }) => void) | undefined; }): RegisteredWebhookTarget<...>;",
"exportName": "registerWebhookTargetWithPluginRoute",
"kind": "function",
"source": {
"line": 30,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function requestBodyErrorToText(code: RequestBodyLimitErrorCode): string;",
"exportName": "requestBodyErrorToText",
"kind": "function",
"source": {
"line": 60,
"path": "src/infra/http-body.ts"
}
},
{
"declaration": "export function resolveRequestClientIp(req?: IncomingMessage | undefined, trustedProxies?: string[] | undefined, allowRealIpFallback?: boolean): string | undefined;",
"exportName": "resolveRequestClientIp",
"kind": "function",
"source": {
"line": 186,
"path": "src/gateway/net.ts"
}
},
{
"declaration": "export function resolveSingleWebhookTarget<T>(targets: readonly T[], isMatch: (target: T) => boolean): WebhookTargetMatchResult<T>;",
"exportName": "resolveSingleWebhookTarget",
"kind": "function",
"source": {
"line": 193,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function resolveSingleWebhookTargetAsync<T>(targets: readonly T[], isMatch: (target: T) => Promise<boolean>): Promise<WebhookTargetMatchResult<T>>;",
"exportName": "resolveSingleWebhookTargetAsync",
"kind": "function",
"source": {
"line": 212,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function resolveWebhookPath(params: { webhookPath?: string | undefined; webhookUrl?: string | undefined; defaultPath?: string | null | undefined; }): string | null;",
"exportName": "resolveWebhookPath",
"kind": "function",
"source": {
"line": 15,
"path": "src/plugin-sdk/webhook-path.ts"
}
},
{
"declaration": "export function resolveWebhookTargets<T>(req: IncomingMessage, targetsByPath: Map<string, T[]>): { path: string; targets: T[]; } | null;",
"exportName": "resolveWebhookTargets",
"kind": "function",
"source": {
"line": 107,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function resolveWebhookTargetWithAuthOrReject<T>(params: { targets: readonly T[]; res: ServerResponse<IncomingMessage>; isMatch: (target: T) => boolean | Promise<boolean>; unauthorizedStatusCode?: number | undefined; unauthorizedMessage?: string | undefined; ambiguousStatusCode?: number | undefined; ambiguousMessage?: string | undefined; }): Promise<...>;",
"exportName": "resolveWebhookTargetWithAuthOrReject",
"kind": "function",
"source": {
"line": 231,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function resolveWebhookTargetWithAuthOrRejectSync<T>(params: { targets: readonly T[]; res: ServerResponse<IncomingMessage>; isMatch: (target: T) => boolean; unauthorizedStatusCode?: number | undefined; unauthorizedMessage?: string | undefined; ambiguousStatusCode?: number | undefined; ambiguousMessage?: string | undefined; }): T | null;",
"exportName": "resolveWebhookTargetWithAuthOrRejectSync",
"kind": "function",
"source": {
"line": 247,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export function withResolvedWebhookRequestPipeline<T>(params: { req: IncomingMessage; res: ServerResponse<IncomingMessage>; targetsByPath: Map<string, T[]>; allowMethods?: readonly string[] | undefined; ... 8 more ...; handle: (args: { ...; }) => boolean | ... 1 more ... | Promise<...>; }): Promise<...>;",
"exportName": "withResolvedWebhookRequestPipeline",
"kind": "function",
"source": {
"line": 121,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export const WEBHOOK_ANOMALY_COUNTER_DEFAULTS: Readonly<{ maxTrackedKeys: 4096; ttlMs: number; logEvery: 25; }>;",
"exportName": "WEBHOOK_ANOMALY_COUNTER_DEFAULTS",
"kind": "const",
"source": {
"line": 31,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export const WEBHOOK_ANOMALY_STATUS_CODES: readonly number[];",
"exportName": "WEBHOOK_ANOMALY_STATUS_CODES",
"kind": "const",
"source": {
"line": 37,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export const WEBHOOK_BODY_READ_DEFAULTS: Readonly<{ preAuth: { maxBytes: number; timeoutMs: number; }; postAuth: { maxBytes: number; timeoutMs: number; }; }>;",
"exportName": "WEBHOOK_BODY_READ_DEFAULTS",
"kind": "const",
"source": {
"line": 19,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export const WEBHOOK_IN_FLIGHT_DEFAULTS: Readonly<{ maxInFlightPerKey: 8; maxTrackedKeys: 4096; }>;",
"exportName": "WEBHOOK_IN_FLIGHT_DEFAULTS",
"kind": "const",
"source": {
"line": 30,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export const WEBHOOK_RATE_LIMIT_DEFAULTS: Readonly<{ windowMs: 60000; maxRequests: 120; maxTrackedKeys: 4096; }>;",
"exportName": "WEBHOOK_RATE_LIMIT_DEFAULTS",
"kind": "const",
"source": {
"line": 25,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export type BoundedCounter = BoundedCounter;",
"exportName": "BoundedCounter",
"kind": "type",
"source": {
"line": 19,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export type FixedWindowRateLimiter = FixedWindowRateLimiter;",
"exportName": "FixedWindowRateLimiter",
"kind": "type",
"source": {
"line": 13,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export type RegisteredWebhookTarget = RegisteredWebhookTarget<T>;",
"exportName": "RegisteredWebhookTarget",
"kind": "type",
"source": {
"line": 10,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export type RegisterWebhookPluginRouteOptions = RegisterWebhookPluginRouteOptions;",
"exportName": "RegisterWebhookPluginRouteOptions",
"kind": "type",
"source": {
"line": 24,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export type RegisterWebhookTargetOptions = RegisterWebhookTargetOptions<T>;",
"exportName": "RegisterWebhookTargetOptions",
"kind": "type",
"source": {
"line": 15,
"path": "src/plugin-sdk/webhook-targets.ts"
}
},
{
"declaration": "export type WebhookAnomalyTracker = WebhookAnomalyTracker;",
"exportName": "WebhookAnomalyTracker",
"kind": "type",
"source": {
"line": 39,
"path": "src/plugin-sdk/webhook-memory-guards.ts"
}
},
{
"declaration": "export type WebhookBodyReadProfile = WebhookBodyReadProfile;",
"exportName": "WebhookBodyReadProfile",
"kind": "type",
"source": {
"line": 11,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export type WebhookInFlightLimiter = WebhookInFlightLimiter;",
"exportName": "WebhookInFlightLimiter",
"kind": "type",
"source": {
"line": 35,
"path": "src/plugin-sdk/webhook-request-guards.ts"
}
},
{
"declaration": "export type WebhookTargetMatchResult = WebhookTargetMatchResult<T>;",
"exportName": "WebhookTargetMatchResult",
"kind": "type",
"source": {
"line": 170,
"path": "src/plugin-sdk/webhook-targets.ts"
}
}
],
"importSpecifier": "openclaw/plugin-sdk/webhook-ingress",
"source": {
"line": 1,
"path": "src/plugin-sdk/webhook-ingress.ts"
}
}
]
}